commit 502adf5778f4151dcba3f64dd6ed322151f3712c Merge: 3b6c550 c6db67c Author: Linus Torvalds Date: Tue Aug 24 12:21:49 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: watchdog: Don't throttle the watchdog tracing: Fix timer tracing commit 3b6c5507a69861e80c26f21d04601c674cbeec3d Merge: 8ca3eb0 9d0f4dc Author: Linus Torvalds Date: Tue Aug 24 12:21:02 2010 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: mutex: Improve the scalability of optimistic spinning commit 8ca3eb08097f6839b2206e2242db4179aee3cfb3 Author: Luck, Tony Date: Tue Aug 24 11:44:18 2010 -0700 guard page for stacks that grow upwards pa-risc and ia64 have stacks that grow upwards. Check that they do not run into other mappings. By making VM_GROWSUP 0x0 on architectures that do not ever use it, we can avoid some unpleasant #ifdefs in check_stack_guard_page(). Signed-off-by: Tony Luck Signed-off-by: Linus Torvalds commit 9559fcdbff4f93d29af04478bbc48294519424f5 Author: Jesse Barnes Date: Tue Aug 24 11:31:16 2010 -0700 drm/i915: fix vblank wait test condition When converting this to the new wait_for macro I inverted the wait condition, which causes all sorts of problems. So correct it to fix several failures caused by the bad wait (flickering, bad output detection, tearing, etc.). Reviewed-by: Chris Wilson Tested-by: Sitsofe Wheeler Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit f4e385ccfc10f44364101b126d1ac52b4c806f1d Merge: 32e2f63 050eef3 Author: Linus Torvalds Date: Tue Aug 24 10:43:08 2010 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] fix tlb flushing vs. concurrent /proc accesses [S390] s390: fix build error (sys_execve) commit 32e2f63bcc8903487975506d8db5931a8c4bbb1f Author: Jianwei Yang Date: Tue Aug 24 14:32:38 2010 +0100 intel_scu_ipc: fix IPC i2c write bug We should pass the data to the data register. Signed-off-by: Jianwei Yang Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a9728c9a31524ef927260096411ee85c8ee6b163 Author: Ossama Othman Date: Tue Aug 24 12:55:14 2010 +0100 rar: Fix off by one error It looks like there is an off-by-one error in one of your changes to drivers/staging/rar_register/rar_register.c: Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 577ba406e1cceac4776b095c83ee2896074a0327 Author: Ingo Molnar Date: Tue Aug 24 10:41:33 2010 +0200 V4L/DVB: mantis: Fix IR_CORE dependency This build bug triggers: drivers/built-in.o: In function `mantis_exit': (.text+0x377413): undefined reference to `ir_input_unregister' drivers/built-in.o: In function `mantis_input_init': (.text+0x3774ff): undefined reference to `__ir_input_register' If MANTIS_CORE is enabled but IR_CORE is not. Add the correct dependency. Signed-off-by: Ingo Molnar Acked-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 1a7c55368c7c8749aa9326c29a50e79a4eba5d26 Merge: bd45fe5 25edd69 Author: Linus Torvalds Date: Tue Aug 24 10:10:13 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Get rid of indirect p1275 PROM call buffer. sparc64: Fill a missing delay slot. sparc64: Make lock backoff really a NOP on UP builds. sparc64: simple microoptimizations for atomic functions sparc64: Make rwsems 64-bit. sparc64: Really fix atomic64_t interface types. commit 050eef364ad700590a605a0749f825cab4834b1e Author: Martin Schwidefsky Date: Tue Aug 24 09:26:21 2010 +0200 [S390] fix tlb flushing vs. concurrent /proc accesses The tlb flushing code uses the mm_users field of the mm_struct to decide if each page table entry needs to be flushed individually with IPTE or if a global flush for the mm_struct is sufficient after all page table updates have been done. The comment for mm_users says "How many users with user space?" but the /proc code increases mm_users after it found the process structure by pid without creating a new user process. Which makes mm_users useless for the decision between the two tlb flusing methods. The current code can be confused to not flush tlb entries by a concurrent access to /proc files if e.g. a fork is in progres. The solution for this problem is to make the tlb flushing logic independent from the mm_users field. Signed-off-by: Martin Schwidefsky commit bd45fe539f0e26ff8d76b4cb954195ab8a6467af Merge: e1f1f07 314b389 Author: Linus Torvalds Date: Tue Aug 24 00:26:34 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (25 commits) powerpc: Fix config dependency problem with MPIC_U3_HT_IRQS via-pmu: Add compat_pmu_ioctl powerpc: Wire up fanotify_init, fanotify_mark, prlimit64 syscalls powerpc/pci: Fix checking for child bridges in PCI code. powerpc: Fix typo in uImage target powerpc: Initialise paca->kstack before early_setup_secondary powerpc: Fix bogus it_blocksize in VIO iommu code powerpc: Inline ppc64_runlatch_off powerpc: Correct smt_enabled=X boot option for > 2 threads per core powerpc: Silence xics_migrate_irqs_away() during cpu offline powerpc: Silence __cpu_up() under normal operation powerpc: Re-enable preemption before cpu_die() powerpc/pci: Drop unnecessary null test powerpc/powermac: Drop unnecessary null test powerpc/powermac: Drop unnecessary of_node_put powerpc/kdump: Stop all other CPUs before running crash handlers powerpc/mm: Fix vsid_scrample typo powerpc: Use is_32bit_task() helper to test 32 bit binary powerpc: Export memstart_addr and kernstart_addr on ppc64 powerpc: Make rwsem use "long" type ... commit 7af048dc7639db5202c56fecf2346c310647a218 Author: Sebastian Ott Date: Tue Aug 24 09:26:20 2010 +0200 [S390] s390: fix build error (sys_execve) fix this build error: arch/s390/kernel/process.c:272: error: conflicting types for 'sys_execve' arch/s390/kernel/entry.h:45: error: previous declaration of 'sys_execve' was here make[1]: *** [arch/s390/kernel/process.o] Error 1 make: *** [arch/s390/kernel] Error 2 introduced by d7627467b7a8dd6944885290a03a07ceb28c10eb Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit e1f1f07334e73fbe53fd8432f57846d5a1b90b5a Merge: 472e449 d49824c Author: Linus Torvalds Date: Tue Aug 24 00:21:45 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: sep: remove driver Staging: batman-adv: Don't write in not allocated packet_buff Staging: batman-adv: Don't use net_dev after dev_put Staging: batman-adv: Create batman_if only on register event Staging: batman-adv: fix own mac address detection Staging: batman-adv: always reply batman icmp packets with primary mac Staging: batman-adv: fix batman icmp originating from secondary interface Staging: batman-adv: unify orig_hash_lock spinlock handling to avoid deadlocks Staging: batman-adv: Fix merge of linus tree Staging: spectra: removes unused functions Staging: spectra: initializa lblk variable Staging: spectra: removes unused variable Staging: spectra: remove duplicate GLOB_VERSION definition Staging: spectra: don't use locked_ioctl, fix build Staging: use new REQ_FLUSH flag, fix build breakage Staging: spectra: removes q->prepare_flush_fn, fix build breakage commit 472e449c1018a6ef81bc6e38ddfc1eaab9378ca6 Merge: 6d87f20 5d56356 Author: Linus Torvalds Date: Tue Aug 24 00:21:27 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: 68328serial: check return value of copy_*_user() instead of access_ok() synclink: add mutex_unlock() on error path rocket: add a mutex_unlock() ip2: return -EFAULT on copy_to_user errors ip2: remove unneeded NULL check serial: print early console device address in hex commit 6d87f207c04370681b9a710b8dbed0f567491e49 Merge: d20de76 f6e6e77 Author: Linus Torvalds Date: Tue Aug 24 00:21:02 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: kobject_uevent: fix typo in comments firmware_class: fix typo in error path kobject: Break the kobject namespace defs into their own header commit d20de763548f9948f4534fc816155d8ee48e1d35 Merge: d1b113b 70ddd47 Author: Linus Torvalds Date: Tue Aug 24 00:20:44 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (29 commits) ARM: imx: fix build failure concerning otg/ulpi USB: ftdi_sio: add product ID for Lenz LI-USB USB: adutux: fix misuse of return value of copy_to_user() USB: iowarrior: fix misuse of return value of copy_to_user() USB: xHCI: update ring dequeue pointer when process missed tds USB: xhci: Remove buggy assignment in next_trb() USB: ftdi_sio: Add ID for Ionics PlugComputer USB: serial: io_ti.c: don't return 0 if writing the download record failed USB: otg: twl4030: fix wrong assumption of starting state USB: gadget: Return -ENOMEM on memory allocation failure USB: gadget: fix composite kernel-doc warnings USB: ssu100: set tty_flags in ssu100_process_packet USB: ssu100: add disconnect function for ssu100 USB: serial: export symbol usb_serial_generic_disconnect USB: ssu100: rework logic for TIOCMIWAIT USB: ssu100: add register parameter to ssu100_setregister USB: ssu100: remove duplicate #defines in ssu100 USB: ssu100: refine process_packet in ssu100 USB: ssu100: add locking for port private data in ssu100 USB: r8a66597-udc: return -ENOMEM if kzalloc() fails ... commit 25edd6946a1d74e5e77813c2324a0908c68bcf9e Author: David S. Miller Date: Mon Aug 23 23:10:57 2010 -0700 sparc64: Get rid of indirect p1275 PROM call buffer. This is based upon a report by Meelis Roos showing that it's possible that we'll try to fetch a property that is 32K in size with some devices. With the current fixed 3K buffer we use for moving data in and out of the firmware during PROM calls, that simply won't work. In fact, it will scramble random kernel data during bootup. The reasoning behind the temporary buffer is entirely historical. It used to be the case that we had problems referencing dynamic kernel memory (including the stack) early in the boot process before we explicitly told the firwmare to switch us over to the kernel trap table. So what we did was always give the firmware buffers that were locked into the main kernel image. But we no longer have problems like that, so get rid of all of this indirect bounce buffering. Besides fixing Meelis's bug, this also makes the kernel data about 3K smaller. It was also discovered during these conversions that the implementation of prom_retain() was completely wrong, so that was fixed here as well. Currently that interface is not in use. Reported-by: Meelis Roos Tested-by: Meelis Roos Signed-off-by: David S. Miller commit 314b389b1795286400f109a25e9c2f02ab3b9b15 Author: Andreas Schwab Date: Mon Aug 23 07:36:41 2010 +0000 powerpc: Fix config dependency problem with MPIC_U3_HT_IRQS MPIC_U3_HT_IRQS is selected both by PPC_PMAC64 and PPC_MAPLE, but depends on PPC_MAPLE, so a PPC_PMAC64-only config gets this warning: warning: (PPC_PMAC64 && PPC_PMAC && POWER4 || PPC_MAPLE && PPC64 && PPC_BOOK3S) selects MPIC_U3_HT_IRQS which has unmet direct dependencies (PPC_MAPLE) Fix that by removing the dependency on PPC_MAPLE. Signed-off-by: Andreas Schwab Signed-off-by: Benjamin Herrenschmidt commit 4cc4587fb14bb04fbc68096cc3780b4e6aa88fe7 Author: Andreas Schwab Date: Sun Aug 22 06:23:17 2010 +0000 via-pmu: Add compat_pmu_ioctl The ioctls are actually compatible, but due to historical mistake the numbers differ between 32bit and 64bit. Signed-off-by: Andreas Schwab Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit bcc30d37582b3822ae24712e894379ccd8298e8f Author: Andreas Schwab Date: Thu Aug 19 05:15:37 2010 +0000 powerpc: Wire up fanotify_init, fanotify_mark, prlimit64 syscalls Signed-off-by: Andreas Schwab Signed-off-by: Benjamin Herrenschmidt commit 76ec01dbb70353928a9cee826502073ae928bbba Author: Grant Likely Date: Wed Aug 18 08:27:55 2010 +0000 powerpc/pci: Fix checking for child bridges in PCI code. pci_device_to_OF_node() can return null, and list_for_each_entry will never enter the loop when dev is NULL, so it looks like this test is a typo. Reported-by: Julia Lawall Signed-off-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit c686ecf5040d287a68d4fca7f1948472f556a6d3 Author: Anatolij Gustschin Date: Sun Aug 15 22:26:56 2010 +0000 powerpc: Fix typo in uImage target Commit e32e78c5ee8aadef020fbaecbe6fb741ed9029fd (powerpc: fix build with make 3.82) introduced a typo in uImage target and broke building uImage: make: *** No rule to make target `uImage'. Stop. Signed-off-by: Anatolij Gustschin Cc: stable Signed-off-by: Benjamin Herrenschmidt commit f761622e59433130bc33ad086ce219feee9eb961 Author: Matt Evans Date: Thu Aug 12 20:58:28 2010 +0000 powerpc: Initialise paca->kstack before early_setup_secondary As early setup calls down to slb_initialize(), we must have kstack initialised before checking "should we add a bolted SLB entry for our kstack?" Failing to do so means stack access requires an SLB miss exception to refill an entry dynamically, if the stack isn't accessible via SLB(0) (kernel text & static data). It's not always allowable to take such a miss, and intermittent crashes will result. Primary CPUs don't have this issue; an SLB entry is not bolted for their stack anyway (as that lives within SLB(0)). This patch therefore only affects the init of secondaries. Signed-off-by: Matt Evans Cc: stable Signed-off-by: Benjamin Herrenschmidt commit 7aa241fdcef2a1d6587fe4c390e9fdbfc767af28 Author: Anton Blanchard Date: Wed Aug 11 16:42:48 2010 +0000 powerpc: Fix bogus it_blocksize in VIO iommu code When looking at some issues with the virtual ethernet driver I noticed that TCE allocation was following a very strange pattern: address 00e9000 length 2048 address 0409000 length 2048 <----- address 0429000 length 2048 address 0449000 length 2048 address 0469000 length 2048 address 0489000 length 2048 address 04a9000 length 2048 address 04c9000 length 2048 address 04e9000 length 2048 address 4009000 length 2048 <----- address 4029000 length 2048 Huge unexplained gaps in what should be an empty TCE table. It turns out it_blocksize, the amount we want to align the next allocation to, was c0000000fe903b20. Completely bogus. Initialise it to something reasonable in the VIO IOMMU code, and use kzalloc everywhere to protect against this when we next add a non compulsary field to iommu code and forget to initialise it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 4138d65333fa8961714441ed40229ea8cbeaf7e5 Author: Anton Blanchard Date: Fri Aug 6 03:28:19 2010 +0000 powerpc: Inline ppc64_runlatch_off I'm sick of seeing ppc64_runlatch_off in our profiles, so inline it into the callers. To avoid a mess of circular includes I didn't add it as an inline function. Signed-off-by: Anton Blanchard Acked-by: Olof Johansson Signed-off-by: Benjamin Herrenschmidt commit 954e6da54b2f3a5e2634312db800bc1395c509ee Author: Nathan Fontenot Date: Thu Aug 5 07:42:11 2010 +0000 powerpc: Correct smt_enabled=X boot option for > 2 threads per core The 'smt_enabled=X' boot option does not handle values of X > 2. For Power 7 processors with smt modes of 0,1,2,3, and 4 this does not work. This patch allows the smt_enabled option to be set to any value limited to a max equal to the number of threads per core. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit 1afb56cf977ab41bff4fc6bf9e5864770b19b880 Author: Signed-off-by: Darren Hart Date: Wed Aug 4 18:28:35 2010 +0000 powerpc: Silence xics_migrate_irqs_away() during cpu offline All IRQs are migrated away from a CPU that is being offlined so the following messages suggest a problem when the system is behaving as designed: IRQ 262 affinity broken off cpu 1 IRQ 17 affinity broken off cpu 0 IRQ 18 affinity broken off cpu 0 IRQ 19 affinity broken off cpu 0 IRQ 256 affinity broken off cpu 0 IRQ 261 affinity broken off cpu 0 IRQ 262 affinity broken off cpu 0 Don't print these messages when the CPU is not online. Signed-off-by: Darren Hart Acked-by: Will Schmidt Cc: Thomas Gleixner Cc: Nathan Fontenot Cc: Robert Jennings Cc: Brian King Signed-off-by: Benjamin Herrenschmidt commit 6685a477494ceb063c10300891e48895bb1843c9 Author: Signed-off-by: Darren Hart Date: Wed Aug 4 18:28:34 2010 +0000 powerpc: Silence __cpu_up() under normal operation During CPU offline/online tests __cpu_up would flood the logs with the following message: Processor 0 found. This provides no useful information to the user as there is no context provided, and since the operation was a success (to this point) it is expected that the CPU will come back online, providing all the feedback necessary. Change the "Processor found" message to DBG() similar to other such messages in the same function. Also, add an appropriate log level for the "Processor is stuck" message. Signed-off-by: Darren Hart Acked-by: Will Schmidt Cc: Thomas Gleixner Cc: Nathan Fontenot Cc: Robert Jennings Cc: Brian King Signed-off-by: Benjamin Herrenschmidt commit a7c2bb8279d20d853e43c34584eaf2b039de8026 Author: Signed-off-by: Darren Hart Date: Wed Aug 4 18:28:33 2010 +0000 powerpc: Re-enable preemption before cpu_die() start_secondary() is called shortly after _start and also via cpu_idle()->cpu_die()->pseries_mach_cpu_die() start_secondary() expects a preempt_count() of 0. pseries_mach_cpu_die() is called via the cpu_idle() routine with preemption disabled, resulting in the following repeating message during rapid cpu offline/online tests with CONFIG_PREEMPT=y: BUG: scheduling while atomic: swapper/0/0x00000002 Modules linked in: autofs4 binfmt_misc dm_mirror dm_region_hash dm_log [last unloaded: scsi_wait_scan] Call Trace: [c00000010e7079c0] [c0000000000133ec] .show_stack+0xd8/0x218 (unreliable) [c00000010e707aa0] [c0000000006a47f0] .dump_stack+0x28/0x3c [c00000010e707b20] [c00000000006e7a4] .__schedule_bug+0x7c/0x9c [c00000010e707bb0] [c000000000699d9c] .schedule+0x104/0x800 [c00000010e707cd0] [c000000000015b24] .cpu_idle+0x1c4/0x1d8 [c00000010e707d70] [c0000000006aa1b4] .start_secondary+0x398/0x3d4 [c00000010e707e30] [c000000000008278] .start_secondary_resume+0x10/0x14 Move the cpu_die() call inside the existing preemption enabled block of cpu_idle(). This is safe as the idle task is affined to a single CPU so the debug_smp_processor_id() tests (from cpu_should_die()) won't trigger as we are in a "migration disabled" region. Signed-off-by: Darren Hart Acked-by: Will Schmidt Cc: Thomas Gleixner Cc: Nathan Fontenot Cc: Robert Jennings Cc: Brian King Signed-off-by: Benjamin Herrenschmidt commit da9bef6735d3c5c1c0cd16717acee18d56dd59f5 Author: Julia Lawall Date: Tue Aug 3 11:35:17 2010 +0000 powerpc/pci: Drop unnecessary null test list_for_each_entry binds its first argument to a non-null value, and thus any null test on the value of that argument is superfluous. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ iterator I; expression x,E,E1,E2; statement S,S1,S2; @@ I(x,...) { <... - if (x != NULL || ...) S ...> } // Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit 5fba610ec94a1290fc299ea051e47d55da9059ba Author: Julia Lawall Date: Tue Aug 3 11:33:43 2010 +0000 powerpc/powermac: Drop unnecessary null test for_each_node_by_name binds its first argument to a non-null value, and thus any null test on the value of that argument is superfluous. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ iterator I; expression x,E; @@ I(x,...) { <... ( - (x != NULL) && E ...> } // Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit d1efa2a7551a10006055e0ac2870b4b6077df8ef Author: Julia Lawall Date: Tue Aug 3 09:50:32 2010 +0000 powerpc/powermac: Drop unnecessary of_node_put for_each_node_by_name only exits when its first argument is NULL, and a subsequent call to of_node_put on that argument is unnecessary. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ iterator name for_each_node_by_name; expression np,E; identifier l; @@ for_each_node_by_name(np,...) { ... when != break; when != goto l; } ... when != np = E - of_node_put(np); // Signed-off-by: Julia Lawall Reviewed-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 249ec2287579d578ea72593dc3b30a00121c4075 Author: Anton Blanchard Date: Mon Aug 2 20:39:41 2010 +0000 powerpc/kdump: Stop all other CPUs before running crash handlers During kdump we run the crash handlers first then stop all other CPUs. We really want to stop all CPUs as close to the fail as possible and also have a very controlled environment for running the crash handlers, so it makes sense to reverse the order. Signed-off-by: Anton Blanchard Acked-by: Matt Evans Signed-off-by: Benjamin Herrenschmidt commit 3469270807ffde921ad36f90d7b8c8e095d3e4e8 Author: Anton Blanchard Date: Mon Aug 2 20:35:18 2010 +0000 powerpc/mm: Fix vsid_scrample typo The code is wrapped in an #if 0, but it's wrong so we may as well fix it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 9904b00593f548156962764f67b1bb23f4da56fc Author: Denis Kirjanov Date: Thu Jul 29 22:04:39 2010 +0000 powerpc: Use is_32bit_task() helper to test 32 bit binary Use is_32bit_task() helper to test 32 bit binary. Signed-off-by: Denis Kirjanov Signed-off-by: Benjamin Herrenschmidt commit 79c3095fb39964d0d44368cbbb4eff5b52c43d2c Author: Sonny Rao Date: Thu Aug 19 18:08:09 2010 +0000 powerpc: Export memstart_addr and kernstart_addr on ppc64 Some modules (like eHCA) want to map all of kernel memory, for this to work with a relocated kernel, we need to export kernstart_addr so modules can use PHYSICAL_START and memstart_addr so they could use MEMORY_START. Note that the 32bit code already exports these symbols. Signed-off-By: Sonny Rao Signed-off-by: Benjamin Herrenschmidt commit 529b7307d804f649839b5b65b303442140266d26 Author: Benjamin Herrenschmidt Date: Tue Aug 24 14:41:48 2010 +1000 powerpc: Make rwsem use "long" type This makes the 64-bit kernel use 64-bit signed integers for the counter (effectively supporting 32-bit of active count in the semaphore), thus avoiding things like overflow of the mmap_sem if you use a really crazy number of threads Note: Ideally the type in the structure should be atomic_long_t rather than "long". However, there's some nasty issues with that. It needs to be initialized statically -and- lib/rwsem.c does things like sem->count = RWSEM_UNLOCKED_VALUE; Now, if you mix in the fact that atomic_* types are actually structures with one member and note typedefs of a scalar, it makes its really nasty. So I stuck to what we did before using a long and casts for now. Signed-off-by: Benjamin Herrenschmidt commit b1515af2911c4339ed34865a0594f4ad3392921a Merge: d1b113b 32412aa Author: Benjamin Herrenschmidt Date: Tue Aug 24 14:36:45 2010 +1000 Merge remote branch 'jwb/merge' into merge commit 70ddd47f7d56f17b40f78d21d6f653c84617e450 Author: Uwe Kleine-König Date: Fri Aug 13 14:06:50 2010 +0200 ARM: imx: fix build failure concerning otg/ulpi The build failure was introduced by 13dd0c9 (USB: otg/ulpi: extend the generic ulpi driver.) Signed-off-by: Uwe Kleine-König Acked-by: Igor Grinberg Cc: Mike Rapoport Signed-off-by: Greg Kroah-Hartman commit ea233f805537f5da16c2b34d85b6c5cf88a0f9aa Author: Galen Seitz Date: Thu Aug 19 11:15:20 2010 -0700 USB: ftdi_sio: add product ID for Lenz LI-USB Add ftdi product ID for Lenz LI-USB, a model train interface. This was NOT tested against 2.6.35, but a similar patch was tested with the CentOS 2.6.18-194.11.1.el5 kernel. It wasn't clear to me what ordering is being used in ftdi_sio.c, so I inserted the ID after another model train entry(SPROG_II). Signed-off-by: Galen Seitz Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1865a9c382ede507065cf1575308b53495814c7d Author: Kulikov Vasiliy Date: Sat Jul 31 21:40:07 2010 +0400 USB: adutux: fix misuse of return value of copy_to_user() copy_to_user() returns number of not copied bytes, not error code. Signed-off-by: Kulikov Vasiliy Signed-off-by: Greg Kroah-Hartman commit 6d4d4554863b7897f2bc9cd9085f54c819152825 Author: Kulikov Vasiliy Date: Sat Jul 31 21:39:46 2010 +0400 USB: iowarrior: fix misuse of return value of copy_to_user() copy_to_user() returns number of not copied bytes, not error code. Signed-off-by: Kulikov Vasiliy Signed-off-by: Greg Kroah-Hartman commit 14184f9b8047026f1812f49df074e89dad3a09bc Author: Andiry Xu Date: Mon Aug 9 13:56:15 2010 -0700 USB: xHCI: update ring dequeue pointer when process missed tds This patch fixes a isoc transfer bug reported by Sander Eikelenboom. When ep->skip is set, endpoint ring dequeue pointer should be updated when processed every missed td. Although ring dequeue pointer will also be updated when ep->skip is clear, leave it intact during missed tds processing may cause two issues: 1). If the very next valid transfer following missed tds is a short transfer, its actual_length will be miscalculated; 2). If there are too many missed tds during transfer, new inserted tds may found the transfer ring full and urb enqueue fails. Reported-by: Sander Eikelenboom Tested-by: Sander Eikelenboom Signed-off-by: Andiry Xu Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit a1669b2c64a9c8b031e0ac5cbf2692337a577f7c Author: John Youn Date: Mon Aug 9 13:56:11 2010 -0700 USB: xhci: Remove buggy assignment in next_trb() The code to increment the TRB pointer has a slight ambiguity that could lead to a bug on different compilers. The ANSI C specification does not specify the precedence of the assignment operator over the postfix operator. gcc 4.4 produced the correct code (increment the pointer and assign the value), but a MIPS compiler that one of John's clients used assigned the old (unincremented) value. Remove the unnecessary assignment to make all compilers produce the correct assembly. Signed-off-by: John Youn Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 666cc076d284e32d11bfc5ea2fbfc50434cff051 Author: Martin Michlmayr Date: Tue Aug 10 20:31:21 2010 +0100 USB: ftdi_sio: Add ID for Ionics PlugComputer Add the ID for the Ionics PlugComputer (). Signed-off-by: Martin Michlmayr Cc: stable Signed-off-by: Greg Kroah-Hartman commit fd6e5bbb241720715cee737f534496d7c0ae9022 Author: Roel Kluin Date: Tue Aug 10 14:29:19 2010 -0700 USB: serial: io_ti.c: don't return 0 if writing the download record failed If the write download record failed we shouldn't return 0. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 461c317705eca5cac09a360f488715927fd0a927 Author: Felipe Balbi Date: Wed Aug 11 13:02:32 2010 +0300 USB: otg: twl4030: fix wrong assumption of starting state The reset state of twl4030-usb is not sleeping, it starts up awaken and we need to disable it if we have booted with a disconnected cable to avoid over consumption on the default state. To avoid problems later, we read the current state of the transceiver from the PHY_PWR_CTRL register. The bootloader can, anyways, put the device to sleep before us. Tested on a custom OMAP board. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 7c81aafaf059b81ead2330bc13db78269ef62612 Author: Julia Lawall Date: Wed Aug 11 12:10:48 2010 +0200 USB: gadget: Return -ENOMEM on memory allocation failure In this code, 0 is returned on memory allocation failure, even though other failures return -ENOMEM or other similar values. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression ret; expression x,e1,e2,e3; @@ ret = 0 ... when != ret = e1 *x = \(kmalloc\|kcalloc\|kzalloc\)(...) ... when != ret = e2 if (x == NULL) { ... when != ret = e3 return ret; } // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit d187abb9a83e6c6b6e9f2ca17962bdeafb4bc903 Author: Randy Dunlap Date: Wed Aug 11 12:07:13 2010 -0700 USB: gadget: fix composite kernel-doc warnings Warning(include/linux/usb/composite.h:284): No description found for parameter 'disconnect' Warning(drivers/usb/gadget/composite.c:744): No description found for parameter 'c' Warning(drivers/usb/gadget/composite.c:744): Excess function parameter 'cdev' description in 'usb_string_ids_n' Signed-off-by: Randy Dunlap Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6b8f1ca5581bf9783069cd6bde65ba7a3a470aab Author: Bill Pemberton Date: Fri Aug 13 09:59:31 2010 -0400 USB: ssu100: set tty_flags in ssu100_process_packet flag was never set in ssu100_process_packet. Add logic to set it before calling tty_insert_flip_* Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 85dee135b84f1c7cad252fa4a619ea692077a7fc Author: Bill Pemberton Date: Thu Aug 5 17:01:11 2010 -0400 USB: ssu100: add disconnect function for ssu100 Add a disconnect function to the functions of this device. The disconnect is a call to usb_serial_generic_disconnect() so it requires that symbol to be exported from generic.c. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 5c7efeb76e7dc5145b467657fa049f3c1bd9cf58 Author: Bill Pemberton Date: Thu Aug 5 17:01:10 2010 -0400 USB: serial: export symbol usb_serial_generic_disconnect This is needed by the ssu100 driver to use this function. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f81c83db563334d8377b26ad45585261f604605a Author: Bill Pemberton Date: Thu Aug 5 17:01:09 2010 -0400 USB: ssu100: rework logic for TIOCMIWAIT Rework the logic for TIOCMIWAIT to use wait_event_interruptible. This also adds support for TIOCGICOUNT. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 556f1a0e9c178193e584209b47cf1cb9f669bd51 Author: Bill Pemberton Date: Thu Aug 5 17:01:08 2010 -0400 USB: ssu100: add register parameter to ssu100_setregister The function ssu100_setregister was hard coded to only set the MCR register. Add a register parameter so that other registers can be set. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 79f203a26a07a9d5701c404925e85eb161b72cde Author: Bill Pemberton Date: Thu Aug 5 17:01:07 2010 -0400 USB: ssu100: remove duplicate #defines in ssu100 The ssu100 uses a TI16C550C UART so the SERIAL_ defines in this code are duplicates of those found in serial_reg.h. Remove the defines in ssu100.c and use the ones in the header file. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9b2cef31f2823558eb92a35624d37439599f3f9f Author: Bill Pemberton Date: Thu Aug 5 17:01:06 2010 -0400 USB: ssu100: refine process_packet in ssu100 The status information does not appear at the start of each incoming packet so the check for len < 4 at the start of ssu100_process_packet is wrong. Remove it. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 175230587bcca6dee0a1d6832a8a2138e32ab6ab Author: Bill Pemberton Date: Thu Aug 5 17:01:05 2010 -0400 USB: ssu100: add locking for port private data in ssu100 Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 96f2a34d2cec71d59014be9ecd7a038435e88584 Author: Axel Lin Date: Tue Aug 17 09:41:29 2010 +0800 USB: r8a66597-udc: return -ENOMEM if kzalloc() fails Signed-off-by: Axel Lin Signed-off-by: Greg Kroah-Hartman commit 0827a9ff2bbcbb03c33f1a6eb283fe051059482c Author: Greg Kroah-Hartman Date: Tue Aug 17 15:15:37 2010 -0700 USB: io_ti: check firmware version before updating If we can't read the firmware for a device from the disk, and yet the device already has a valid firmware image in it, we don't want to replace the firmware with something invalid. So check the version number to be less than the current one to verify this is the correct thing to do. Reported-by: Chris Beauchamp Tested-by: Chris Beauchamp Cc: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit d1ab903d2552b2362339b19203c7f01c797cb316 Author: Michael Wileczka Date: Wed Aug 18 07:14:37 2010 -0700 USB: ftdi_sio: fix endianess of max packet size The USB max packet size (always little-endian) was not being byte swapped on big-endian systems. Applicable since [USB: ftdi_sio: fix hi-speed device packet size calculation] approx 2.6.31 Signed-off-by: Michael Wileczka Cc: stable Signed-off-by: Greg Kroah-Hartman commit 72916791cbeb9cc607ae620cfba207dea481cd76 Author: Craig Shelley Date: Wed Aug 18 22:13:39 2010 +0100 USB: CP210x Fix Break On/Off The definitions for BREAK_ON and BREAK_OFF are inverted, causing break requests to fail. This patch sets BREAK_ON and BREAK_OFF to the correct values. Signed-off-by: Craig Shelley Cc: stable Signed-off-by: Greg Kroah-Hartman commit f36ecd5de93e4c85a9e3d25100c6e233155b12e5 Author: Jef Driesen Date: Mon Aug 9 15:55:32 2010 +0200 USB: pl2303: New vendor and product id Add support for the Zeagle N2iTiON3 dive computer interface. Since Zeagle devices are actually manufactured by Seiko, this patch will support other Seiko based models as well. Signed-off-by: Jef Driesen Cc: stable Signed-off-by: Greg Kroah-Hartman commit d92a3ca689257c6bec94e026538782c280afaaab Author: Ming Lei Date: Sat Aug 7 16:20:35 2010 +0800 USB: serial: fix leak of usb serial module refrence count The patch with title below makes reference count of usb serial module always more than one after driver is bound. USB-BKL: Remove BKL use for usb serial driver probing In fact, the patch above only replaces lock_kernel() with try_module_get() , and does not use module_put() to do what unlock_kernel() did, so casue leak of reference count of usb serial module and the module can not be unloaded after serial driver is bound with device. This patch fixes the issue, also simplifies such things: -only call try_module_get() once in the entry of usb_serial_probe() -only call module_put() once in the exit of usb_serial_probe Signed-off-by: Ming Lei Cc: Johan Hovold Cc: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 0eee6a2b2a52e17066a572d30ad2805d3ebc7508 Author: Ross Burton Date: Fri Aug 6 16:36:39 2010 +0100 USB: add device IDs for igotu to navman I recently bought a i-gotU USB GPS, and whilst hunting around for linux support discovered this post by you back in 2009: http://kerneltrap.org/mailarchive/linux-usb/2009/3/12/5148644 >Try the navman driver instead. You can either add the device id to the > driver and rebuild it, or do this before you plug the device in: > modprobe navman > echo -n "0x0df7 0x0900" > /sys/bus/usb-serial/drivers/navman/new_id > > and then plug your device in and see if that works. I can confirm that the navman driver works with the right device IDs on my i-gotU GT-600, which has the same device IDs. Attached is a patch adding the IDs. From: Ross Burton Cc: stable Signed-off-by: Greg Kroah-Hartman commit ebb8a4e48722c8f5e04a6490b197d2fbc894a0f6 Author: Michael Hennerich Date: Thu Aug 5 17:53:57 2010 -0400 USB: isp1760: use a write barrier to ensure proper ndelay timing The ISP1760 has some timing requirements where it has to delay a short period after a write to a register has started. However, this delay is from the time the write hits the USB chip (the ISP1760), not from the time where the processor started processing the write. So on a quick enough processor, it is sometimes possible for the write to not hit the device before we start delaying, and we then violate the part's timing requirements, so things stop working. To avoid all this, insert a write barrier after the register write and before the timing delay/register read so we can guarantee we only start counting time after the write has hit the device. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 76078dc4fc389185fe467d33428f259ea9e69807 Author: Michael Tokarev Date: Fri Aug 6 18:49:21 2010 +0400 USB: option: add Celot CT-650 Signed-off-by: Michael Tokarev Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9a887162be81bd21ea8495e0a57b46ab1d77d205 Author: Dan Carpenter Date: Thu Aug 12 09:59:58 2010 +0200 USB: uvc_v4l2: cleanup test for end of loop We're trying to test for the the end of the loop here. "format" is never NULL. We don't know what "format->fcc" is because we're past the end of the loop and I think "fmt->fmt.pix.pixelformat" comes from the user so we don't know what that is either. It works, but it's cleaner to just test to see if (i == ARRAY_SIZE(uvc_formats). Signed-off-by: Dan Carpenter Acked-by: Laurent Pinchart Signed-off-by: Greg Kroah-Hartman commit d1b113bb028999e82a8528e1484be8c23fb5a7d9 Merge: 9c5ea36 cca77b7 Author: Linus Torvalds Date: Mon Aug 23 18:30:30 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits) netfilter: fix CONFIG_COMPAT support isdn/avm: fix build when PCMCIA is not enabled header: fix broken headers for user space e1000e: don't check for alternate MAC addr on parts that don't support it e1000e: disable ASPM L1 on 82573 ll_temac: Fix poll implementation netxen: fix a race in netxen_nic_get_stats() qlnic: fix a race in qlcnic_get_stats() irda: fix a race in irlan_eth_xmit() net: sh_eth: remove unused variable netxen: update version 4.0.74 netxen: fix inconsistent lock state vlan: Match underlying dev carrier on vlan add ibmveth: Fix opps during MTU change on an active device ehea: Fix synchronization between HW and SW send queue bnx2x: Update bnx2x version to 1.52.53-4 bnx2x: Fix PHY locking problem rds: fix a leak of kernel memory netlink: fix compat recvmsg netfilter: fix userspace header warning ... commit 9c5ea3675dbe4853eea747542da257c3e6f18de2 Merge: c05e1e2 a8ec105 Author: Linus Torvalds Date: Mon Aug 23 18:29:34 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: hp-wmi: Fix query interface ACPI_TOSHIBA needs LEDS support commit c05e1e23b8e5cf6c3a499e4aeb8503dcb3924394 Merge: c70662e 9c35e90 Author: Linus Torvalds Date: Mon Aug 23 18:29:18 2010 -0700 Merge branch 'for-upstream/pvhvm' of git://xenbits.xensource.com/people/ianc/linux-2.6 * 'for-upstream/pvhvm' of git://xenbits.xensource.com/people/ianc/linux-2.6: xen: pvhvm: make it clearer that XEN_UNPLUG_* define bits in a bitfield xen: pvhvm: rename xen_emul_unplug=ignore to =unnnecessary xen: pvhvm: allow user to request no emulated device unplug commit c70662ec47191eb235bb1d0a1466b923b7a08a94 Merge: ee00557 8558f59 Author: Linus Torvalds Date: Mon Aug 23 18:28:24 2010 -0700 Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: setlocalversion: Ignote SCMs above the linux source tree makefile: not need to regenerate kernel.release file when make kernelrelease fixes for using make 3.82 kconfig: fix segfault when detecting recursive dependency kconfig: fix savedefconfig with choice marked optional commit ee005577aa3b89f5291fe73be2054d375d23f5eb Merge: 2e9e018 d033303 Author: Linus Torvalds Date: Mon Aug 23 18:28:03 2010 -0700 Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (33 commits) drm/radeon/kms: fix typo in radeon_compute_pll_gain drm/radeon/kms: try to detect tv vs monitor for underscan drm/radeon/kms: fix sideport detection on newer rs880 boards drm/radeon: fix passing wrong type to gem object create. drm/radeon/kms: set encoder type to DVI for HDMI on evergreen drm/radeon/kms: add back missing break in info ioctl drm/radeon/kms: don't enable MSIs on AGP boards drm/radeon/kms: fix agp mode setup on cards that use pcie bridges drm: move dereference below check drm: fix end of loop test drm/radeon/kms: rework radeon_dp_detect() logic drm/radeon/kms: add missing asic callback assignment for evergreen drm/radeon/kms/DCE3+: switch pads to ddc mode when going i2c drm/radeon/kms/pm: bail early if nothing's changing drm/radeon/kms/atom: clean up dig atom handling drm/radeon/kms: DCE3/4 transmitter fixes drm/radeon/kms: rework encoder handling drm/radeon/kms: DCE3/4 AdjustPixelPll updates drm/radeon: Fix stack data leak drm/radeon/kms: fix GTT/VRAM overlapping test ... commit 2e9e018ecd836d92cc4735b4d878d8b20c08b070 Merge: 6e0c64f f3411b1 Author: Linus Torvalds Date: Mon Aug 23 18:27:40 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: Blackfin: wire up new fanotify/prlimit64 syscalls ADI/ASoC: add MAINTAINERS entries Blackfin: fix hweight breakage commit 5d56356a2c9f5e96efe7a095cbf9b6fee8265d22 Author: Kulikov Vasiliy Date: Sun Aug 1 10:29:06 2010 +0400 68328serial: check return value of copy_*_user() instead of access_ok() As copy_*_user() calls access_ok() it should not be called explicitly. Signed-off-by: Kulikov Vasiliy Signed-off-by: Greg Kroah-Hartman commit 80d04f22b0869a1145b36a90a83a79603ac92be8 Author: Dan Carpenter Date: Wed Aug 11 20:01:46 2010 +0200 synclink: add mutex_unlock() on error path There is a path which still holds its mutex here. Signed-off-by: Dan Carpenter Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 49bf7eaffc0c252ab2a2cc8f1bf8c0077e778704 Author: Dan Carpenter Date: Wed Aug 11 20:00:09 2010 +0200 rocket: add a mutex_unlock() This path needs a mutex_unlock(). This is stuff from the bkl to mutex transition. Signed-off-by: Dan Carpenter Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 05254a207a255e1a76f9b349a783b5016b874d72 Author: Dan Carpenter Date: Thu Aug 12 13:48:59 2010 -0700 ip2: return -EFAULT on copy_to_user errors copy_to_user() returns the number of bytes remaining but we want to return a negative error code on errors. Signed-off-by: Dan Carpenter Cc: "Michael H. Warfield" Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit f64ac9830b2a2455208ee023f6bac480ae159db4 Author: Dan Carpenter Date: Thu Aug 12 13:48:57 2010 -0700 ip2: remove unneeded NULL check We don't pass NULL tty pointers to the close function, and anyway we already dereferenced it at this point. This check can be removed. Signed-off-by: Dan Carpenter Cc: "Michael H. Warfield" Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 07cda511c78db79974f56b277b3704bfc6bba711 Author: Luck, Tony Date: Thu Aug 12 12:16:43 2010 -0700 serial: print early console device address in hex Device addresses are usually printed in hex. Signed-off-by: Tony Luck Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d49824c06778830c82906884b94d94354c3bbdc8 Author: Greg Kroah-Hartman Date: Mon Aug 23 10:28:31 2010 -0700 Staging: sep: remove driver It's currently stalled and the original submitter recommended that it just be dropped at this point in time due. Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f86b9984250fa2b71ce36d4693a939a58579583b Author: Sven Eckelmann Date: Sat Aug 21 14:18:10 2010 +0200 Staging: batman-adv: Don't write in not allocated packet_buff Each net_device in a system will automatically managed as a possible batman_if and holds different informations like a buffer with a prepared originator messages. To reduce the memory usage, the packet_buff will only be allocated when the interface is really added/enabled for batman-adv. The function to update the hw address information inside the packet_buff just assumes that the packet_buff is always initialised and thus the kernel will just oops when we try to change the hw address of a not already fully enabled interface. We must always check if the packet_buff is allocated before we try to change information inside of it. Reported-by: Tim Glaremin Reported-by: Kazuki Shimada Signed-off-by: Sven Eckelmann Cc: stable Signed-off-by: Greg Kroah-Hartman commit 51a00eaf6e008b60943af6ab68c17ac3622208dc Author: Sven Eckelmann Date: Sat Aug 21 14:18:09 2010 +0200 Staging: batman-adv: Don't use net_dev after dev_put dev_put allows a device to be freed when all its references are dropped. After that we are not allowed to access that information anymore. Access to the data structure of a net_device must be surrounded a dev_hold and ended using dev_put. batman-adv adds a device to its own management structure in hardif_add_interface and will release it in hardif_remove_interface. Thus it must hold a reference all the time between those functions to prevent any access to the already released net_device structure. Reported-by: Tim Glaremin Signed-off-by: Sven Eckelmann Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1189f130f89b73eecb6117c0fc5e90abbcb7faa0 Author: Sven Eckelmann Date: Sat Aug 21 14:18:08 2010 +0200 Staging: batman-adv: Create batman_if only on register event We try to get all events for all net_devices to be able to add special sysfs folders for the batman-adv configuration. This also includes such events like NETDEV_POST_INIT which has no valid kobject according to v2.6.32-rc3-13-g7ffbe3f. This would create an oops in that situation. It is enough to create the batman_if only on NETDEV_REGISTER events because we will also receive those events for devices which already existed when we registered the notifier call. Signed-off-by: Sven Eckelmann Cc: stable Signed-off-by: Greg Kroah-Hartman commit 51e21ae3d79e608022271f91166c84bd0e9fb8b8 Author: Marek Lindner Date: Mon Aug 9 23:56:42 2010 +0200 Staging: batman-adv: fix own mac address detection Earlier batman-adv versions would only create a batman_if struct after a corresponding interface had been activated by a user. Now each existing system interface has a batman_if struct and has to be checked by verifying the IF_ACTIVE flag. Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann Signed-off-by: Greg Kroah-Hartman commit b7a23bce7bc9cac85eab1b958e922b2c472ab8fd Author: Marek Lindner Date: Mon Aug 9 23:56:41 2010 +0200 Staging: batman-adv: always reply batman icmp packets with primary mac When receiving an batman icmp echo request or in case of a time-to-live exceeded batman would reply with the mac address of the outgoing interface which might be a secondary interface. Because secondary interfaces are not globally known this might lead to confusion. Now, replies are sent with the mac address of the primary interface. Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann Signed-off-by: Greg Kroah-Hartman commit 13334d4875dbaeeb44e7905463f07e236f80311f Author: Marek Lindner Date: Mon Aug 9 23:56:40 2010 +0200 Staging: batman-adv: fix batman icmp originating from secondary interface If a batman icmp packet had to be routed over a secondary interface at the first hop, the mac address of that secondary interface would be written in the 'orig' field of the icmp packet. A node which is more than one hop away is not aware of the mac address because secondary interfaces are not flooded through the whole mesh and therefore can't send a reply. This patch always sends the mac address of the primary interface in the 'orig' field of the icmp packet. Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann Signed-off-by: Greg Kroah-Hartman commit 9abc10238e1df7ce81c58a441f65efd5e905b9e8 Author: Marek Lindner Date: Mon Aug 9 23:56:39 2010 +0200 Staging: batman-adv: unify orig_hash_lock spinlock handling to avoid deadlocks The orig_hash_lock spinlock always has to be locked with IRQs being disabled to avoid deadlocks between code that is being executed in IRQ context and code that is being executed in non-IRQ context. Reported-by: Sven Eckelmann Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann Cc: stable Signed-off-by: Greg Kroah-Hartman commit 466122df80e447883588ffcf9d21b88152934819 Author: Sven Eckelmann Date: Mon Aug 9 23:56:38 2010 +0200 Staging: batman-adv: Fix merge of linus tree Greg Kroah-Hartman merged Linus 2.6.36 tree in e9563355ac1175dd3440dc2ea5c28b27ed51a283 with his staging tree. Different parts of the merge conflicts were resolved incorrectly and may result in an abnormal behavior. Signed-off-by: Sven Eckelmann Signed-off-by: Greg Kroah-Hartman commit 49b48547724eca062aec13a3bfd621194836513b Author: Javier Martinez Canillas Date: Sat Jul 17 16:46:28 2010 -0400 Staging: spectra: removes unused functions Fix compilation warning removing unused functions. Signed-off-by: Javier Martinez Canillas Signed-off-by: Greg Kroah-Hartman commit fd484b86a22efeea06298c0dc3b1518473ff2fc4 Author: Javier Martinez Canillas Date: Sat Jul 17 16:45:27 2010 -0400 Staging: spectra: initializa lblk variable Fix a compile warning by initializaing lblk. Since FTL_Get_Block_Index() returns BAD_BLOCK if it doesn't find the logical block number, lblk number is initizalized to BAD_BLOCK. Signed-off-by: Javier Martinez Canillas Signed-off-by: Greg Kroah-Hartman commit 676cecaaddd09bbe41a38b1d15f190da10087294 Author: Javier Martinez Canillas Date: Sat Jul 17 16:42:19 2010 -0400 Staging: spectra: removes unused variable Fix a compile warning by removing an unused variable int i. Signed-off-by: Javier Martinez Canillas Signed-off-by: Greg Kroah-Hartman commit c321da6dc53cd692dc2db82686d5dfd150a3b817 Author: Javier Martinez Canillas Date: Sat Jul 17 16:39:54 2010 -0400 Staging: spectra: remove duplicate GLOB_VERSION definition This is the first patch of a patchset that removes all compilations warnings in staging/spectra. These patches are a delta from a previous patchset and it assumes that these three patches all already applied: Signed-off-by: Javier Martinez Canillas Signed-off-by: Greg Kroah-Hartman commit 6e19d2db499b66aa7942bd36a7b55bb725379aae Author: Javier Martinez Canillas Date: Sat Jul 10 00:07:35 2010 -0400 Staging: spectra: don't use locked_ioctl, fix build Last patch has a style problem. Sending the correct one. Sorry for the noise Since BKL was removed from block ioctl handling code, locked_ioctl doesn't exist anymore. Using ioctl instead and doing the locking manually. Signed-off-by: Javier Martinez Canillas Signed-off-by: Greg Kroah-Hartman commit 7b633f6624ce4ea6199a54c2cad6c9e84164f8f5 Author: Javier Martinez Canillas Date: Fri Jul 9 23:28:13 2010 -0400 Staging: use new REQ_FLUSH flag, fix build breakage REQ_TYPE_LINUX_BLOCK and REQ_LB_OP_FLUSH doesn't exist anymore. Using the new REQ_FLUSH flag instead Signed-off-by: Javier Martinez Canillas Signed-off-by: Greg Kroah-Hartman commit 09e74c794fc9d5064e07c4bf6c9d5458586385c1 Author: Javier Martinez Canillas Date: Fri Jul 9 23:25:12 2010 -0400 Staging: spectra: removes q->prepare_flush_fn, fix build breakage This patch is the first one of a patchset that allows stagin/spectra driver to compile in linux-next. blk_queue_ordered doesn't receive a prepare flush function anymore Signed-off-by: Javier Martinez Canillas Signed-off-by: Greg Kroah-Hartman commit f6e6e7799ebcad40fa15e4015beca2d776554302 Author: Xiaotian Feng Date: Fri Aug 13 18:58:10 2010 +0800 kobject_uevent: fix typo in comments s/ending/sending, s/kobject_uevent()/kobject_uevent_env() in the comments. Signed-off-by: Xiaotian Feng Signed-off-by: Greg Kroah-Hartman commit f45f3c1f3f616ca1d1e1eb5e7a720ca63cb59550 Author: Johannes Berg Date: Wed Aug 18 17:15:18 2010 +0200 firmware_class: fix typo in error path In the error path, _request_firmware sets firmware_p to NULL rather than *firmware_p, which leads to passing a freed firmware struct to drivers when the firmware file cannot be found. Fix this. Broken by commit f8a4bd3456b988fc73b2c. Reported-by: Wey-Yi Guy Signed-off-by: Johannes Berg Acked-by: Dmitry Torokhov Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 8488a38f4d2f43bd55a3e0db4cd57a5bef3af6d6 Author: David Howells Date: Wed Aug 11 15:01:02 2010 +0100 kobject: Break the kobject namespace defs into their own header Break the kobject namespace defs into their own header to avoid a header file inclusion ordering problem between linux/sysfs.h and linux/kobject.h. This fixes the build breakage on older versions of gcc. Signed-off-by: David Howells Cc: Eric Biederman Signed-off-by: Greg Kroah-Hartman commit cca77b7c81876d819a5806f408b3c29b5b61a815 Author: Florian Westphal Date: Mon Aug 23 14:41:22 2010 -0700 netfilter: fix CONFIG_COMPAT support commit f3c5c1bfd430858d3a05436f82c51e53104feb6b (netfilter: xtables: make ip_tables reentrant) forgot to also compute the jumpstack size in the compat handlers. Result is that "iptables -I INPUT -j userchain" turns into -j DROP. Reported by Sebastian Roesner on #netfilter, closes http://bugzilla.netfilter.org/show_bug.cgi?id=669. Note: arptables change is compile-tested only. Signed-off-by: Florian Westphal Acked-by: Eric Dumazet Tested-by: Mikael Pettersson Signed-off-by: David S. Miller commit a8ec105c0764c848d59f18a31f91fa00c99b2e7f Author: Matthew Garrett Date: Mon Aug 23 15:52:34 2010 -0400 hp-wmi: Fix query interface The machines I have appear to provide their return value in the arguments structure, not the output structure. Rework the driver to use that again in order to get rfkill working again. Signed-off-by: Matthew Garrett commit c76a3e1d6c52c5cc1371f1abc7381c5715ebdf7f Author: Jonathan Corbet Date: Mon Aug 23 11:32:36 2010 -0600 ACPI_TOSHIBA needs LEDS support Don't ask how ACPI_TOSHIBA got enabled on in desktop system's .config - I don't know. But it has silently been there until I tried 2.6.36-rc2, where it broke the build because I don't have LED support turned on. Attached patch fixes things up. (I had to change BACKLIGHT_CLASS_DEVICE to "depends" because otherwise I get unsightly core dumps out of scripts/kconfig/conf). jon -- toshiba: make sure we pull in LED support The Toshiba extras driver uses the LED module, so make sure we have it configure in. Signed-off-by: Jonathan Corbet Signed-off-by: Matthew Garrett commit 6e0c64f4ddf4a76a04108c1e24132d5d7dea8872 Author: Julia Lawall Date: Mon Aug 23 14:31:34 2010 +0100 arch/mn10300/mm: eliminate NULL dereference dev_name always dereferences its argument, so it should not be called if the argument is NULL. The function indeed later tests the argument for being NULL. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression dev,E; @@ *dev_name(dev) ... when != dev = E ( *dev == NULL | *dev != NULL ) // Signed-off-by: Julia Lawall Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit dc4c26bfedcdd2b52231864c130bee2388e0eae4 Merge: 847bb22 f95d76a Author: Linus Torvalds Date: Mon Aug 23 10:36:04 2010 -0700 Merge branch 'misc' of git://git.kernel.dk/linux-2.6-block * 'misc' of git://git.kernel.dk/linux-2.6-block: ipheth: add support for iPhone 4 commit 847bb224fb1cc8747e58959721b7bccd9b118047 Merge: 9ee4747 e9a8a85 Author: Linus Torvalds Date: Mon Aug 23 10:34:51 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: i.MX ssi: use SSI_STCCR in synchronous mode ALSA: hda - Add support for Lenovo S10-3t ALSA: hda - Fix stream and channel-ids codec-bus wide ALSA: hda - Fix conflict of sticky PCM parameter in HDMI codecs ALSA: intel8x0: Mute External Amplifier by default for ThinkPad X31 ALSA: hda - Fix build error with CONFIG_PROC_FS=n ALSA: hda - Add support for IDT 92HD89XX codecs commit e9a8a85d9f88313264d59d40815951a46ff9a4bb Merge: d2f927d 70bf043 Author: Takashi Iwai Date: Mon Aug 23 15:09:52 2010 +0200 Merge branch 'fix/asoc' into for-linus commit 70bf043b137aa9ff2711b16532774465e07a8f47 Author: Sascha Hauer Date: Mon Aug 23 08:54:02 2010 +0200 ASoC: i.MX ssi: use SSI_STCCR in synchronous mode In synchronous mode the SSI_SRCCR values are ignored. Instead SSI_STCCR must be used for both receiving and transmitting. Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 32412aa214e05308833a89e6090406294833f989 Author: Dave Kleikamp Date: Wed Aug 18 06:44:26 2010 +0000 powerpc/47x: Add an isync before the tlbivax instruction Signed-off-by: Dave Kleikamp Signed-off-by: Josh Boyer commit 3e7f45ad521ac3e38889d255ec7676037fa84ae2 Author: Dave Kleikamp Date: Wed Aug 18 06:44:25 2010 +0000 powerpc/4xx: Index interrupt stacks by physical cpu The interrupt stacks need to be indexed by the physical cpu since the critical, debug and machine check handlers use the contents of SPRN_PIR to index the critirq_ctx, dbgirq_ctx, and mcheckirq_ctx arrays. Signed-off-by: Dave Kleikamp Signed-off-by: Josh Boyer commit 66477466b8b79c98af17f1c2267596c8b6b4b561 Author: Dave Kleikamp Date: Wed Aug 18 06:44:24 2010 +0000 powerpc/47x: Remove redundant line from cputable.c There are two entries for .cpu_user_features in arch/powerpc/kernel/cputable.c. Remove the one that doesn't belong Signed-off-by: Dave Kleikamp Signed-off-by: Josh Boyer commit 029b8f662b24a35aab20a81087822f1badf5463c Author: Dave Kleikamp Date: Wed Aug 18 06:44:23 2010 +0000 powerpc/47x: Make sure mcsr is cleared before enabling machine check interrupts Clear the machine check syndrom register before enabling machine check interrupts. The initial state of the tlb can lead to parity errors being flagged early after a cold boot. Signed-off-by: Dave Kleikamp Signed-off-by: Josh Boyer commit 31fc0bd4aab30cac3e3388883b1b62750cc2f648 Author: Rupjyoti Sarmah Date: Fri Jun 4 00:03:12 2010 +0000 powerpc/4xx: Device tree update for the 460ex DWC SATA Device tree update for the Applied micro processor 460ex on-chip SATA Signed-off-by: Rupjyoti Sarmah Signed-off-by: Josh Boyer commit 9c35e90c6fcf7f5baf27a63d9565e9f47633f299 Author: Ian Campbell Date: Mon Aug 23 12:01:35 2010 +0100 xen: pvhvm: make it clearer that XEN_UNPLUG_* define bits in a bitfield by defining in terms of (1< Acked-by: Jeremy Fitzhardinge Acked-by: Stefano Stabellini commit 1dc7ce99b091a11cce0f34456c1ffcb928f17edd Author: Ian Campbell Date: Mon Aug 23 11:59:29 2010 +0100 xen: pvhvm: rename xen_emul_unplug=ignore to =unnnecessary It is not immediately clear what this option causes to become ignored. The actual meaning is that it is not necessary to unplug the emulated devices to safely use the PV ones, even if the platform does not support the unplug protocol. (pressumably the user will only add this option if they have ensured that their domain configuration is safe). I think xen_emul_unplug=unnecessary better captures this. Signed-off-by: Ian Campbell Acked-by: Jeremy Fitzhardinge Acked-by: Stefano Stabellini commit c93a4dfb31f2c023da3ad1238c352452f2cc0e05 Author: Ian Campbell Date: Mon Aug 23 11:59:28 2010 +0100 xen: pvhvm: allow user to request no emulated device unplug this allows the user to disable pvhvm and revert to emulated devices in case of a system misconfiguration (e.g. initramfs with only emulated drivers in it). Signed-off-by: Ian Campbell Acked-by: Jeremy Fitzhardinge Acked-by: Stefano Stabellini commit f95d76ab82c381ce2221fbe75f331ff1478732db Author: Jens Axboe Date: Mon Aug 23 12:39:29 2010 +0200 ipheth: add support for iPhone 4 This adds support for the iPhone 4 to the ipheth driver. Acked-by: Diego Giagio Signed-off-by: Jens Axboe commit 9d0f4dcc5c4d1c5dd01172172684a45b5f49d740 Author: Tim Chen Date: Wed Aug 18 15:00:27 2010 -0700 mutex: Improve the scalability of optimistic spinning There is a scalability issue for current implementation of optimistic mutex spin in the kernel. It is found on a 8 node 64 core Nehalem-EX system (HT mode). The intention of the optimistic mutex spin is to busy wait and spin on a mutex if the owner of the mutex is running, in the hope that the mutex will be released soon and be acquired, without the thread trying to acquire mutex going to sleep. However, when we have a large number of threads, contending for the mutex, we could have the mutex grabbed by other thread, and then another ……, and we will keep spinning, wasting cpu cycles and adding to the contention. One possible fix is to quit spinning and put the current thread on wait-list if mutex lock switch to a new owner while we spin, indicating heavy contention (see the patch included). I did some testing on a 8 socket Nehalem-EX system with a total of 64 cores. Using Ingo's test-mutex program that creates/delete files with 256 threads (http://lkml.org/lkml/2006/1/8/50) , I see the following speed up after putting in the mutex spin fix: ./mutex-test V 256 10 Ops/sec 2.6.34 62864 With fix 197200 Repeating the test with Aim7 fserver workload, again there is a speed up with the fix: Jobs/min 2.6.34 91657 With fix 149325 To look at the impact on the distribution of mutex acquisition time, I collected the mutex acquisition time on Aim7 fserver workload with some instrumentation. The average acquisition time is reduced by 48% and number of contentions reduced by 32%. #contentions Time to acquire mutex (cycles) 2.6.34 72973 44765791 With fix 49210 23067129 The histogram of mutex acquisition time is listed below. The acquisition time is in 2^bin cycles. We see that without the fix, the acquisition time is mostly around 2^26 cycles. With the fix, we the distribution get spread out a lot more towards the lower cycles, starting from 2^13. However, there is an increase of the tail distribution with the fix at 2^28 and 2^29 cycles. It seems a small price to pay for the reduced average acquisition time and also getting the cpu to do useful work. Mutex acquisition time distribution (acq time = 2^bin cycles): 2.6.34 With Fix bin #occurrence % #occurrence % 11 2 0.00% 120 0.24% 12 10 0.01% 790 1.61% 13 14 0.02% 2058 4.18% 14 86 0.12% 3378 6.86% 15 393 0.54% 4831 9.82% 16 710 0.97% 4893 9.94% 17 815 1.12% 4667 9.48% 18 790 1.08% 5147 10.46% 19 580 0.80% 6250 12.70% 20 429 0.59% 6870 13.96% 21 311 0.43% 1809 3.68% 22 255 0.35% 2305 4.68% 23 317 0.44% 916 1.86% 24 610 0.84% 233 0.47% 25 3128 4.29% 95 0.19% 26 63902 87.69% 122 0.25% 27 619 0.85% 286 0.58% 28 0 0.00% 3536 7.19% 29 0 0.00% 903 1.83% 30 0 0.00% 0 0.00% I've done similar experiments with 2.6.35 kernel on smaller boxes as well. One is on a dual-socket Westmere box (12 cores total, with HT). Another experiment is on an old dual-socket Core 2 box (4 cores total, no HT) On the 12-core Westmere box, I see a 250% increase for Ingo's mutex-test program with my mutex patch but no significant difference in aim7's fserver workload. On the 4-core Core 2 box, I see the difference with the patch for both mutex-test and aim7 fserver are negligible. So far, it seems like the patch has not caused regression on smaller systems. Signed-off-by: Tim Chen Acked-by: Peter Zijlstra Cc: Linus Torvalds Cc: Andrew Morton Cc: Thomas Gleixner Cc: Frederic Weisbecker Cc: # .35.x LKML-Reference: <1282168827.9542.72.camel@schen9-DESK> Signed-off-by: Ingo Molnar commit c6db67cda735d8ace5f19c3831240e1408679790 Author: Peter Zijlstra Date: Fri Aug 20 11:49:15 2010 +0200 watchdog: Don't throttle the watchdog Stephane reported that when the machine locks up, the regular ticks, which are responsible to resetting the throttle count, stop too. Hence the NMI watchdog can end up being throttled before it reports on the locked up state, and we end up being sad.. Cure this by having the watchdog overflow reset its own throttle count. Reported-by: Stephane Eranian Tested-by: Stephane Eranian Cc: Don Zickus Cc: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1282215916.1926.4696.camel@laptop> Signed-off-by: Ingo Molnar commit f3411b16c790e52b5abe174b33c7d213dbf5c259 Author: Mike Frysinger Date: Wed Aug 18 15:25:30 2010 -0400 Blackfin: wire up new fanotify/prlimit64 syscalls Signed-off-by: Mike Frysinger commit 4bdef3bd7e59a3cabb3dc02ccff9f056d3a06f99 Author: Mike Frysinger Date: Wed Aug 11 23:52:23 2010 -0400 ADI/ASoC: add MAINTAINERS entries Signed-off-by: Mike Frysinger commit 97e94c3a57c5999dde878449f17238ae98f74e42 Author: Mike Frysinger Date: Fri Aug 13 17:42:39 2010 -0400 Blackfin: fix hweight breakage The recent commit to add constant optimization to hweight implicitly broke the Blackfin arch. Seems we were missed when all the other arches were fixed with renames. Signed-off-by: Mike Frysinger commit d2f927d42a87b712946dee72a0b96b6b6c6aff1d Merge: 9c77b84 6f0ef6e Author: Takashi Iwai Date: Mon Aug 23 08:47:06 2010 +0200 Merge branch 'fix/hda' into for-linus commit 6f0ef6ea1d11ef242de584e345355b0de756fcb2 Author: Jerone Young Date: Mon Aug 23 08:34:36 2010 +0200 ALSA: hda - Add support for Lenovo S10-3t This patch adds quirk for the Lenovo S10-3t so the headphone & microphone jacks will now work. Signed-off-by: Jerone Young Signed-off-by: Takashi Iwai commit 6a6d01d374d03bd2f90030200cb78567444addc4 Author: Randy Dunlap Date: Thu Aug 19 07:07:23 2010 +0000 isdn/avm: fix build when PCMCIA is not enabled Why wouldn't kconfig symbol ISDN_DRV_AVMB1_B1PCMCIA also depend on PCMCIA? Fix build for PCMCIA not enabled: ERROR: "b1_free_card" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1ctl_proc_fops" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1_reset_ctr" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1_load_firmware" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1_send_message" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1_release_appl" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1_register_appl" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1_getrevision" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1_detect" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1_interrupt" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! ERROR: "b1_alloc_card" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined! Signed-off-by: Randy Dunlap Cc: Carsten Paeth Cc: Karsten Keil Signed-off-by: David S. Miller commit 09cd2b99c6cdd1e14e84c1febca2fb91e9f4e5ba Author: Changli Gao Date: Sun Aug 22 17:25:05 2010 +0000 header: fix broken headers for user space __packed is only defined in kernel space, so we should use __attribute__((packed)) for the code shared between kernel and user space. Two __attribute() annotations are replaced with __attribute__() too. Signed-off-by: Changli Gao Signed-off-by: David S. Miller commit 9ee47476d6734c9deb9ae9ab05d963302f6b6150 Merge: 76be97c 144dcfc Author: Linus Torvalds Date: Sun Aug 22 19:55:14 2010 -0700 Merge branch 'radix-tree' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/xfsdev * 'radix-tree' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/xfsdev: radix-tree: radix_tree_range_tag_if_tagged() can set incorrect tags radix-tree: clear all tags in radix_tree_node_rcu_free commit 144dcfc01221e1a79fa47ca897df7d5e3ab298e6 Author: Dave Chinner Date: Mon Aug 23 10:33:53 2010 +1000 radix-tree: radix_tree_range_tag_if_tagged() can set incorrect tags Commit ebf8aa44beed48cd17893a83d92a4403e5f9d9e2 ("radix-tree: omplement function radix_tree_range_tag_if_tagged") does not safely set tags on on intermediate tree nodes. The code walks down the tree setting tags before it has fully resolved the path to the leaf under the assumption there will be a leaf slot with the tag set in the range it is searching. Unfortunately, this is not a valid assumption - we can abort after setting a tag on an intermediate node if we overrun the number of tags we are allowed to set in a batch, or stop scanning because we we have passed the last scan index before we reach a leaf slot with the tag we are searching for set. As a result, we can leave the function with tags set on intemediate nodes which can be tripped over later by tag-based lookups. The result of these stale tags is that lookup may end prematurely or livelock because the lookup cannot make progress. The fix for the problem involves reocrding the traversal path we take to the leaf nodes, and only propagating the tags back up the tree once the tag is set in the leaf node slot. We are already recording the path for efficient traversal, so there is no additional overhead to do the intermediately node tag setting in this manner. This fixes a radix tree lookup livelock triggered by the new writeback sync livelock avoidance code introduced in commit f446daaea9d4a420d16c606f755f3689dcb2d0ce ("mm: implement writeback livelock avoidance using page tagging"). Signed-off-by: Dave Chinner Acked-by: Jan Kara commit b6dd08652e2b70e73661c4975ae46398066c06f8 Author: Dave Chinner Date: Mon Aug 23 10:33:19 2010 +1000 radix-tree: clear all tags in radix_tree_node_rcu_free Commit f446daaea9d4a420d16c606f755f3689dcb2d0ce ("mm: implement writeback livelock avoidance using page tagging") introduced a new radix tree tag, increasing the number of tags in each node from 2 to 3. It did not, however, fix up the code in radix_tree_node_rcu_free() that cleans up after radix_tree_shrink() and hence could leave stray tags set in the new tag array. The result is that the livelock avoidance code added in the the above commit would hit stale tags when doing tag based lookups, resulting in livelocks when trying to traverse the tree. Fix this problem in radix_tree_node_rcu_free() so it doesn't happen again in the future by using a loop to walk all the tags up to RADIX_TREE_MAX_TAGS to clear the stray tags radix_tree_shrink() leaves behind. Signed-off-by: Dave Chinner Acked-by: Nick Piggin Acked-by: Jan Kara commit d03330383c9255cdb184dd33594e89c3542f191b Merge: 0537398 625db6b Author: Dave Airlie Date: Mon Aug 23 08:34:59 2010 +1000 Merge remote branch 'nouveau/for-airlied' of /ssd/git/drm-nouveau-next into drm-core-next * 'nouveau/for-airlied' of /ssd/git/drm-nouveau-next: drm/nouveau: fix earlier mistake when fixing merge conflict drm/nvc0: fix thinko in instmem suspend/resume drm/nouveau: Workaround missing GPIO tables on an Apple iMac G4 NV18. drm/nouveau: Add TV-out quirk for an MSI nForce2 IGP. drm/nv50-nvc0: ramht_size is meant to be in bytes, not entries drm/nouveau: punt some more log messages to debug level drm/nouveau: remove warning about unknown tmds table revisions drm/nouveau: check for error when allocating/mapping dummy page drm/nouveau: fix race condition when under memory pressure drm/nv50: fix minor thinko from nvc0 changes drm/nouveau: Don't try DDC on the dummy I2C channel. commit 0537398b211b4f040564beec458e23571042d335 Author: Alex Deucher Date: Tue Aug 17 00:35:45 2010 -0400 drm/radeon/kms: fix typo in radeon_compute_pll_gain Looks like this got copied from the ddx wrong. Cc: Benjamin Herrenschmidt Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 039ed2d9a24b3c4e272439b1551762fcb77c188a Author: Alex Deucher Date: Fri Aug 20 11:57:19 2010 -0400 drm/radeon/kms: try to detect tv vs monitor for underscan When enabling underscan for hdmi monitors, attempt to detect whether we are driving a TV or a monitor. The should hopefully prevent underscan from being enabled on monitors attached via hdmi that do not overscan the image. Only enable underscan if the mode is a common hdtv mode (480p, 720p, etc.). Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 4b80d954a7e54c13a5063af18d01719ad6a0daf3 Author: Alex Deucher Date: Fri Aug 20 12:47:54 2010 -0400 drm/radeon/kms: fix sideport detection on newer rs880 boards The meaning of ucMemoryType changed on recent boards, however, ulBootUpSidePortClock should be set properly across all boards. Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 4dfe947e74a1de3eb638cc36d51bf56d6609057b Author: Dave Airlie Date: Mon Aug 23 08:27:47 2010 +1000 drm/radeon: fix passing wrong type to gem object create. We are passing a ttm type when we want to pass true/false. Reported-by: Dr. David Alan Gilbert Signed-off-by: Dave Airlie commit 8558f59edf935cf5ee5ffc29a9e9458fd9a71be1 Author: Michal Marek Date: Mon Aug 16 17:09:52 2010 +0200 setlocalversion: Ignote SCMs above the linux source tree Dan McGee writes: > Note that when in git, you get the appended "+" sign. If > LOCALVERSION_AUTO is set, you will get something like > "eee-gb01b08c-dirty" (whereas the copy of the tree in /tmp still > returns "eee"). It doesn't matter whether the working tree is dirty or > clean. > > Is there a way to disable this? I'm building from a clean tarball that > just happens to be unpacked inside a git repository. One would think > setting LOCALVERSION_AUTO to false would do it, but no such luck... Fix this by checking if the kernel source tree is the root of the git or hg repository. No fix for svn: If the kernel source is not tracked in the svn repository, it works as expected, otherwise determining the 'repository root' is not really a defined task. Reported-and-tested-by: Dan McGee Signed-off-by: Michal Marek commit 7b8ea53d7f1865cd8f05dfb8f706a4ff5a72abcf Author: Amerigo Wang Date: Fri Aug 20 05:36:06 2010 -0400 makefile: not need to regenerate kernel.release file when make kernelrelease Brice reported that 'kernelrelease' has a dependence on include/config/kernel.release, causes this file to be regenerated every time when invoke it. It doesn't have to. Reported-by: Brice Goglin Tested-by: Brice Goglin Signed-off-by: WANG Cong Signed-off-by: Michal Marek commit e981b060767b3c4ac9393ad8d2558d648e35dfcb Merge: 3c955b4 da5cabf Author: Michal Marek Date: Fri Aug 20 13:53:08 2010 +0200 Merge commit 'v2.6.36-rc1' into kbuild/rc-fixes commit 3f50ac6a0ec80a83a1a033fe5004fb319ad72db7 Author: Takashi Iwai Date: Fri Aug 20 09:44:36 2010 +0200 ALSA: hda - Fix stream and channel-ids codec-bus wide The new sticky PCM parameter introduced the delayed clean-ups of stream- and channel-id tags. In the current implementation, this check (adding dirty flag) and actual clean-ups are done only for the codec chip. However, with HD-audio architecture, multiple codecs can be on a single bus, and the controller assign stream- and channel-ids in the bus-wide. In this patch, the stream-id and channel-id are checked over all codecs connected to the corresponding bus. Together with it, the mutex is moved to struct hda_bus, as this becomes also bus-wide. Reported-and-tested-by: Stephen Warren Signed-off-by: Takashi Iwai commit 4f34760787c3751a3146f0eecdc79c3e97b94962 Author: Takashi Iwai Date: Fri Aug 20 09:41:59 2010 +0200 ALSA: hda - Fix conflict of sticky PCM parameter in HDMI codecs Intel and Nvidia HDMI codec drivers have own implementations of sticky PCM parameters. Now HD-audio core part already has it, thus both setups conflict. The fix is simply remove the part in patch_intelhdmi.c and patch_nvhdmi.c and simply call snd_hda_codec_setup_stream() as usual. Reported-and-tested-by: Stephen Warren Signed-off-by: Takashi Iwai commit d033af87e2a215a57ac2bbc47e0d7a544f2afcc4 Author: Alex Deucher Date: Fri Aug 20 01:09:22 2010 -0400 drm/radeon/kms: set encoder type to DVI for HDMI on evergreen Fixes the pink line that shows up with some hdmi monitors. This will need to be revisited when audio support is added. Fixes: http://bugs.freedesktop.org/show_bug.cgi?id=27452 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 48d3ff82698cb0094684aed70446e0a5cbb1a4d0 Merge: 1aef70e 6a017e0 Author: David S. Miller Date: Thu Aug 19 16:54:13 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit b824b364d9ee001fc8c6bb71cc49f19bf740dd99 Author: Alex Deucher Date: Thu Aug 12 08:25:47 2010 -0400 drm/radeon/kms: add back missing break in info ioctl This seems to have gotten lost in the hyper-z merge. Noticed by legume on IRC. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit da7be684c55dbaeebfc1a048d5faf52d52cb3c1f Author: Alex Deucher Date: Thu Aug 12 18:05:34 2010 -0400 drm/radeon/kms: don't enable MSIs on AGP boards Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29327 Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit e57415d85f72e36029b75fdb556c95fb5346b692 Author: Alex Deucher Date: Wed Aug 18 13:34:11 2010 -0400 drm/radeon/kms: fix agp mode setup on cards that use pcie bridges Asics that use an AGP to PCIE bridge don't have the AGP_STATUS register so just use whatever mode the host side setup. Signed-off-by: Alex Deucher Cc: Jerome Glisse Signed-off-by: Dave Airlie commit 1aef70ef125165e0114a8e475636eff242a52030 Author: Bruce Allan Date: Thu Aug 19 15:48:52 2010 -0700 e1000e: don't check for alternate MAC addr on parts that don't support it From: Bruce Allan The alternate MAC address feature is only supported by 80003ES2LAN and 82571 LOMs as well as a couple 82571 mezzanine cards. Checking for an alternate MAC address on other parts can fail leading to the driver not able to load. This patch limits the check for an alternate MAC address to be done only for parts that support the feature. This issue has been around since support for the feature was introduced to the e1000e driver in 2.6.34. Signed-off-by: Bruce Allan Reported-by: Fabio Varesano Cc: stable@kernel.org Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 09f0c489fa115a8b88a2da3edd0f3de00c8c7e2e Author: Dan Carpenter Date: Thu Aug 19 11:46:29 2010 +0200 drm: move dereference below check "fb_helper_conn" is dereferenced before the check for NULL. It's never actually NULL here, so this is mostly to keep the static checkers happy. Signed-off-by: Dan Carpenter Signed-off-by: Dave Airlie commit 161c48100236916e98d33a9c8b5fc8eae6decd15 Author: Dan Carpenter Date: Thu Aug 19 11:39:57 2010 +0200 drm: fix end of loop test "agpmem" is never NULL here because it is the list cursor of a list_for_each_entry() list. Signed-off-by: Dan Carpenter Signed-off-by: Dave Airlie commit 19833b5dffe2f2e92a1b377f9aae9d5f32239512 Author: Bruce Allan Date: Thu Aug 19 15:48:30 2010 -0700 e1000e: disable ASPM L1 on 82573 On the e1000-devel mailing list, Nils Faerber reported latency issues with the 82573 LOM on a ThinkPad X60. It was found to be caused by ASPM L1; disabling it resolves the latency. The issue is present in kernels back to 2.6.34 and possibly 2.6.33. Reported-by: Nils Faerber Signed-off-by: Bruce Allan Cc: stable@kernel.org Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6f50eae75b13e037e11f49128ea44a1a9a9535cb Author: Alex Deucher Date: Thu Aug 19 17:29:03 2010 -0400 drm/radeon/kms: rework radeon_dp_detect() logic If the connector is eDP, it can only be DP, not TMDS. Always set the detected sink type. If the sink is detected as non-DP, but there is no EDID, you can still manually force the port on. If the sink type is DP and there's no DPCD, there's no way to force the monitor on since you need both ends to train the link. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 9c1ac0c6b97c6322c23cf3356028c28029c3b117 Author: Alex Deucher Date: Thu Aug 19 14:28:33 2010 -0400 drm/radeon/kms: add missing asic callback assignment for evergreen Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5786e2c5a3f519647c50bbc276e45d36a704415a Author: Alex Deucher Date: Thu Aug 19 11:19:31 2010 -0400 drm/radeon/kms/DCE3+: switch pads to ddc mode when going i2c The pins for ddc and aux are shared so you need to switch the mode when doing ddc. The ProcessAuxChannel table already sets the pin mode to DP. This should fix unreliable ddc issues on DP ports using non-DP monitors. Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 4e186b2d6c878793587c35d7f06c94565d76e9b8 Author: Alex Deucher Date: Fri Aug 13 10:53:35 2010 -0400 drm/radeon/kms/pm: bail early if nothing's changing If we aren't changing the power state, no need to take locks and schedule fences, etc. There seem to be lock ordering issues in the CP and fence code in some cases; see bug 29140 below. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29140 Possibly also: https://bugzilla.kernel.org/show_bug.cgi?id=16581 Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 4aab97e818c255a1bc25bb981f121a7992c6b290 Author: Alex Deucher Date: Thu Aug 12 18:58:48 2010 -0400 drm/radeon/kms/atom: clean up dig atom handling This allows the tables to be run in some additional cases where the connector info isn't necessary. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit e13b2ac1c46b9194ea9f44904760d3d49669529b Author: Alex Deucher Date: Thu Aug 12 18:58:46 2010 -0400 drm/radeon/kms: DCE3/4 transmitter fixes - INIT action takes the actual connector type id, not the enum id - some evergreen cards have the ENABLE_OUTPUT/DISABLE_OUTPUT actions Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5137ee940c3e593ae5578a7a12a604eb8f239ac0 Author: Alex Deucher Date: Thu Aug 12 18:58:47 2010 -0400 drm/radeon/kms: rework encoder handling On most newer asics, digital encoders have two links each and they can be used independantly. As such, treat them as separate encoders otherwise the individual links will not get programmed properly at modeset time. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit fbee67a65d16c431ae3c389db13688c6e1b1b9d8 Author: Alex Deucher Date: Mon Aug 16 12:44:47 2010 -0400 drm/radeon/kms: DCE3/4 AdjustPixelPll updates Add options necessary bits for: - SS on DP - SS on LVDS - set clocks right for DP - deep color on hdmi (needs additional encoder and edid work as well) Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 1d978dac7e99bd551df5001f0cc92369054dca0d Author: Jean Delvare Date: Sun Aug 15 14:11:24 2010 +0200 drm/radeon: Fix stack data leak Always zero-init a structure on the stack which is returned by a function. Otherwise you may leak random stack data from previous function calls. This fixes the following warning I was seeing: CC [M] drivers/gpu/drm/radeon/radeon_atombios.o drivers/gpu/drm/radeon/radeon_atombios.c: In function "radeon_atom_get_hpd_info_from_gpio": drivers/gpu/drm/radeon/radeon_atombios.c:261: warning: "hpd.plugged_state" is used uninitialized in this function Signed-off-by: Jean Delvare Cc: David Airlie Cc: Alex Deucher Signed-off-by: Dave Airlie commit 2cbeb4efc2b9739fe6019b613ae658bd2119a3eb Author: Jerome Glisse Date: Mon Aug 16 11:54:36 2010 -0400 drm/radeon/kms: fix GTT/VRAM overlapping test GTT/VRAM overlapping test had a typo which leaded to not detecting case when vram_end > gtt_end. This patch fix the logic and should fix #16574 Signed-off-by: Jerome Glisse Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 019408f9b89c68cd7b8ddb904960dc17ccf7e531 Author: Mikulas Patocka Date: Thu Aug 19 14:15:32 2010 -0700 sparc64: Fill a missing delay slot. If the code were already aligned to 64 bytes, wr instruction would be executed twice --- once in delay slot and once in the jump target. Signed-off-by: Mikulas Patocka Signed-off-by: David S. Miller commit ede1b4290781ae82ccf0f2ecc6dada8d3dd35779 Author: Arjan van de Ven Date: Wed Aug 18 15:33:13 2010 -0700 tracing: Fix timer tracing PowerTOP would like to be able to trace timers. Unfortunately, the current timer tracing is not very useful: the actual timer function is not recorded in the trace at the start of timer execution. Although this is recorded for timer "start" time (when it gets armed), this is not useful; most timers get started early, and a tracer like PowerTOP will never see this event, but will only see the actual running of the timer. This patch just adds the function to the timer tracing; I've verified with PowerTOP that now it can get useful information about timers. Signed-off-by: Arjan van de Ven Cc: xiaoguangrong@cn.fujitsu.com Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: # .35.x, .34.x, .33.x LKML-Reference: <4C6C5FA9.3000405@linux.intel.com> Signed-off-by: Ingo Molnar commit 8539992f6091eb8206c781421312157d0c282e6e Author: Michal Simek Date: Wed Aug 18 00:26:34 2010 +0000 ll_temac: Fix poll implementation Functions ll_temac_rx_irq and ll_temac_tx_irq have pointer to net_device as second parameter not pointer to temac_local. Signed-off-by: Michal Simek Signed-off-by: David S. Miller commit 502820a3161e2f228125977d133dd80eea2932d1 Author: Eric Dumazet Date: Wed Aug 18 02:29:30 2010 +0000 netxen: fix a race in netxen_nic_get_stats() Dont clear netdev->stats, it might give transient wrong values to concurrent stat readers. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1003201a73daed739747b9a6c2c39c57aad5878b Author: Eric Dumazet Date: Wed Aug 18 00:42:48 2010 +0000 qlnic: fix a race in qlcnic_get_stats() Dont clear netdev->stats, it might give transient wrong values to concurrent stat readers. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 79c5f51c639021f7472591239c3867cee4b9ec02 Author: Eric Dumazet Date: Wed Aug 18 00:24:43 2010 +0000 irda: fix a race in irlan_eth_xmit() After skb is queued, its illegal to dereference it. Cache skb->len into a temporary variable. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9c38657cfcb739b7dc4ce9065a85b4f0c195bef8 Author: Kuninori Morimoto Date: Thu Aug 19 00:39:45 2010 -0700 net: sh_eth: remove unused variable Signed-off-by: Kuninori Morimoto Signed-off-by: David S. Miller commit 772806bbbc5aa4ddf5ac0de57c1ee7c0ef94e490 Author: Amit Kumar Salecha Date: Tue Aug 17 20:51:52 2010 +0000 netxen: update version 4.0.74 Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 4be353d5169ef2477814b35fe46734a51dcecd09 Author: Amit Kumar Salecha Date: Tue Aug 17 20:51:51 2010 +0000 netxen: fix inconsistent lock state Spin lock rds_ring->lock is used in poll routine, so other users should use spin_lock_bh(). While posting rx buffers from netxen_nic_attach, rds_ring->lock is not required, so cleaning it instead of fixing it by spin_lock_bh(). Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 0ac820eebe9008094040955d294ef7b33b418413 Author: Phil Oester Date: Tue Aug 17 18:45:08 2010 +0000 vlan: Match underlying dev carrier on vlan add When adding a new vlan, if the underlying interface has no carrier, then the newly added vlan interface should also have no carrier. At present, this is not true - the newly added vlan is added with carrier up. Fix by checking state of real device. Signed-off-by: Phil Oester Signed-off-by: David S. Miller commit 0645bab7da3cb021157e5c661ef35f1d1226785a Author: Robert Jennings Date: Tue Aug 17 09:15:45 2010 +0000 ibmveth: Fix opps during MTU change on an active device This fixes the following opps which can occur when trying to deallocate receive buffer pools when changing the MTU of an active ibmveth device. Oops: Kernel access of bad area, sig: 11 [#1] NIP: d000000004db00e8 LR: d000000004db00ac CTR: 0000000000591038 REGS: c00000007fff39d0 TRAP: 0300 Not tainted (2.6.36-rc1) MSR: 8000000000009032 CR: 22248244 XER: 00000002 DAR: 0000000000000488, DSISR: 0000000042000000 TASK = c00000007c463790[6531] 'netserver' THREAD: c00000007a154000 CPU: 0 GPR00: 0000000000000000 c00000007fff3c50 d000000004dbd360 0000000000000001 GPR04: 0000000000000001 1fffffffffffffff 000000000000043c c00000007a8e9f60 GPR08: c00000007a8e9e20 0000000000000245 0000000000000488 0000000000000000 GPR12: 00000000000000c0 c000000006d70000 c00000007bfec098 c00000007bfebc2c GPR16: c00000007a157c78 0000000000000000 0000000000000001 0000000000000000 GPR20: 0000000000000001 0000000000000010 c000000000b51180 c00000007a8e9d90 GPR24: c00000007a8e9da0 c00000007a8e9580 00000000000005ea 00000000000002ff GPR28: 0000000000000004 0000000000000080 c000000000a946f8 c00000007a8e9d80 NIP [d000000004db00e8] .ibmveth_remove_buffer_from_pool+0xe8/0x130 [ibmveth] LR [d000000004db00ac] .ibmveth_remove_buffer_from_pool+0xac/0x130 [ibmveth] Call Trace: [c00000007fff3c50] [d000000004db00ac] .ibmveth_remove_buffer_from_pool+0xac/0x130 [ibmveth] (unreliable) [c00000007fff3cf0] [d000000004db31dc] .ibmveth_poll+0x30c/0x460 [ibmveth] [c00000007fff3dd0] [c00000000042c4b8] .net_rx_action+0x178/0x278 [c00000007fff3eb0] [c000000000093cf0] .__do_softirq+0x118/0x1f8 [c00000007fff3f90] [c00000000002ab3c] .call_do_softirq+0x14/0x24 [c00000007a157600] [c00000000000e3e4] .do_softirq+0xec/0x110 [c00000007a1576a0] [c000000000093394] .local_bh_enable_ip+0xb4/0xe0 [c00000007a157720] [c0000000004f0bac] ._raw_spin_unlock_bh+0x3c/0x50 [c00000007a157790] [c0000000004186e0] .release_sock+0x158/0x188 [c00000007a157840] [c000000000479660] .tcp_recvmsg+0x560/0x9b8 [c00000007a157970] [c0000000004a0d78] .inet_recvmsg+0x80/0xd8 [c00000007a157a00] [c000000000413e28] .sock_recvmsg+0x128/0x178 [c00000007a157bf0] [c0000000004164ac] .SyS_recvfrom+0xb4/0x148 [c00000007a157d70] [c000000000411f3c] .SyS_socketcall+0x274/0x360 [c00000007a157e30] [c0000000000085b4] syscall_exit+0x0/0x40 Reported-by: Rafael Camarda Silva Folco Signed-off-by: Robert Jennings Acked-by: Brian King Signed-off-by: David S. Miller commit 2928db4c3c62552d3caf9ab53ccc6f7ae9865a23 Author: Andre Detsch Date: Tue Aug 17 05:49:12 2010 +0000 ehea: Fix synchronization between HW and SW send queue ehea: Fix synchronization between HW and SW send queue When memory is added to / removed from a partition via the Memory DLPAR mechanism, the eHEA driver has to do a couple of things to reflect the memory change in its own IO address translation tables. This involves stopping and restarting the HW queues. During this operation, it is possible that HW and SW pointer into these queues get out of sync. This results in a situation where packets that are attached to a send queue are not transmitted immediately, but delayed until further X packets have been put on the queue. This patch detects such loss of synchronization, and resets the ehea port when needed. Signed-off-by: Jan-Bernd Themann Signed-off-by: Andre Detsch Signed-off-by: David S. Miller commit 96ac4f6b326450af496e82347e207b0fca7a9090 Author: Yaniv Rosner Date: Mon Aug 16 06:34:07 2010 +0000 bnx2x: Update bnx2x version to 1.52.53-4 Update bnx2x version to 1.52.53-4 Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3971a230f9573cca1cbef96dab05e2682820f1a0 Author: Yaniv Rosner Date: Mon Aug 16 06:34:06 2010 +0000 bnx2x: Fix PHY locking problem PHY locking is required between two ports for some external PHYs. Since initialization was done in the common init function (called only on the first port initialization) rather than in the port init function, there was in fact no PHY locking between the ports. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f037590fff3005ce8a1513858d7d44f50053cc8f Author: Eric Dumazet Date: Mon Aug 16 03:25:00 2010 +0000 rds: fix a leak of kernel memory struct rds_rdma_notify contains a 32 bits hole on 64bit arches, make sure it is zeroed before copying it to user. Signed-off-by: Eric Dumazet CC: Andy Grover Signed-off-by: David S. Miller commit 68d6ac6d2740b6a55f3ae92a4e0be6d881904b32 Author: Johannes Berg Date: Sun Aug 15 21:20:44 2010 +0000 netlink: fix compat recvmsg Since commit 1dacc76d0014a034b8aca14237c127d7c19d7726 Author: Johannes Berg Date: Wed Jul 1 11:26:02 2009 +0000 net/compat/wext: send different messages to compat tasks we had a race condition when setting and then restoring frag_list. Eric attempted to fix it, but the fix created even worse problems. However, the original motivation I had when I added the code that turned out to be racy is no longer clear to me, since we only copy up to skb->len to userspace, which doesn't include the frag_list length. As a result, not doing any frag_list clearing and restoring avoids the race condition, while not introducing any other problems. Additionally, while preparing this patch I found that since none of the remaining netlink code is really aware of the frag_list, we need to use the original skb's information for packet information and credentials. This fixes, for example, the group information received by compat tasks. Cc: Eric Dumazet Cc: stable@kernel.org [2.6.31+, for 2.6.35 revert 1235f504aa] Signed-off-by: Johannes Berg Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e243f5b6de35b6fc394bc2e1e1737afe538e7e0c Author: Sam Ravnborg Date: Sun Aug 15 10:03:57 2010 +0000 netfilter: fix userspace header warning "make headers_check" issued the following warning: CHECK include/linux/netfilter (64 files) usr/include/linux/netfilter/xt_ipvs.h:19: found __[us]{8,16,32,64} type without #include Fix this by as suggested including linux/types.h. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit a49f37eed22b74221f271811ea41323654e40dad Author: Sachin Sanap Date: Fri Aug 13 21:22:49 2010 +0000 net: add Fast Ethernet driver for PXA168. Signed-off-by: Sachin Sanap Signed-off-by: David S. Miller commit 9c77b846ec8b4e0c7107dd7f820172462dc84a61 Author: Daniel T Chen Date: Wed Aug 18 19:33:43 2010 -0400 ALSA: intel8x0: Mute External Amplifier by default for ThinkPad X31 BugLink: https://bugs.launchpad.net/bugs/619439 This ThinkPad model needs External Amplifier muted for audible playback, so set the inv_eapd quirk for it. Reported-and-tested-by: Dennis Bell Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 274714f55c023c683a6b2deedfb2209a9457f4ec Author: Takashi Iwai Date: Thu Aug 19 08:11:53 2010 +0200 ALSA: hda - Fix build error with CONFIG_PROC_FS=n hdmi_eld_update_pcm_info() must be always compiled in. Signed-off-by: Takashi Iwai commit 4d8ec5f3b65dd64fa785192dc7ab2807916a05b2 Author: Charles Chin Date: Thu Aug 19 08:06:16 2010 +0200 ALSA: hda - Add support for IDT 92HD89XX codecs Just added new codec ids. These are almost compatible with existing ones. Signed-off-by: Charles Chin Signed-off-by: Takashi Iwai commit 0f58189d4a3ca96d7959501ecb203177efdbc5bd Author: David S. Miller Date: Wed Aug 18 22:53:26 2010 -0700 sparc64: Make lock backoff really a NOP on UP builds. As noticed by Mikulas Patocka, the backoff macros don't completely nop out for UP builds, we still get a branch always and a delay slot nop. Fix this by making the branch to the backoff spin loop selective, then we can nop out the spin loop completely. Signed-off-by: David S. Miller commit 6ec274750c99448c3412bbc10c97ce0c993f8a4e Author: Mikulas Patocka Date: Wed Aug 18 08:03:37 2010 +0000 sparc64: simple microoptimizations for atomic functions Simple microoptimizations for sparc64 atomic functions: Save one instruction by using a delay slot. Use %g1 instead of %g7, because %g1 is written earlier. Signed-off-by: Mikulas Patocka Signed-off-by: David S. Miller commit 6a017e043a8c5e4f1e7c1152bc6477da8066f5f6 Author: Wey-Yi Guy Date: Wed Aug 18 12:53:28 2010 -0700 iwlwifi: use long monitor timer for 5300 series For 5000 series of devices, use long monitor timer to check stuck tx queues. This modification apply to all the 5000 series including 5300 and others. Cc: stable@kernel.org [2.6.35] Reported-by: drago01 Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5db5584441c2dceb75696fb31a44ac7b9b925359 Author: Joe Perches Date: Wed Aug 11 19:11:19 2010 -0700 drivers/net/wireless: Restore upper case words in wiphy_ messages Commit c96c31e499b70964cfc88744046c998bb710e4b8 "(drivers/net/wireless: Use wiphy_)" inadvertently changed some upper case words to lower case. Restore the original case. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 9b3bb86acabe0c05923cea1ed3b0bee9439fef4b Author: David S. Miller Date: Tue Aug 17 22:49:26 2010 -0700 sparc64: Make rwsems 64-bit. Basically tip-off the powerpc code, use a 64-bit type and atomic64_t interfaces for the implementation. This gets us off of the by-hand asm code I wrote, which frankly I think probably ruins I-cache hit rates. The idea was the keep the call chains less deep, but anything taking the rw-semaphores probably is also calling other stuff and therefore already has allocated a stack-frame. So no real stack frame savings ever. Ben H. has posted patches to make powerpc use 64-bit too and with some abstractions we can probably use a shared header file somewhere. With suggestions from Sam Ravnborg. Signed-off-by: David S. Miller commit b10f997bb0f4e5b34d447f498fb85834a40d3acb Author: David S. Miller Date: Tue Aug 17 21:44:13 2010 -0700 sparc64: Really fix atomic64_t interface types. Linus noticed that some of the interface arguments didn't get "int" --> "long" conversion, as needed. Signed-off-by: David S. Miller commit 8b8ab9d5e352aae0dcae53c657b25ab61bb73f0f Author: Johannes Berg Date: Tue Aug 17 11:24:01 2010 +0200 iwlwifi: fix 3945 filter flags Applying the filter flags directly as done since commit 3474ad635db371b0d8d0ee40086f15d223d5b6a4 Author: Johannes Berg Date: Thu Apr 29 04:43:05 2010 -0700 iwlwifi: apply filter flags directly broke 3945 under some unknown circumstances, as reported by Alex. Since I want to keep the direct application of filter flags on iwlagn, duplicate the code into both 3945 and agn and remove committing the RXON that broke things from the 3945 version. Cc: stable@kernel.org [2.6.35] Reported-by: Alex Romosan Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c206a04fba2c3890bc95dc9c20ae2cf9740fae71 Author: John W. Linville Date: Fri Aug 13 18:47:33 2010 -0400 ipw2100: don't sync status queue entries These are allocated with pci_alloc_consistent, so calling pci_dma_sync_single_for_cpu is incorrect usage of the API. Remove this misuse and consequently avoid the following backtrace: WARNING: at lib/dma-debug.c:902 check_sync+0xce/0x43a() Hardware name: 2373HU6 ipw2100 0000:02:02.0: DMA-API: device driver tries to sync DMA memory it has not allocated [device address=0x0000000034e88008] [size=8 bytes] Modules linked in: microcode ipw2100(+) snd_seq_device ppdev libipw nsc_ircc snd_pcm lib80211 video output irda parport_pc cfg80211 parport thinkpad_acpi e1000 iTCO_wdt crc_ccitt snd_timer iTCO_vendor_support snd i2c_i801 pcspkr rfkill soundcore joydev snd_page_alloc yenta_socket radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan] Pid: 0, comm: swapper Tainted: G W 2.6.35-wl+ #8 Call Trace: [] warn_slowpath_common+0x6a/0x7f [] ? check_sync+0xce/0x43a [] warn_slowpath_fmt+0x2b/0x2f [] check_sync+0xce/0x43a [] ? print_lock_contention_bug+0x11/0xb2 [] debug_dma_sync_single_for_cpu+0x47/0x49 [] ? ehci_irq+0x31/0x331 [] ? ipw2100_irq_tasklet+0x24/0x5e9 [ipw2100] [] ? ipw2100_irq_tasklet+0x24/0x5e9 [ipw2100] [] pci_dma_sync_single_for_cpu.clone.1+0x42/0x4b [ipw2100] [] ipw2100_irq_tasklet+0x17c/0x5e9 [ipw2100] [] tasklet_action+0x78/0xcb [] __do_softirq+0xc4/0x183 [] do_softirq+0x3b/0x5f [] irq_exit+0x3a/0x6d [] do_IRQ+0x8b/0x9f [] common_interrupt+0x35/0x3c [] ? acpi_idle_enter_simple+0xfe/0x13c [] ? exit_itimers+0x2d/0x73 [] ? acpi_idle_enter_simple+0x100/0x13c [] cpuidle_idle_call+0x78/0xdc [] cpu_idle+0x9b/0xb7 [] rest_init+0xa6/0xab [] start_kernel+0x389/0x38e [] i386_start_kernel+0xc9/0xd0 Signed-off-by: John W. Linville commit 3c955b407a084810f57260d61548cc92c14bc627 Author: Jan Beulich Date: Mon Aug 16 11:58:58 2010 +0100 fixes for using make 3.82 It doesn't like pattern and explicit rules to be on the same line, and it seems to be more picky when matching file (or really directory) names with different numbers of trailing slashes. Signed-off-by: Jan Beulich Acked-by: Sam Ravnborg Andrew Benton Cc: Signed-off-by: Michal Marek commit 1b2f1489633888d4a06028315dc19d65768a1c05 Author: Dave Airlie Date: Sat Aug 14 20:20:34 2010 +1000 drm: block userspace under allocating buffer and having drivers overwrite it (v2) With the current screwed but its ABI, ioctls for the drm, Linus pointed out that we could allow userspace to specify the allocation size, but we pass it to the driver which then uses it blindly to store a struct. Now if userspace specifies the allocation size as smaller than the driver needs, the driver can possibly overwrite memory. This patch restructures the driver ioctls so we store the structure size we are expecting, and make sure we allocate at least that size. The copy from/to userspace are still restricted to the size the user specifies, this allows ioctl structs to grow on both sides of the equation. Up until now we didn't really use the DRM_IOCTL defines in the kernel, so this cleans them up and adds them for nouveau. v2: fix nouveau pushbuf arg (thanks to Ben for pointing it out) Reported-by: Linus Torvalds Signed-off-by: Dave Airlie commit b9f0aee83335db1f3915f4e42a5e21b351740afd Author: Dave Airlie Date: Tue Aug 17 14:46:00 2010 +1000 drm: stop information leak of old kernel stack. non-critical issue, CVE-2010-2803 Userspace controls the amount of memory to be allocate, so it can get the ioctl to allocate more memory than the kernel uses, and get access to kernel stack. This can only be done for processes authenticated to the X server for DRI access, and if the user has DRI access. Fix is to just memset the data to 0 if the user doesn't copy into it in the first place. Reported-by: Kees Cook Signed-off-by: Dave Airlie commit 625db6b7e34580b750a13fd36a211a4366f6c3e2 Author: Ben Skeggs Date: Tue Aug 17 12:02:43 2010 +1000 drm/nouveau: fix earlier mistake when fixing merge conflict Signed-off-by: Ben Skeggs commit b515f3a2d8f8543aa189ac8d10195f923b64245b Author: Ben Skeggs Date: Mon Aug 16 08:18:16 2010 +1000 drm/nvc0: fix thinko in instmem suspend/resume Signed-off-by: Ben Skeggs commit 20d66daf0aeae4abd2f498d0cedf3e506946f3c2 Author: Francisco Jerez Date: Sun Aug 15 14:32:49 2010 +0200 drm/nouveau: Workaround missing GPIO tables on an Apple iMac G4 NV18. This should fix the reported TV-out load detection false positives (fdo bug 29455). Reported-by: Vlado Plaga Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 19bf5f7df918f86a1507389101b5eddcad983951 Author: Francisco Jerez Date: Sat Aug 14 18:45:58 2010 +0200 drm/nouveau: Add TV-out quirk for an MSI nForce2 IGP. The blob also thinks there's a TV connected, so hardware bug... Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 46d4cae20038bcb2511cba0c86f0be2d11520369 Author: Ben Skeggs Date: Fri Aug 13 10:22:41 2010 +1000 drm/nv50-nvc0: ramht_size is meant to be in bytes, not entries Fixes an infinite loop that can happen in RAMHT lookup. Signed-off-by: Ben Skeggs commit 45a68a072ee3b7f8fbd84b946aac827cc61256b0 Author: Ben Skeggs Date: Fri Aug 13 08:37:55 2010 +1000 drm/nouveau: punt some more log messages to debug level Signed-off-by: Ben Skeggs commit 98720bf4e1ba5f1d0109f97a49a9028b91f25cbe Author: Ben Skeggs Date: Fri Aug 13 08:31:22 2010 +1000 drm/nouveau: remove warning about unknown tmds table revisions This message is apparently confusing people, and is being blamed for some modesetting issues. Lets remove the message, and instead replace it with an unconditional printout of the table revision. Signed-off-by: Ben Skeggs commit bd6aaea89318bd3aede9e219d6a003afd9978d5b Author: Ben Skeggs Date: Thu Aug 12 10:23:06 2010 +1000 drm/nouveau: check for error when allocating/mapping dummy page Signed-off-by: Ben Skeggs commit 415e6186f17136075f7cc825ba3835d005773637 Author: Ben Skeggs Date: Fri Jul 23 09:06:52 2010 +1000 drm/nouveau: fix race condition when under memory pressure When VRAM is running out it's possible that the client's push buffers get evicted to main memory. When they're validated back in, the GPU may be used for the copy back to VRAM, but the existing synchronisation code only deals with inter-channel sync, not sync between PFIFO and PGRAPH on the same channel. This leads to PFIFO fetching from command buffers that haven't quite been copied by PGRAPH yet. This patch marks push buffers as so, and forces any GPU-assisted buffer moves to be done on a different channel, which triggers the correct synchronisation to happen before we submit them. Signed-off-by: Ben Skeggs commit 56dfc58ea094e7a8607786f4762c65b09cd85738 Author: Ben Skeggs Date: Tue Aug 10 10:50:13 2010 +1000 drm/nv50: fix minor thinko from nvc0 changes Signed-off-by: Ben Skeggs commit 4ca2b7120cf8ee266e6c44429ccb541d63480c4a Author: Francisco Jerez Date: Sun Aug 8 21:35:57 2010 +0200 drm/nouveau: Don't try DDC on the dummy I2C channel. Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 3643f849d7da5c12da589beb03c12303fe79b841 Author: Sam Ravnborg Date: Sat Aug 14 14:40:00 2010 +0200 kconfig: fix segfault when detecting recursive dependency Following sample Kconfig generated a segfault: config FOO bool select PERF_EVENTS if HAVE_HW_BREAKPOINT config PERF_EVENTS bool config HAVE_HW_BREAKPOINT bool depends on PERF_EVENTS Fix by reverting back to a valid property if there was no property on the stack of symbols. The above pattern were seen in sh Kconfig. A fix for the Kconfig file has been sent to the sh folks. Signed-off-by: Sam Ravnborg Signed-off-by: Michal Marek commit 84062dd3a6a045395a43de1d9adc9b8eb2d1426e Author: Sam Ravnborg Date: Sat Aug 14 23:22:16 2010 +0200 kconfig: fix savedefconfig with choice marked optional savedefconfig failed to save the correct minimal config when it encountered a choice marked optional. Consider following minimal configuration: $cat Kconfig choice prompt "choice" optional config A bool "a" config B bool "b" endchoice $cat .config | grep -v ^# CONFIG_A=y $conf --savedefconfig=defconfig Kconfig would before this fix result in an empty file, because kconfig would assume that CONFIG_A=y is a default value. But because the choice is optional the default is that both A and B are =n. Fix so we handle optional choices correct. Signed-off-by: Sam Ravnborg Signed-off-by: Michal Marek commit 3198c68cb4e1967f59244f0a0b9f46102d617373 Author: Wey-Yi Guy Date: Fri Jul 23 13:19:40 2010 -0700 iwlwifi: use long monitor timer to avoid un-necessary reload For 5000 and 6000g2b series of devices, use long monitor timer to check stuck tx queues. .6000g2b series device, it is WiFi/BT combo device, there are some cases, tx queues are not move for a period of time because the WiFi/BT coex. .5000 series device, it is being reported firmware got reload more often than necessary, so extend the timer to avoid un-necessary reload. Signed-off-by: Wey-Yi Guy commit ce60659ad838a77d71aa817a6781659799970ae1 Author: Wey-Yi Guy Date: Fri Jul 23 13:19:39 2010 -0700 iwlwifi: long monitor timer Change the name for monitor timer, also adding define for long monitor timer; long monitor timer can be used for the type of devices require longer time to determine the uCode is stuck on tx and needed reload. Signed-off-by: Wey-Yi Guy