aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-08-19alpha: fix fpu.h usage in userspaceMike Frysinger1-0/+2
After commit ec2212088c42 ("Disintegrate asm/system.h for Alpha"), the fpu.h header which we install for userland started depending on special_insns.h which is not installed. However, fpu.h only uses that for __KERNEL__ code, so protect the inclusion the same way to avoid build breakage in glibc: /usr/include/asm/fpu.h:4:31: fatal error: asm/special_insns.h: No such file or directory Cc: [email protected] Reported-by: Matt Turner <[email protected]> Signed-off-by: Mike Frysinger <[email protected]> Signed-off-by: Michael Cree <[email protected]> Acked-by: Matt Turner <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-08-19alpha/mm/fault.c: Port OOM changes to do_page_faultKautuk Consul1-6/+30
Commit d065bd810b6d ("mm: retry page fault when blocking on disk transfer") and 37b23e0525d3 ("x86,mm: make pagefault killable") introduced changes into the x86 pagefault handler for making the page fault handler retryable as well as killable. These changes reduce the mmap_sem hold time, which is crucial during OOM killer invocation. Port these changes to ALPHA. Signed-off-by: Mohd. Faris <[email protected]> Signed-off-by: Kautuk Consul <[email protected]> Acked-by: Matt Turner <[email protected]> Signed-off-by: Michael Cree <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-08-19alpha: take kernel_execve() out of entry.SAl Viro3-53/+19
Signed-off-by: Al Viro <[email protected]> Signed-off-by: Michael Cree <[email protected]> Acked-by: Matt Turner <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-08-19alpha: take a bunch of syscalls into osf_sys.cAl Viro5-120/+54
New helper: current_thread_info(). Allows to do a bunch of odd syscalls in C. While we are at it, there had never been a reason to do osf_getpriority() in assembler. We also get "namespace"-aware (read: consistent with getuid(2), etc.) behaviour from getx?id() syscalls now. Signed-off-by: Al Viro <[email protected]> Signed-off-by: Michael Cree <[email protected]> Acked-by: Matt Turner <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-08-19alpha: Use new generic strncpy_from_user() and strnlen_user()Michael Cree9-994/+62
Similar to x86/sparc/powerpc implementations except: 1) we implement an extremely efficient has_zero()/find_zero() sequence with both prep_zero_mask() and create_zero_mask() no-operations. 2) Our output from prep_zero_mask() differs in that only the lowest eight bits are used to represent the zero bytes nevertheless it can be safely ORed with other similar masks from prep_zero_mask() and forms input to create_zero_mask(), the two fundamental properties prep_zero_mask() must satisfy. Tests on EV67 and EV68 CPUs revealed that the generic code is essentially as fast (to within 0.5% of CPU cycles) of the old Alpha specific code for large quadword-aligned strings, despite the 30% extra CPU instructions executed. In contrast, the generic code for unaligned strings is substantially slower (by more than a factor of 3) than the old Alpha specific code. Signed-off-by: Michael Cree <[email protected]> Acked-by: Matt Turner <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-08-19alpha: Wire up cross memory attach syscallsMichael Cree2-1/+5
Add sys_process_vm_readv and sys_process_vm_writev to Alpha. Signed-off-by: Michael Cree <[email protected]> Acked-by: Matt Turner <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-08-19alpha: Don't export SOCK_NONBLOCK to user space.Michael Cree1-0/+2
Currently we export SOCK_NONBLOCK to user space but that conflicts with the definition from glibc leading to compilation errors in user programs (e.g. see Debian bug #658460). The generic socket.h restricts the definition of SOCK_NONBLOCK to the kernel, as does the MIPS specific socket.h, so let's do the same on Alpha. Signed-off-by: Michael Cree <[email protected]> Acked-by: Matt Turner <[email protected]> Cc: [email protected] Signed-off-by: Linus Torvalds <[email protected]>
2012-08-18dyndbg: fix for SOH in logging messagesMarkus Trippelsdorf1-2/+2
commit af7f2158fde was done against master, and clashed with structured logging's change of KERN_LEVEL to SOH. Bisected and fixed by Markus Trippelsdorf. Reported-by: Markus Trippelsdorf <[email protected]> Signed-off-by: Jim Cromie <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Jason Baron <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-18Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-armLinus Torvalds12-34/+869
Pull ARM fixes from Russell King: "The largest thing in this set of changes is bringing back some of the ARMv3 code to fix a compile problem noticed on RiscPC, which we still support, even though we only support ARMv4 there. (The reason is that the system bus doesn't support ARMv4 half-word accesses, so we need the ARMv3 library code for this platform.) The rest are all quite minor fixes." * 'fixes' of git://git.linaro.org/people/rmk/linux-arm: ARM: 7490/1: Drop duplicate select for GENERIC_IRQ_PROBE ARM: Bring back ARMv3 IO and user access code ARM: 7489/1: errata: fix workaround for erratum #720789 on UP systems ARM: 7488/1: mm: use 5 bits for swapfile type encoding ARM: 7487/1: mm: avoid setting nG bit for user mappings that aren't present ARM: 7486/1: sched_clock: update epoch_cyc on resume ARM: 7484/1: Don't enable GENERIC_LOCKBREAK with ticket spinlocks ARM: 7483/1: vfp: only advertise VFPv4 in hwcaps if CONFIG_VFPv3 is enabled ARM: 7482/1: topology: fix section mismatch warning for init_cpu_topology
2012-08-18sections: Fix section conflicts in drivers/hwmonAndi Kleen2-2/+2
Signed-off-by: Andi Kleen <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2012-08-18Merge tag 'pm-for-3.6-rc3' of ↵Linus Torvalds3-10/+20
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management fixes from Rafael J. Wysocki: - Fixes for three obscure problems in the runtime PM core code found recently. - Two fixes for the new "coupled" cpuidle code from Colin Cross and Jon Medhurst. - intel_idle driver fix from Konrad Rzeszutek Wilk. * tag 'pm-for-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: intel_idle: Check cpu_idle_get_driver() for NULL before dereferencing it. cpuidle: Prevent null pointer dereference in cpuidle_coupled_cpu_notify cpuidle: coupled: fix sleeping while atomic in cpu notifier PM / Runtime: Check device PM QoS setting before "no callbacks" check PM / Runtime: Clear power.deferred_resume on success in rpm_suspend() PM / Runtime: Fix rpm_resume() return value for power.no_callbacks set
2012-08-18x32: Use compat shims for {g,s}etsockoptMike Frysinger1-2/+4
Some of the arguments to {g,s}etsockopt are passed in userland pointers. If we try to use the 64bit entry point, we end up sometimes failing. For example, dhcpcd doesn't run in x32: # dhcpcd eth0 dhcpcd[1979]: version 5.5.6 starting dhcpcd[1979]: eth0: broadcasting for a lease dhcpcd[1979]: eth0: open_socket: Invalid argument dhcpcd[1979]: eth0: send_raw_packet: Bad file descriptor The code in particular is getting back EINVAL when doing: struct sock_fprog pf; setsockopt(s, SOL_SOCKET, SO_ATTACH_FILTER, &pf, sizeof(pf)); Diving into the kernel code, we can see: include/linux/filter.h: struct sock_fprog { unsigned short len; struct sock_filter __user *filter; }; net/core/sock.c: case SO_ATTACH_FILTER: ret = -EINVAL; if (optlen == sizeof(struct sock_fprog)) { struct sock_fprog fprog; ret = -EFAULT; if (copy_from_user(&fprog, optval, sizeof(fprog))) break; ret = sk_attach_filter(&fprog, sk); } break; arch/x86/syscalls/syscall_64.tbl: 54 common setsockopt sys_setsockopt 55 common getsockopt sys_getsockopt So for x64, sizeof(sock_fprog) is 16 bytes. For x86/x32, it's 8 bytes. This comes down to the pointer being 32bit for x32, which means we need to do structure size translation. But since x32 comes in directly to sys_setsockopt, it doesn't get translated like x86. After changing the syscall table and rebuilding glibc with the new kernel headers, dhcp runs fine in an x32 userland. Oddly, it seems like Linus noted the same thing during the initial port, but I guess that was missed/lost along the way: https://lkml.org/lkml/2011/8/26/452 [ hpa: tagging for -stable since this is an ABI fix. ] Bugzilla: https://bugs.gentoo.org/423649 Reported-by: Mads <[email protected]> Signed-off-by: Mike Frysinger <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Cc: H. J. Lu <[email protected]> Cc: <[email protected]> v3.4..v3.5 Signed-off-by: H. Peter Anvin <[email protected]>
2012-08-18Merge branch 'vfs-fixes' of ↵Linus Torvalds3-5/+13
git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs Pull vfs fixes from Miklos Szeredi. This mainly fixes some confusion about whether the open 'mode' variable passed around should contain the full file type (S_IFREG etc) information or just the permission mode. In particular, the lack of proper file type information had confused fuse. * 'vfs-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: vfs: fix propagation of atomic_open create error on negative dentry fuse: check create mode in atomic open vfs: pass right create mode to may_o_create() vfs: atomic_open(): fix create mode usage vfs: canonicalize create mode in build_open_flags()
2012-08-17USB: CDC ACM: Fix NULL pointer dereferenceSven Schnelle1-1/+2
If a device specifies zero endpoints in its interface descriptor, the kernel oopses in acm_probe(). Even though that's clearly an invalid descriptor, we should test wether we have all endpoints. This is especially bad as this oops can be triggered by just plugging a USB device in. Signed-off-by: Sven Schnelle <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-17USB: emi62: remove __devinit* from the struct usb_device_id tableGreg Kroah-Hartman1-1/+1
This structure needs to always stick around, even if CONFIG_HOTPLUG is disabled, otherwise we can oops when trying to probe a device that was added after the structure is thrown away. Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. Reported-by: Fengguang Wu <[email protected]> Reported-by: Bjørn Mork <[email protected]> Cc: stable <[email protected]> CC: Paul Gortmaker <[email protected]> CC: Andrew Morton <[email protected]> CC: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-17USB: winbond: remove __devinit* from the struct usb_device_id tableGreg Kroah-Hartman1-1/+1
This structure needs to always stick around, even if CONFIG_HOTPLUG is disabled, otherwise we can oops when trying to probe a device that was added after the structure is thrown away. Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. Reported-by: Fengguang Wu <[email protected]> Reported-by: Bjørn Mork <[email protected]> Cc: stable <[email protected]> CC: Pavel Machek <[email protected]> CC: Paul Gortmaker <[email protected]> CC: "John W. Linville" <[email protected]> CC: Eliad Peller <[email protected]> CC: Devendra Naga <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-17USB: vt6656: remove __devinit* from the struct usb_device_id tableGreg Kroah-Hartman1-1/+1
This structure needs to always stick around, even if CONFIG_HOTPLUG is disabled, otherwise we can oops when trying to probe a device that was added after the structure is thrown away. Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. Reported-by: Fengguang Wu <[email protected]> Reported-by: Bjørn Mork <[email protected]> Cc: stable <[email protected]> CC: Forest Bond <[email protected]> CC: Marcos Paulo de Souza <[email protected]> CC: "David S. Miller" <[email protected]> CC: Jesper Juhl <[email protected]> CC: Jiri Pirko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-17USB: rtl8187: remove __devinit* from the struct usb_device_id tableGreg Kroah-Hartman1-1/+1
This structure needs to always stick around, even if CONFIG_HOTPLUG is disabled, otherwise we can oops when trying to probe a device that was added after the structure is thrown away. Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. Reported-by: Fengguang Wu <[email protected]> Reported-by: Bjørn Mork <[email protected]> Cc: stable <[email protected]> CC: Herton Ronaldo Krzesinski <[email protected]> CC: Hin-Tak Leung <[email protected]> CC: Larry Finger <[email protected]> CC: "John W. Linville" <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-17USB: p54usb: remove __devinit* from the struct usb_device_id tableGreg Kroah-Hartman1-1/+1
This structure needs to always stick around, even if CONFIG_HOTPLUG is disabled, otherwise we can oops when trying to probe a device that was added after the structure is thrown away. Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. Reported-by: Fengguang Wu <[email protected]> Reported-by: Bjørn Mork <[email protected]> Cc: stable <[email protected]> CC: Christian Lamparter <[email protected]> CC: "John W. Linville" <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-17USB: spca506: remove __devinit* from the struct usb_device_id tableGreg Kroah-Hartman1-1/+1
This structure needs to always stick around, even if CONFIG_HOTPLUG is disabled, otherwise we can oops when trying to probe a device that was added after the structure is thrown away. Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. Reported-by: Fengguang Wu <[email protected]> Reported-by: Bjørn Mork <[email protected]> Cc: stable <[email protected]> CC: Hans de Goede <[email protected]> CC: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-17USB: jl2005bcd: remove __devinit* from the struct usb_device_id tableGreg Kroah-Hartman1-1/+1
This structure needs to always stick around, even if CONFIG_HOTPLUG is disabled, otherwise we can oops when trying to probe a device that was added after the structure is thrown away. Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. Reported-by: Fengguang Wu <[email protected]> Reported-by: Bjørn Mork <[email protected]> Cc: stable <[email protected]> CC: Hans de Goede <[email protected]> CC: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-17USB: smsusb: remove __devinit* from the struct usb_device_id tableGreg Kroah-Hartman1-1/+1
This structure needs to always stick around, even if CONFIG_HOTPLUG is disabled, otherwise we can oops when trying to probe a device that was added after the structure is thrown away. Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. Reported-by: Fengguang Wu <[email protected]> Reported-by: Bjørn Mork <[email protected]> Cc: stable <[email protected]> CC: Mauro Carvalho Chehab <[email protected]> CC: Michael Krufky <[email protected]> CC: Paul Gortmaker <[email protected]> CC: Doron Cohen <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-17Merge tag 'md-3.6-fixes' of git://neil.brown.name/mdLinus Torvalds3-15/+26
Pull md fixes from NeilBrown: "2 fixes for md, tagged for -stable" * tag 'md-3.6-fixes' of git://neil.brown.name/md: md/raid10: fix problem with on-stack allocation of r10bio structure. md: Don't truncate size at 4TB for RAID0 and Linear
2012-08-18md/raid10: fix problem with on-stack allocation of r10bio structure.NeilBrown2-12/+20
A 'struct r10bio' has an array of per-copy information at the end. This array is declared with size [0] and r10bio_pool_alloc allocates enough extra space to store the per-copy information depending on the number of copies needed. So declaring a 'struct r10bio on the stack isn't going to work. It won't allocate enough space, and memory corruption will ensue. So in the two places where this is done, declare a sufficiently large structure and use that instead. The two call-sites of this bug were introduced in 3.4 and 3.5 so this is suitable for both those kernels. The patch will have to be modified for 3.4 as it only has one bug. Cc: [email protected] Reported-by: Ivan Vasilyev <[email protected]> Tested-by: Ivan Vasilyev <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2012-08-17spi/coldfire-qspi: Drop extra calls to spi_master_get in suspend/resume ↵Guenter Roeck1-2/+2
functions Suspend and resume functions call spi_master_get() without matching spi_master_put(). The extra references are unnecessary and cause subsequent module unload attempts to fail, so drop the calls. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-17spi: spi-coldfire-qspi: Drop extra spi_master_put in device remove functionGuenter Roeck1-1/+0
The call sequence spi_alloc_master/spi_register_master/spi_unregister_master is complete; it reduces the device reference count to zero, which and results in device memory being freed. The subsequent call to spi_master_put is unnecessary and results in an access to free memory. Drop it. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-17spi/pl022: fix spi-pl022 pm enable at probeMichel JAOUEN1-1/+0
amba drivers does not need to enable pm runtime at probe. amba_probe already enables pm runtime. This rids this warning in the ux500 boot log: ssp-pl022 ssp0: Unbalanced pm_runtime_enable! Signed-off-by: Michel JAOUEN <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-17ASoC: wm9712: Fix inverted capture volumeMark Brown1-1/+1
The capture volume increases with the register value so it shouldn't be flagged as inverted. Reported-by: Christoph Fritz <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-17ASoC: wm9712: Fix microphone source selectionMark Brown1-2/+17
Currently the microphone input source is not selectable as while there is a DAPM widget it's not connected to anything so it won't be properly instantiated. Add something more correct for the input structure to get things going, even though it's not hooked into the rest of the routing map and so won't actually achieve anything except allowing the relevant register bits to be written. Reported-by: Christop Fritz <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2012-08-17ASoC: wm5102: Remove DRC2Mark Brown1-16/+0
It will be removed from future device revisions. Signed-off-by: Mark Brown <[email protected]>
2012-08-17classmate-laptop: always call input_sync() after input_report_switch()Carlos Alberto Lopez Perez1-3/+9
Due to commit cdda911c34006f1089f3c87b1a1f31ab3a4722f2 evdev only becomes readable when the buffer contains an EV_SYN/SYN_REPORT event. So in order to read the tablet sensor data as it happens we need to ensure that we always call input_sync() after input_report_switch() Signed-off-by: Carlos Alberto Lopez Perez <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2012-08-17thinkpad-acpi: recognize latest V-Series using DMI_BIOS_VENDORManoj Iyer1-0/+7
In the latest V-series bios DMI_PRODUCT_VERSION does not contain the string Lenovo or Thinkpad, but is set to the model number, this causes the thinkpad_acpi module to fail to load. Recognize laptop as Lenovo using DMI_BIOS_VENDOR instead, which is set to Lenovo. Test on V490u ============= == After the patch == [ 1350.295757] thinkpad_acpi: ThinkPad ACPI Extras v0.24 [ 1350.295760] thinkpad_acpi: http://ibm-acpi.sf.net/ [ 1350.295761] thinkpad_acpi: ThinkPad BIOS H7ET21WW (1.00 ), EC unknown [ 1350.295763] thinkpad_acpi: Lenovo LENOVO, model LV5DXXX [ 1350.296086] thinkpad_acpi: detected a 8-level brightness capable ThinkPad [ 1350.296694] thinkpad_acpi: radio switch found; radios are enabled [ 1350.296703] thinkpad_acpi: possible tablet mode switch found; ThinkPad in laptop mode [ 1350.306466] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked [ 1350.307082] Registered led device: tpacpi::thinklight [ 1350.307215] Registered led device: tpacpi::power [ 1350.307255] Registered led device: tpacpi::standby [ 1350.307294] Registered led device: tpacpi::thinkvantage [ 1350.308160] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one [ 1350.308333] thinkpad_acpi: Console audio control enabled, mode: monitor (read only) [ 1350.312287] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input14 == Before the patch == sudo modprobe thinkpad_acpi FATAL: Error inserting thinkpad_acpi (/lib/modules/3.2.0-27-generic/kernel/drivers/platform/x86/thinkpad_acpi.ko): No such device Test on B485 ============= This patch was also test in a B485 where the thinkpad_acpi module does not have any issues loading. But, I tested it to make sure this patch does not break on already functioning models of Lenovo products. [13486.746359] thinkpad_acpi: ThinkPad ACPI Extras v0.24 [13486.746364] thinkpad_acpi: http://ibm-acpi.sf.net/ [13486.746368] thinkpad_acpi: ThinkPad BIOS HJET15WW(1.01), EC unknown [13486.746373] thinkpad_acpi: Lenovo Lenovo LB485, model 814TR01 [13486.747300] thinkpad_acpi: detected a 8-level brightness capable ThinkPad [13486.752435] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked [13486.752883] Registered led device: tpacpi::thinklight [13486.752915] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one [13486.753216] thinkpad_acpi: Console audio control enabled, mode: monitor (read only) [13486.757147] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input15 Signed-off-by: Manoj Iyer <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2012-08-17dell-laptop: Fixed typo in touchpad LED quirkAceLan Kao1-6/+6
Fixed the typo introduced from the below commit 5f1e88f dell-laptop: Add 6 machines to touchpad led quirk Reported-by: Carlos Alberto Lopez Perez <[email protected]> Signed-off-by: AceLan Kao <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2012-08-17vga_switcheroo: Don't require handler init callbackSeth Forshee2-7/+2
This callback is a no-op in nouveau, and the upcoming apple-gmux switcheroo support won't require it either. Rather than forcing drivers to stub it out, just make it optional and remove the callback from nouveau. Signed-off-by: Seth Forshee <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2012-08-17vga_switcheroo: Remove assumptions about registration/unregistration orderingSeth Forshee1-22/+36
vga_switcheroo assumes that the handler will be registered before the last client, otherwise switching will not be enabled. Likewise it's assumed that the handler will not be unregistered without at least one client also being unregistered, otherwise switching will remain enabled despite no longer having a handler. These assumptions cannot be enforced if the handler is in a separate driver from both clients, as with the gmux found in Apple laptops. Remove this assumption. Signed-off-by: Seth Forshee <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2012-08-17apple-gmux: Add display mux supportAndreas Heider1-0/+224
Add support for the gmux display muxing functionality and register a mux handler with vga_switcheroo. Signed-off-by: Andreas Heider <[email protected]> Signed-off-by: Seth Forshee <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2012-08-17apple-gmux: Fix kconfig dependenciesSeth Forshee1-1/+4
Fix the dependencies of apple-gmux to prevent it from being built-in when one or more of its dependencies is built as a module. Otherwise it can fail to build due to missing symbols. v2: Add dependency on ACPI to fix build failure when ACPI=n Reported-by: Arun Raghavan <[email protected]> Signed-off-by: Seth Forshee <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2012-08-17asus-wmi: record wlan status while controlled by userappAceLan Kao2-1/+21
If the user bit is set, that mean BIOS can't set and record the wlan status, it will report the value read from id ASUS_WMI_DEVID_WLAN_LED (0x00010012) while we query the wlan status by id ASUS_WMI_DEVID_WLAN (0x00010011) through WMI. So, we have to record wlan status in id ASUS_WMI_DEVID_WLAN_LED (0x00010012) while setting the wlan status through WMI. This is also the behavior that windows app will do. Quote from ASUS application engineer === When you call WMIMethod(DSTS, 0x00010011) to get WLAN status, it may return (1) 0x00050001 (On) (2) 0x00050000 (Off) (3) 0x00030001 (On) (4) 0x00030000 (Off) (5) 0x00000002 (Unknown) (1), (2) means that the model has hardware GPIO for WLAN, you can call WMIMethod(DEVS, 0x00010011, 1 or 0) to turn WLAN on/off. (3), (4) means that the model doesn’t have hardware GPIO, you need to use API or driver library to turn WLAN on/off, and call WMIMethod(DEVS, 0x00010012, 1 or 0) to set WLAN LED status. After you set WLAN LED status, you can see the WLAN status is changed with WMIMethod(DSTS, 0x00010011). Because the status is recorded lastly (ex: Windows), you can use it for synchronization. (5) means that the model doesn’t have WLAN device. WLAN is the ONLY special case with upper rule. For other device, like Bluetooth, you just need use WMIMethod(DSTS, 0x00010013) to get, and WMIMethod(DEVS, 0x00010013, 1 or 0) to set. === Signed-off-by: AceLan Kao <[email protected]> Signed-off-by: Matthew Garrett <[email protected]>
2012-08-17apple_gmux: Fix ACPI video unregisterMatthew Garrett1-2/+2
We were only calling acpi_video_unregister() if ACPI video support was built in, not if it was a module. Signed-off-by: Matthew Garrett <[email protected]>
2012-08-17apple_gmux: Add support for newer hardwareMatthew Garrett1-14/+165
New gmux devices have a different method for accessing the registers. Update the driver to cope. Incorporates feedback from Bernhard Froemel. Signed-off-by: Matthew Garrett <[email protected]> Cc: Bernhard Froemel <[email protected]> Cc: Seth Forshee <[email protected]>
2012-08-17gmux: Add generic write32 functionMatthew Garrett1-10/+13
Move the special-cased backlight update function to a generic gmux_write32 function. Signed-off-by: Matthew Garrett <[email protected]> Cc: Seth Forshee <[email protected]>
2012-08-17Merge tag 'rdma-for-linus' of ↵Linus Torvalds18-65/+130
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Pull infiniband/rdma fixes from Roland Dreier: "Grab bag of InfiniBand/RDMA fixes: - IPoIB fixes for regressions introduced by path database conversion - mlx4 fixes for bugs with large memory systems and regressions from SR-IOV patches - RDMA CM fix for passing bad event up to userspace - Other minor fixes" * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mlx4: Check iboe netdev pointer before dereferencing it mlx4_core: Clean up buddy bitmap allocation mlx4_core: Fix integer overflow issues around MTT table mlx4_core: Allow large mlx4_buddy bitmaps IB/srp: Fix a race condition IB/qib: Fix error return code in qib_init_7322_variables() IB: Fix typos in infiniband drivers IB/ipoib: Fix RCU pointer dereference of wrong object IB/ipoib: Add missing locking when CM object is deleted RDMA/ucma.c: Fix for events with wrong context on iWARP RDMA/ocrdma: Don't call vlan_dev_real_dev() for non-VLAN netdevs IB/mlx4: Fix possible deadlock on sm_lock spinlock
2012-08-17Merge tag 'tty-3.6-rc3' of ↵Linus Torvalds4-14/+24
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull TTY fixes from Greg Kroah-Hartman: "Here are 4 tiny patches, each fixing a serial driver problem that people have reported. Signed-off-by: Greg Kroah-Hartman <[email protected]>" * tag 'tty-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: pmac_zilog,kdb: Fix console poll hook to return instead of loop serial: mxs-auart: fix the wrong RTS hardware flow control serial: ifx6x60: fix paging fault on spi_register_driver serial: Change Kconfig entry for CLPS711X-target
2012-08-17intel_idle: Check cpu_idle_get_driver() for NULL before dereferencing it.Konrad Rzeszutek Wilk1-1/+2
If the machine is booted without any cpu_idle driver set (b/c disable_cpuidle() has been called) we should follow other users of cpu_idle API and check the return value for NULL before using it. Reported-and-tested-by: Mark van Dijk <[email protected]> Suggested-by: Jan Beulich <[email protected]> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2012-08-17cpuidle: Prevent null pointer dereference in cpuidle_coupled_cpu_notifyJon Medhurst (Tixy)1-1/+1
When a kernel is built to support multiple hardware types it's possible that CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is set but the hardware the kernel is run on doesn't support cpuidle and therefore doesn't load a driver for it. In this case, when the system is shut down, cpuidle_coupled_cpu_notify() gets called with cpuidle_devices set to NULL. There are quite possibly other circumstances where this situation can also occur and we should check for it. Signed-off-by: Jon Medhurst <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2012-08-17cpuidle: coupled: fix sleeping while atomic in cpu notifierColin Cross1-0/+12
The cpu hotplug notifier gets called in both atomic and non-atomic contexts, it is not always safe to lock a mutex. Filter out all events except the six necessary ones, which are all sleepable, before taking the mutex. Signed-off-by: Colin Cross <[email protected]> Reviewed-by: Srivatsa S. Bhat <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2012-08-17PM / Runtime: Check device PM QoS setting before "no callbacks" checkRafael J. Wysocki1-6/+2
If __dev_pm_qos_read_value(dev) returns a negative value, rpm_suspend() should return -EPERM for dev even if its power.no_callbacks flag is set. For this to happen, the device's power.no_callbacks flag has to be checked after the PM QoS check, so move the PM QoS check to rpm_check_suspend_allowed() (this will make it cover idle notifications as well as runtime suspend too). Signed-off-by: Rafael J. Wysocki <[email protected]> Acked-by: Alan Stern <[email protected]> Cc: [email protected]
2012-08-17PM / Runtime: Clear power.deferred_resume on success in rpm_suspend()Rafael J. Wysocki1-1/+1
The power.deferred_resume can only be set if the runtime PM status of device is RPM_SUSPENDING and it should be cleared after its status has been changed, regardless of whether or not the runtime suspend has been successful. However, it only is cleared on suspend failure, while it may remain set on successful suspend and is happily leaked to rpm_resume() executed in that case. That shouldn't happen, so if power.deferred_resume is set in rpm_suspend() after the status has been changed to RPM_SUSPENDED, clear it before calling rpm_resume(). Then, it doesn't need to be cleared before changing the status to RPM_SUSPENDING any more, because it's always cleared after the status has been changed to either RPM_SUSPENDED (on success) or RPM_ACTIVE (on failure). Signed-off-by: Rafael J. Wysocki <[email protected]> Acked-by: Alan Stern <[email protected]> Cc: [email protected]
2012-08-17PM / Runtime: Fix rpm_resume() return value for power.no_callbacks setRafael J. Wysocki1-1/+2
For devices whose power.no_callbacks flag is set, rpm_resume() should return 1 if the device's parent is already active, so that the callers of pm_runtime_get() don't think that they have to wait for the device to resume (asynchronously) in that case (the core won't queue up an asynchronous resume in that case, so there's nothing to wait for anyway). Modify the code accordingly (and make sure that an idle notification will be queued up on success, even if 1 is to be returned). Signed-off-by: Rafael J. Wysocki <[email protected]> Acked-by: Alan Stern <[email protected]> Cc: [email protected]
2012-08-17Merge tag 'staging-3.6-rc3' of ↵Linus Torvalds19-118/+150
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging fixes from Greg Kroah-Hartman: "Here are some staging driver fixes (and iio driver fixes, they get lumped in with the staging stuff due to dependancies) for your 3.6-rc3 tree. Nothing major, just a bunch of fixes that people have reported. Signed-off-by: Greg Kroah-Hartman <[email protected]>" * tag 'staging-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (26 commits) iio: lm3533-als: Fix build warnings staging:iio:ad7780: Mark channels as unsigned staging:iio:ad7192: Report offset and scale for temperature channel staging:iio:ad7192: Report channel offset staging:iio:ad7192: Mark channels as unsigned staging:iio:ad7192: Fix setting ACX staging:iio:ad7192: Add missing break in switch statement staging:iio:ad7793: Fix internal reference value staging:iio:ad7793: Follow new IIO naming spec staging:iio:ad7793: Fix temperature scale and offset staging:iio:ad7793: Report channel offset staging:iio:ad7793: Mark channels as unsigned staging:iio:ad7793: Add missing break in switch statement iio/adjd_s311: Fix potential memory leak in adjd_s311_update_scan_mode() iio: frequency: ADF4350: Fix potential reference div factor overflow. iio: staging: ad7298_ring: Fix maybe-uninitialized warning staging: comedi: usbduxfast: Declare MODULE_FIRMWARE usage staging: comedi: usbdux: Declare MODULE_FIRMWARE usage staging: comedi: usbduxsigma: Declare MODULE_FIRMWARE usage staging: csr: add INET dependancy ...