commit d70ac829b7f42d7ef4f879635c6a772b0b4ed0a2 Author: Linus Torvalds Date: Fri Jun 20 16:19:44 2008 -0700 Linux 2.6.26-rc7 commit 06d5e334a4f8a1f33ebfcdc89c077f4fc85bcffb Merge: d5545fa... ac16236... Author: Linus Torvalds Date: Fri Jun 20 12:46:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: BAST: Remove old IDE driver pcmcia ide kingston compactflash's have a new manufacturer id pcmcia: add another pata/ide ID pcmcia: add an pata/ide ID ide: increase timeout in wait_drive_not_busy() palm_bk3710: fix resource management commit d5545fa0056ff2982f8a6419bd9a6ba2674deefd Merge: 77a189c... 9499fe2... Author: Linus Torvalds Date: Fri Jun 20 12:41:10 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: Kconfig menu touch-up firewire: Kconfig menu touch-up firewire: deadline for PHY config transmission firewire: fw-ohci: unify printk prefixes firewire: fill_bus_reset_event needs lock protection firewire: fw-ohci: write selfIDBufferPtr before LinkControl.rcvSelfID firewire: fw-ohci: disable PHY packet reception into AR context firewire: fw-ohci: use of uninitialized data in AR handler firewire: don't panic on invalid AR request buffer commit 77a189c28b44035ff1b6841df32c43af8a9e8399 Merge: 9aef85c... 5a87f7f... Author: Linus Torvalds Date: Fri Jun 20 12:39:12 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: no AC status notification ACPI Exception (video-1721): UNKNOWN_STATUS_CODE, Cant attach device commit 9aef85cc58f54f01bbbafdb3c87af4465f4257c0 Merge: fdfe6d3... 858a368... Author: Linus Torvalds Date: Fri Jun 20 12:38:18 2008 -0700 Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (21 commits) drm: only trust core drm ioctls - driver ioctls are a mess. drm/i915: add support for Intel series 4 chipsets. drm/radeon: add hier-z registers for r300 and r500 chipsets drm/radeon: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTAT drm/radeon: switch IGP gart to use radeon_write_agp_base() drm/radeon: Restore sw interrupt on resume drm/r500: add support for AGP based cards. drm/radeon: fix texture uploads with large 3d textures (bug 13980) drm/radeon: add initial r500 support. drm/radeon: init pipe setup in kernel code. drm/radeon: fixup radeon_do_engine_reset drm/radeon: fix pixcache and purge/cache flushing registers drm/radeon: write AGP_BASE_2 on chips that support it. drm/radeon: merge IGP chip setup and fixup RS400 vs RS480 support drm/radeon: IGP clean up register and magic numbers. drm/rs690: set base 2 to 0. drm/rs690: set all of gart base address. radeon: add production microcode from AMD drm: pcigart use proper pci map interfaces. drm: the sg alloc ioctl should write back the handle to userspace ... commit fdfe6d3d000775b50fb1adbc278ba0a34c3007c7 Merge: 1f1e2ce... 7d15ddf... Author: Linus Torvalds Date: Fri Jun 20 12:37:55 2008 -0700 Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: [agp]: fixup chipset flush for new Intel G4x. agp: brown paper bag patch - put back the two lines it took out. commit 1f1e2ce8a55bac60ff165d353c6b882e750c9092 Merge: e570dc2... 9c106c1... Author: Linus Torvalds Date: Fri Jun 20 12:37:13 2008 -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: softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression rcupreempt: remove export of rcu_batches_completed_bh cpuset: limit the input of cpuset.sched_relax_domain_level commit e570dc2a503f8334b700e8483082c675394f53fd Merge: b1ae8d3... d4abc23... Author: Linus Torvalds Date: Fri Jun 20 12:36:55 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched, delay accounting: fix incorrect delay time when constantly waiting on runqueue sched: CPU hotplug events must not destroy scheduler domains created by the cpusets sched: rt-group: fix RR buglet sched: rt-group: heirarchy aware throttle sched: rt-group: fix hierarchy sched: NULL pointer dereference while setting sched_rt_period_us sched: fix defined-but-unused warning commit b1ae8d3a00530c035ef97fa4d97f4bee9be75c43 Merge: 5501792... ffe6e1d... Author: Linus Torvalds Date: Fri Jun 20 12:36:38 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, geode: add a VSA2 ID for General Software x86: use BOOTMEM_EXCLUSIVE on 32-bit x86, 32-bit: fix boot failure on TSC-less processors x86: fix NULL pointer deref in __switch_to x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits. commit 55017923f699471f68c1469d5f3ff141dd416ab4 Merge: b4eea67... f30ac0c... Author: Linus Torvalds Date: Fri Jun 20 12:34:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue. Blackfin arch: fix typo error in bf548 serial header file commit b4eea67a129423fe423c5d8d26a0aaa9d68ed600 Merge: 1f6ef23... 9a3b103... Author: Linus Torvalds Date: Fri Jun 20 12:31:03 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: sis can't do PMP ata_piix: add TECRA M4 to broken suspend list LIBATA: Add HAVE_PATA_PLATFORM to select PATA_PLATFORM driver sata_mv: warn on PIO with multiple DRQs sata_mv: enable async_notify for 60x1 Rev.C0 and higher libata: don't check whether to use DMA or not for no data commands ahci: jmb361 has only one port commit 1f6ef2342972dc7fd623f360f84006e2304eb935 Author: Linus Torvalds Date: Fri Jun 20 12:19:28 2008 -0700 [watchdog] hpwdt: fix use of inline assembly The inline assembly in drivers/watchdog/hpwdt.c was incredibly broken, and included all the function prologue and epilogue stuff, even though it was itself then inside a C function where the compiler would add its own prologue and epilogue on top of it all. This then just _happened_ to work if you had exactly the right compiler version and exactly the right compiler flags, so that gcc just happened to not create any prologue at all (the gcc-generated epilogue wouldn't matter, since it would never be reached). But the more proper way to fix it is to simply not do this. Move the inline asm to the top level, with no surrounding function at all (the better alternative would be to remove the prologue and make it actually use proper description of the arguments to the inline asm, but that's a bigger change than the one I'm willing to make right now). Tested-by: S.Çağlar Onur Acked-by: Thomas Mingarelli Signed-off-by: Linus Torvalds commit ac1623625c5818bbdf5c68973098ba386ba7a004 Author: Ben Dooks Date: Fri Jun 20 20:53:35 2008 +0200 BAST: Remove old IDE driver Remove the old BAST IDE driver, as we are now using the platform-pata support. Signed-off-by: Ben Dooks Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit a49c06bfe48c43b4fea4d3789807d8393828ca8a Author: Christophe Niclaes Date: Fri Jun 20 20:53:34 2008 +0200 pcmcia ide kingston compactflash's have a new manufacturer id Up to now, Kingston compactflash cards (ab)used the Toshiba Manufacturer's ID, In their new CF cards, they use a new one. Let's the ide subsystem recognize CF cards with the new id. Signed-off-by: Christophe Niclaes Acked-by: Philippe De Muyter Cc: Alan Cox Cc: Dominik Brodowski Signed-off-by: Bartlomiej Zolnierkiewicz commit a17bf220231a5061a29a27a99a273246eb3b156e Author: Kristoffer Ericson Date: Fri Jun 20 20:53:34 2008 +0200 pcmcia: add another pata/ide ID Addition of Transcend 1GB 45x id so that it is properly detected. [bart: fix typo in ide-cs's ID spotted by Alan Cox] Signed-off-by: William Peters Signed-off-by: Kristoffer Ericson CC: Alan Cox CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski Signed-off-by: Bartlomiej Zolnierkiewicz commit 74e23386b7818c7edb1252f6661806dd34042db1 Author: Matt Reimer Date: Fri Jun 20 20:53:34 2008 +0200 pcmcia: add an pata/ide ID Add an id for: product info: "M-Systems", "CF300", "" manfid: 0x000a, 0x0000 function: 4 (fixed disk) Signed-off-by: Matt Reimer CC: Alan Cox CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski Signed-off-by: Bartlomiej Zolnierkiewicz commit f54feafa6d47d0aa1a96adefdc763b708b02f94f Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 20 20:53:33 2008 +0200 ide: increase timeout in wait_drive_not_busy() Some ATAPI devices take longer than the current max timeout value to become ready (i.e. TEAC DV-W28ECW takes 6 ms) so increase the timeout value to 10 ms. This fixes kernel.org bugzilla bug #10887: http://bugzilla.kernel.org/show_bug.cgi?id=10887 Reported-by: Masanari Iida Signed-off-by: Bartlomiej Zolnierkiewicz commit ce42a54946db338e43be9a89c0f7927e02aa3a16 Author: Sergei Shtylyov Date: Fri Jun 20 20:53:32 2008 +0200 palm_bk3710: fix resource management The driver expected a *virtual* address in the IDE platform device's memory resource and didn't request the memory region for the register block. Fix this taking into account the fact that DaVinci SoC devices are fixed-mapped to the virtual memory early and we can get their virtual addresses using IO_ADDRESS() macro, not having to call ioremap()... While at it, also do some cosmetic changes... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 89f5b7da2a6bad2e84670422ab8192382a5aeb9f Author: Linus Torvalds Date: Fri Jun 20 11:18:25 2008 -0700 Reinstate ZERO_PAGE optimization in 'get_user_pages()' and fix XIP KAMEZAWA Hiroyuki and Oleg Nesterov point out that since the commit 557ed1fa2620dc119adb86b34c614e152a629a80 ("remove ZERO_PAGE") removed the ZERO_PAGE from the VM mappings, any users of get_user_pages() will generally now populate the VM with real empty pages needlessly. We used to get the ZERO_PAGE when we did the "handle_mm_fault()", but since fault handling no longer uses ZERO_PAGE for new anonymous pages, we now need to handle that special case in follow_page() instead. In particular, the removal of ZERO_PAGE effectively removed the core file writing optimization where we would skip writing pages that had not been populated at all, and increased memory pressure a lot by allocating all those useless newly zeroed pages. This reinstates the optimization by making the unmapped PTE case the same as for a non-existent page table, which already did this correctly. While at it, this also fixes the XIP case for follow_page(), where the caller could not differentiate between the case of a page that simply could not be used (because it had no "struct page" associated with it) and a page that just wasn't mapped. We do that by simply returning an error pointer for pages that could not be turned into a "struct page *". The error is arbitrarily picked to be EFAULT, since that was what get_user_pages() already used for the equivalent IO-mapped page case. [ Also removed an impossible test for pte_offset_map_lock() failing: that's not how that function works ] Acked-by: Oleg Nesterov Acked-by: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Hugh Dickins Cc: Andrew Morton Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Linus Torvalds commit 5a87f7f5e523030aa6fe732ec338fd53c9a11c42 Merge: 7b09f27... d385c2a... Author: Len Brown Date: Fri Jun 20 02:47:16 2008 -0400 Merge branch 'bugzilla-9761' into release commit 7b09f27891476c668d058926b90539e4068fbda2 Merge: 9bedbcb... f163ff5... Author: Len Brown Date: Fri Jun 20 02:45:05 2008 -0400 Merge branch 'bugzilla-10695' into release commit 858a3685bcf3ac199128e4aa85eaae2fb9d191b5 Author: Dave Airlie Date: Fri Jun 20 15:42:38 2008 +1000 drm: only trust core drm ioctls - driver ioctls are a mess. So driver ioctls need a full auditing before we can make this change. Signed-off-by: Dave Airlie commit d3adbc0c582b767ba1561ffa38313e905cc917ea Author: Zhenyu Wang Date: Fri Jun 20 12:12:56 2008 +1000 drm/i915: add support for Intel series 4 chipsets. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 7d15ddf79ec35ce79093832c80b86c0888eb5bce Author: Zhenyu Wang Date: Fri Jun 20 11:48:06 2008 +1000 [agp]: fixup chipset flush for new Intel G4x. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit ffe6e1da86d21d7855495b5a772c93f050258f6e Author: Jordan Crouse Date: Wed Jun 18 11:34:38 2008 -0600 x86, geode: add a VSA2 ID for General Software General Software writes their own VSA2 module for their version of the Geode BIOS, which returns a different ID then the standard VSA2. This was causing the framebuffer driver to break for most GSW boards. Signed-off-by: Jordan Crouse Cc: tglx@linutronix.de Cc: linux-geode@lists.infradead.org Signed-off-by: Ingo Molnar commit d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a Author: Bharath Ravi Date: Mon Jun 16 15:11:01 2008 +0530 sched, delay accounting: fix incorrect delay time when constantly waiting on runqueue This patch corrects the incorrect value of per process run-queue wait time reported by delay statistics. The anomaly was due to the following reason. When a process leaves the CPU and immediately starts waiting for CPU on the runqueue (which means it remains in the TASK_RUNNABLE state), the time of re-entry into the run-queue is never recorded. Due to this, the waiting time on the runqueue from this point of re-entry upto the next time it hits the CPU is not accounted for. This is solved by recording the time of re-entry of a process leaving the CPU in the sched_info_depart() function IF the process will go back to waiting on the run-queue. This IF condition is verified by checking whether the process is still in the TASK_RUNNABLE state. The patch was tested on 2.6.26-rc6 using two simple CPU hog programs. The values noted prior to the fix did not account for the time spent on the runqueue waiting. After the fix, the correct values were reported back to user space. Signed-off-by: Bharath Ravi Signed-off-by: Madhava K R Cc: dhaval@linux.vnet.ibm.com Cc: vatsa@in.ibm.com Cc: balbir@in.ibm.com Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f30ac0ce34f32bb998ac87e37b251374de03e603 Author: Sonic Zhang Date: Thu Jun 19 17:46:39 2008 +0800 Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue. This allows other threads to run when the serial driver polls the CTS PIN in a loop. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit ec64b6c8763c83899908fdd62746435c19211686 Author: Sonic Zhang Date: Thu Jun 19 17:07:15 2008 +0800 Blackfin arch: fix typo error in bf548 serial header file Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit d3942cff620bea073fc4e3c8ed878eb1e84615ce Author: Bernhard Walle Date: Sun Jun 8 16:16:07 2008 +0200 x86: use BOOTMEM_EXCLUSIVE on 32-bit This patch uses the BOOTMEM_EXCLUSIVE for crashkernel reservation also for i386 and prints a error message on failure. The patch is still for 2.6.26 since it is only bug fixing. The unification of reserve_crashkernel() between i386 and x86_64 should be done for 2.6.27. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar Cc: commit df17b1d990fc214f033c5588e58216ec941591e0 Author: Mikael Pettersson Date: Sun Jun 15 02:19:56 2008 +0200 x86, 32-bit: fix boot failure on TSC-less processors Booting 2.6.26-rc6 on my 486 DX/4 fails with a "BUG: Int 6" (invalid opcode) and a kernel halt immediately after the kernel has been uncompressed. The BUG shows EIP pointing to an rdtsc instruction in native_read_tsc(), invoked from native_sched_clock(). (This error occurs so early that not even the serial console can capture it.) A bisection showed that this bug first occurs in 2.6.26-rc3-git7, via commit 9ccc906c97e34fd91dc6aaf5b69b52d824386910: >x86: distangle user disabled TSC from unstable > >tsc_enabled is set to 0 from the command line switch "notsc" and from >the mark_tsc_unstable code. Seperate those functionalities and replace >tsc_enable with tsc_disable. This makes also the native_sched_clock() >decision when to use TSC understandable. > >Preparatory patch to solve the sched_clock() issue on 32 bit. > >Signed-off-by: Thomas Gleixner The core reason for this bug is that native_sched_clock() gets called before tsc_init(). Before the commit above, tsc_32.c used a "tsc_enabled" variable which defaulted to 0 == disabled, and which only got enabled late in tsc_init(). Thus early calls to native_sched_clock() would skip the TSC and use jiffies instead. After the commit above, tsc_32.c uses a "tsc_disabled" variable which defaults to 0, meaning that the TSC is Ok to use. Early calls to native_sched_clock() now erroneously try to use the TSC on !cpu_has_tsc processors, leading to invalid opcode exceptions. My proposed fix is to initialise tsc_disabled to a "soft disabled" state distinct from the hard disabled state set up by the "notsc" kernel option. This fixes the native_sched_clock() problem. It also allows tsc_init() to be simplified: instead of setting tsc_disabled = 1 on every error return, we just set tsc_disabled = 0 once when all checks have succeeded. I've verified that this lets my 486 boot again. I've also verified that a Core2 machine still uses the TSC as clocksource after the patch. Signed-off-by: Mikael Pettersson Signed-off-by: Ingo Molnar commit 75118a82e21cafb4a82b53bb85d1c7689787e046 Author: Suresh Siddha Date: Fri Jun 13 15:47:12 2008 -0700 x86: fix NULL pointer deref in __switch_to Patrick McHardy reported a crash: > > I get this oops once a day, its apparently triggered by something > > run by cron, but the process is a different one each time. > > > > Kernel is -git from yesterday shortly before the -rc6 release > > (last commit is the usb-2.6 merge, the x86 patches are missing), > > .config is attached. > > > > I'll retry with current -git, but the patches that have gone in > > since I last updated don't look related. > > > > [62060.043009] BUG: unable to handle kernel NULL pointer dereference at > > 000001ff > > [62060.043009] IP: [] __switch_to+0x2f/0x118 > > [62060.043009] *pde = 00000000 > > [62060.043009] Oops: 0002 [#1] PREEMPT Vegard Nossum analyzed it: > This decodes to > > 0: 0f ae 00 fxsave (%eax) > > so it's related to the floating-point context. This is the exact > location of the crash: > > $ addr2line -e arch/x86/kernel/process_32.o -i ab0 > include/asm/i387.h:232 > include/asm/i387.h:262 > arch/x86/kernel/process_32.c:595 > > ...so it looks like prev_task->thread.xstate->fxsave has become NULL. > Or maybe it never had any other value. Somehow (as described below) TS_USEDFPU is set but the fpu is not allocated or freed. Another possible FPU pre-emption issue with the sleazy FPU optimization which was benign before but not so anymore, with the dynamic FPU allocation patch. New task is getting exec'd and it is prempted at the below point. flush_thread() { ... /* * Forget coprocessor state.. */ clear_fpu(tsk); <----- Preemption point clear_used_math(); ... } Now when it context switches in again, as the used_math() is still set and fpu_counter can be > 5, we will do a math_state_restore() which sets the task's TS_USEDFPU. After it continues from the above preemption point it does clear_used_math() and much later free_thread_xstate(). Now, at the next context switch, it is quite possible that xstate is null, used_math() is not set and TS_USEDFPU is still set. This will trigger unlazy_fpu() causing kernel oops. Fix this by clearing tsk's fpu_counter before clearing task's fpu. Reported-by: Patrick McHardy Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit ad524d46f36bbc32033bb72ba42958f12bf49b06 Author: Jeremy Fitzhardinge Date: Fri Jun 6 10:21:39 2008 +0100 x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits. When a 64-bit x86 processor runs in 32-bit PAE mode, a pte can potentially have the same number of physical address bits as the 64-bit host ("Enhanced Legacy PAE Paging"). This means, in theory, we could have up to 52 bits of physical address in a pte. The 32-bit kernel uses a 32-bit unsigned long to represent a pfn. This means that it can only represent physical addresses up to 32+12=44 bits wide. Rather than widening pfns everywhere, just set 2^44 as the Linux x86_32-PAE architectural limit for physical address size. This is a bugfix for two cases: 1. running a 32-bit PAE kernel on a machine with more than 64GB RAM. 2. running a 32-bit PAE Xen guest on a host machine with more than 64GB RAM In both cases, a pte could need to have more than 36 bits of physical, and masking it to 36-bits will cause fairly severe havoc. Signed-off-by: Jeremy Fitzhardinge Cc: Jan Beulich Cc: Signed-off-by: Ingo Molnar commit 9c106c119ebedf624fbd682fd2a4d52e3c8c1a67 Author: Jason Wessel Date: Tue May 27 12:23:29 2008 -0500 softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression The touch_nmi_watchdog() routine on x86 ultimately calls touch_softlockup_watchdog(). The problem is that to touch the softlockup watchdog, the cpu_clock code has to be called which could involve multiple cpu locks and can lead to a hard hang if one of the locks is held by a processor that is not going to return anytime soon (such as could be the case with kgdb or perhaps even with some other kind of exception). This patch causes the public version of the touch_softlockup_watchdog() to defer the cpu clock access to a later point. The test case for this problem is to use the following kernel config options: CONFIG_KGDB_TESTS=y CONFIG_KGDB_TESTS_ON_BOOT=y CONFIG_KGDB_TESTS_BOOT_STRING="V1F100I100000" It should be noted that kgdb test suite and these options were not available until 2.6.26-rc2, so it was necessary to patch the kgdb test suite during the bisection. I would consider this patch a regression fix because the problem first appeared in commit 27ec4407790d075c325e1f4da0a19c56953cce23 when some logic was added to try to periodically sync the clocks. It was possible to work around this particular problem by simply not performing the sync anytime the system was in a critical context. This was ok until commit 3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd, which added config option CONFIG_HAVE_UNSTABLE_SCHED_CLOCK and some multi-cpu locks to sync the clocks. It became clear that accessing this code from an nmi was the source of the lockups. Avoiding the access to the low level clock code from an code inside the NMI processing also fixed the problem with the 27ec44... commit. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit afd38009cc3acd36d41f349a669ad5825d695b1f Author: Steven Rostedt Date: Thu May 22 14:18:17 2008 -0400 rcupreempt: remove export of rcu_batches_completed_bh In rcupreempt, rcu_batches_completed_bh is defined as a static inline in the header file. This does not need to be exported, and not only that, this breaks my PPC build. Signed-off-by: Steven Rostedt Cc: "Paul E. McKenney" Cc: paulus@samba.org Cc: linuxppc-dev@ozlabs.org Signed-off-by: Thomas Gleixner commit 30e0e178193d4221abc9926b07a4c7661c7cc4a9 Author: Li Zefan Date: Tue May 13 10:27:17 2008 +0800 cpuset: limit the input of cpuset.sched_relax_domain_level We allow the inputs to be [-1 ... SD_LV_MAX), and return -EINVAL for inputs outside this range. Signed-off-by: Li Zefan Acked-by: Paul Menage Acked-by: Paul Jackson Acked-by: Hidetoshi Seto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d819c49da624e3ee09b2844603d58265039eecdd Merge: f18f982... 9bedbcb... Author: Ingo Molnar Date: Thu Jun 19 09:37:31 2008 +0200 Merge branch 'linus' into sched/urgent commit f18f982abf183e91f435990d337164c7a43d1e6d Author: Max Krasnyansky Date: Thu May 29 11:17:01 2008 -0700 sched: CPU hotplug events must not destroy scheduler domains created by the cpusets First issue is not related to the cpusets. We're simply leaking doms_cur. It's allocated in arch_init_sched_domains() which is called for every hotplug event. So we just keep reallocation doms_cur without freeing it. I introduced free_sched_domains() function that cleans things up. Second issue is that sched domains created by the cpusets are completely destroyed by the CPU hotplug events. For all CPU hotplug events scheduler attaches all CPUs to the NULL domain and then puts them all into the single domain thereby destroying domains created by the cpusets (partition_sched_domains). The solution is simple, when cpusets are enabled scheduler should not create default domain and instead let cpusets do that. Which is exactly what the patch does. Signed-off-by: Max Krasnyansky Cc: pj@sgi.com Cc: menage@google.com Cc: rostedt@goodmis.org Acked-by: Peter Zijlstra Signed-off-by: Thomas Gleixner commit 15a8641eadb492ef7c5489faa25256967bdfd303 Author: Peter Zijlstra Date: Thu Jun 19 09:06:59 2008 +0200 sched: rt-group: fix RR buglet In tick_task_rt() we first call update_curr_rt() which can dequeue a runqueue due to it running out of runtime, and then we try to requeue it, of it also having exhausted its RR quota. Obviously requeueing something that is no longer on the runqueue will not have the expected result. Signed-off-by: Peter Zijlstra Tested-by: Daniel K. Signed-off-by: Ingo Molnar commit ad2a3f13b7258a5daaaeb8cff9f835aac468b71d Author: Peter Zijlstra Date: Thu Jun 19 09:06:57 2008 +0200 sched: rt-group: heirarchy aware throttle The bandwidth throttle code dequeues a group when it runs out of quota, and re-queues it once the period rolls over and the quota gets refreshed. Sadly it failed to take the hierarchy into consideration. Share more of the enqueue/dequeue code with regular task opterations. Also, some operations like sched_setscheduler() can dequeue/enqueue tasks that are in throttled runqueues, we should not inadvertly re-enqueue empty runqueues so check for that. Signed-off-by: Peter Zijlstra Tested-by: Daniel K. Signed-off-by: Ingo Molnar commit 7ea56616ba6b3d67a4892728182e38ae162ea3e7 Author: Peter Zijlstra Date: Thu Jun 19 09:06:56 2008 +0200 sched: rt-group: fix hierarchy Don't re-set the entity's runqueue to the wrong rq after we've set it to the right one. Signed-off-by: Peter Zijlstra Tested-by: Daniel K. Signed-off-by: Ingo Molnar commit 49307fd6f72bdd68cc2bd23e7da0bcfecf8087c9 Author: Dario Faggioli Date: Wed Jun 18 09:18:38 2008 +0200 sched: NULL pointer dereference while setting sched_rt_period_us When CONFIG_RT_GROUP_SCHED and CONFIG_CGROUP_SCHED are enabled, with: echo 10000 > /proc/sys/kernel/sched_rt_period_us We get this: BUG: unable to handle kernel NULL pointer dereference at 0000008c [ 947.682233] IP: [] __rt_schedulable+0x12/0x160 [ 947.683123] *pde = 00000000=20 [ 947.683782] Oops: 0000 [#1] [ 947.684307] Modules linked in: [ 947.684308] [ 947.684308] Pid: 2359, comm: bash Not tainted (2.6.26-rc6 #8) [ 947.684308] EIP: 0060:[] EFLAGS: 00000246 CPU: 0 [ 947.684308] EIP is at __rt_schedulable+0x12/0x160 [ 947.684308] EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: 00000001 [ 947.684308] ESI: c0521db4 EDI: 00000001 EBP: c6cc9f00 ESP: c6cc9ed0 [ 947.684308] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 [ 947.684308] Process bash (pid: 2359, tiÆcc8000 taskÇa54f00=20 task.tiÆcc8000) [ 947.684308] Stack: c0222790 00000000 080f8c08 c0521db4 c6cc9f00 00000001 00000000 00000000 [ 947.684308] c6cc9f9c 00000000 c0521db4 00000001 c6cc9f28 c0216d40 00000000 00000000 [ 947.684308] c6cc9f9c 000f4240 000e7ef0 ffffffff c0521db4 c79dfb60 c6cc9f58 c02af2cc [ 947.684308] Call Trace: [ 947.684308] [] ? do_proc_dointvec_conv+0x0/0x50 [ 947.684308] [] ? sched_rt_handler+0x80/0x110 [ 947.684308] [] ? proc_sys_call_handler+0x9c/0xb0 [ 947.684308] [] ? proc_sys_write+0x1a/0x20 [ 947.684308] [] ? vfs_write+0x96/0x160 [ 947.684308] [] ? proc_sys_write+0x0/0x20 [ 947.684308] [] ? sys_write+0x3d/0x70 [ 947.684308] [] ? sysenter_past_esp+0x6a/0x91 [ 947.684308] ======================= [ 947.684308] Code: 24 04 e8 62 b1 0e 00 89 c7 89 f8 8b 5d f4 8b 75 f8 8b 7d fc 89 ec 5d c3 90 55 89 e5 57 56 53 83 ec 24 89 45 ec 89 55 e4 89 4d e8 <8b> b8 8c 00 00 00 85 ff 0f 84 c9 00 00 00 8b 57 24 39 55 e8 8b [ 947.684308] EIP: [] __rt_schedulable+0x12/0x160 SS:ESP 0068:c6cc9ed0 We think the following patch solves the issue. Signed-off-by: Dario Faggioli Signed-off-by: Michael Trimarchi Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9bedbcb207ed9a571b239231d99c8fd4a34ae24d Author: Dave Airlie Date: Thu Jun 19 14:57:31 2008 +1000 agp: brown paper bag patch - put back two lines that got lost Commit 62c96b9d0917894c164aa3e474a3ff3bca1554ae ("agp/intel: cleanup some serious whitespace badness") didn't just fix whitespace. It also lost two lines. Noticed by Linus. No more whitespace diffs for me. Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit 0e480e5fc03c411d350478b2e8dc0906a37b6f07 Author: Dave Airlie Date: Thu Jun 19 14:57:31 2008 +1000 agp: brown paper bag patch - put back the two lines it took out. no more whitespace diffs for me. Signed-off-by: Dave Airlie commit 3506ba7b082f9330657b3386c98246d5fda6c698 Merge: f9d1c6c... 62c96b9... Author: Linus Torvalds Date: Wed Jun 18 21:52:35 2008 -0700 Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp/intel: cleanup some serious whitespace badness [AGP] intel_agp: Add support for Intel 4 series chipsets [AGP] intel_agp: extra stolen mem size available for IGD_GM chipset agp: more boolean conversions. drivers/char/agp - use bool agp: two-stage page destruction issue agp/via: fixup pci ids commit 62c96b9d0917894c164aa3e474a3ff3bca1554ae Author: Dave Airlie Date: Thu Jun 19 14:27:53 2008 +1000 agp/intel: cleanup some serious whitespace badness Signed-off-by: Dave Airlie commit 25ce77abf8be3a96b3673e46722a9bd05f149584 Author: Zhenyu Wang Date: Thu Jun 19 14:17:58 2008 +1000 [AGP] intel_agp: Add support for Intel 4 series chipsets Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 598d14482380312939a3e3a4ae0657eb6b50a532 Author: Zhenyu Wang Date: Thu Jun 19 14:00:37 2008 +1000 [AGP] intel_agp: extra stolen mem size available for IGD_GM chipset This adds missing stolen memory size detect for IGD_GM, be sure to detect right size as current X intel driver (2.3.2) which has already worked out. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 21efa2bac91b8d12064617c5a35492ec982544eb Author: Dave Airlie Date: Thu Jun 19 13:01:58 2008 +1000 drm/radeon: add hier-z registers for r300 and r500 chipsets commit 5e35eff13f7dd0f5c1d82b3b4708b2f7a5f44113 Author: Alex Deucher Date: Thu Jun 19 12:39:23 2008 +1000 drm/radeon: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTAT According to the hw guys, you should use DSTCACHE_CTLSTAT to flush the 2D dst cache rather than RB2D_DSTCACHE_CTLSTAT. Signed-off-by: Dave Airlie commit 5cfb6956073a9e42d44a26790b7800980634d037 Author: Alex Deucher Date: Thu Jun 19 12:38:29 2008 +1000 drm/radeon: switch IGP gart to use radeon_write_agp_base() Signed-off-by: Dave Airlie commit 7ecabc53a29bb31689fa1852a926e021179a64a6 Author: Dennis Kasprzyk Date: Thu Jun 19 12:36:55 2008 +1000 drm/radeon: Restore sw interrupt on resume Fixes performance drop after suspend/resume on some systems. Signed-off-by: Dave Airlie commit 70b13d510fc9d137e362b7db3ac5b14b50d78477 Author: Dave Airlie Date: Thu Jun 19 11:40:44 2008 +1000 drm/r500: add support for AGP based cards. AGP registers weren't programmed properly for r500 cards. Signed-off-by: Dave Airlie commit 9156cf09f56150ed89f77eaa4c386a07789776a0 Author: Roland Scheidegger Date: Thu Jun 19 11:36:04 2008 +1000 drm/radeon: fix texture uploads with large 3d textures (bug 13980) Texture uploads could hit the blitter coordinate limit, adjust the texture offset when uploading the pieces. Make sure to check the end address of the upload too. Signed-off-by: Dave Airlie commit c0beb2a723d69934a53f51a9d664c5b1dbbf634b Author: Dave Airlie Date: Wed May 28 13:52:28 2008 +1000 drm/radeon: add initial r500 support. This contains all the command buffer processing for the r500 cards. It doesn't yet contain vblank support. Signed-off-by: Dave Airlie commit 5b92c4045eaa42441b7ec249a406e4110ea400d4 Author: Alex Deucher Date: Wed May 28 11:57:40 2008 +1000 drm/radeon: init pipe setup in kernel code. This inits the card pipes in the kernel and lets userspace getparam the correct setup. Signed-off-by: Dave Airlie commit d396db321bcaec54345e7e9e87cea8482d6ae3a8 Author: Alex Deucher Date: Wed May 28 11:54:06 2008 +1000 drm/radeon: fixup radeon_do_engine_reset Cleanup do engine reset for different chip families. Signed-off-by: Dave Airlie commit 259434acccbc823ee8bc00b2d2689ccccd25e1fd Author: Alex Deucher Date: Wed May 28 11:51:12 2008 +1000 drm/radeon: fix pixcache and purge/cache flushing registers Signed-off-by: Dave Airlie commit d7463eb41d88a39de2653fd41857c4ccddb8707b Author: Alex Deucher Date: Wed May 28 11:46:36 2008 +1000 drm/radeon: write AGP_BASE_2 on chips that support it. Signed-off-by: Dave Airlie commit 45e519052e8f583a709edd442a23f59581d3fe42 Author: Alex Deucher Date: Wed May 28 13:28:59 2008 +1000 drm/radeon: merge IGP chip setup and fixup RS400 vs RS480 support We only support RS480 (AMD based IGP) at the moment not RS400 (Intel based IGP) ones. Signed-off-by: Dave Airlie commit 2735977b12cb0f113aae24afff04747b6d0f5bf1 Author: Alex Deucher Date: Wed May 28 12:54:16 2008 +1000 drm/radeon: IGP clean up register and magic numbers. Signed-off-by: Dave Airlie commit 3722bfc607d46275369865c02fe8694486d640b5 Author: Dave Airlie Date: Wed May 28 11:28:27 2008 +1000 drm/rs690: set base 2 to 0. Signed-off-by: Dave Airlie commit fa0d71b967506031f7cb08ced6095d1c4f988594 Author: Dave Airlie Date: Wed May 28 11:27:01 2008 +1000 drm/rs690: set all of gart base address. Docs state bits 4-11 maps to bits 32-39 of the 40-bit range Signed-off-by: Dave Airlie commit 9f18409ea3d778a171a9505c0a849d846f352bd0 Author: Alex Deucher Date: Wed May 28 11:21:25 2008 +1000 radeon: add production microcode from AMD This adds production microcode for r100->r500 from AMD. Signed-off-by: Dave Airlie commit 7ec700fcaf4f01ae72956df74a9e0d08938fd26e Author: Dave Airlie Date: Thu Jun 19 11:27:23 2008 +1000 drm: pcigart use proper pci map interfaces. Switch to using more correct pci dma mapping interfaces. Signed-off-by: Dave Airlie commit 9a3b103c27a7e3199b917bc3ca219530132afdfc Author: Tejun Heo Date: Wed Jun 18 20:56:58 2008 -0400 ahci: sis can't do PMP From: Piter PUNK SiS AHCIs say they can do PMP but can't and fail detection if SRST w/ pmp==15 is used. Turn off PMP support. tj: added patch description, adapted patch to #upstream-fixes and renamed board_ahci_sis to board_ahci_nopmp. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9516b030b484fc99cf24213caf88df01f99248dd Author: Dave Airlie Date: Thu Jun 19 10:42:17 2008 +1000 agp: more boolean conversions. Signed-off-by: Dave Airlie commit 040dee53a724f54d47876674d50184873364f207 Author: Tejun Heo Date: Fri Jun 13 18:05:02 2008 +0900 ata_piix: add TECRA M4 to broken suspend list TOSHIBA also used "TECRA M4" in additon to "Tecra M4", add it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit cc18e0fea7907e7a96b7df71b81838d518bc074e Author: Ben Dooks Date: Mon Jun 16 12:16:26 2008 +0100 LIBATA: Add HAVE_PATA_PLATFORM to select PATA_PLATFORM driver Add HAVE_PATA_PLATFORM to select the pata platform driver to ensure that we do not end up with a long 'depends on' list when other users of this driver turn up. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit c6112bd86bc8f727bb732a47f2133e0ff12beda9 Author: Mark Lord Date: Wed Jun 18 12:13:02 2008 -0400 sata_mv: warn on PIO with multiple DRQs Chip errata sometimes prevents reliable use of PIO commands which involve more than a single DRQ (data request). In normal operation, libata should not generate such PIO commands (uses DMA instead), but they could be sent in via SG_IO from userspace. A full workaround might be to break up such commands into sequences of single DRQ ones, but that's just way too complex for something that doesn't normally happen in real life. So, allow the attempt (it often works, despite the errata), but log the event for reference when somebody screams. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 3bd0a70ee9cc30ae81b39cb5ecad0fa7bcb4675b Author: Mark Lord Date: Wed Jun 18 12:11:16 2008 -0400 sata_mv: enable async_notify for 60x1 Rev.C0 and higher The early chipsets cannot safely handle Async Notification (AN), but 6041/6081 chip revision "C0" (and newer) can handle it. So allow AN for "C0" and higher. This enables use of hotplug on PMP ports for the 6041/6081 PCI Rev.9 chips. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 5895ef9a5b746e7cc9ebda50c87fbd11562da0a4 Author: Tejun Heo Date: Tue Jun 17 12:36:26 2008 +0900 libata: don't check whether to use DMA or not for no data commands There's no reason to check whether to use DMA or not for no data commands. Don't do it. While at it, make local variable using_pio in atapi_xlat() set iff ATAPI_PROT_PIO is going to be used and rename ata_check_atapi_dma() to atapi_check_dma() for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d799e083a80b220f3681d7790f11e77d1704022b Author: Tejun Heo Date: Tue Jun 17 12:46:30 2008 +0900 ahci: jmb361 has only one port JMB361 has only one port but reports it has two causing longish probe failure on the second one. Quirk it. Reported by Gajo Petrovic in bz 10911. Signed-off-by: Tejun Heo Cc: Gajo Petrovic Signed-off-by: Jeff Garzik commit c72580129209aaa509ace81c1f2ee1caa9c9774b Author: Joe Perches Date: Wed Mar 26 14:10:02 2008 -0700 drivers/char/agp - use bool Use boolean in AGP instead of having own TRUE/FALSE -- Signed-off-by: Joe Perches Signed-off-by: Dave Airlie commit da503fa60b84d5945deb3ab74efdd0bec61df4a1 Author: Jan Beulich Date: Wed Jun 18 09:28:00 2008 +0100 agp: two-stage page destruction issue besides it apparently being useful only in 2.6.24 (the changes in 2.6.25 really mean that it could be converted back to a single-stage mechanism), I'm seeing an issue in Xen Dom0 kernels, which is caused by the calling of gart_to_virt() in the second stage invocations of the destroy function. I think that besides this being a real issue with Xen (where unmap_page_from_agp() is not just a page table attribute change), this also is invalid from a theoretical perspective: One should not assume that gart_to_virt() is still valid after unmapping a page. So minimally (keeping the 2-stage mechanism) a patch like the one below would be needed. Jan Signed-off-by: Dave Airlie commit dcd981a77b2b35d169656d4b9cee208096ed7ccf Author: Greg KH Date: Thu Jun 19 09:52:26 2008 +1000 agp/via: fixup pci ids add a new PCI ID and remove an old dodgy one, include the explaination in the commented code so nobody readds later. (davej also sent the pci id addition). Signed-off-by: Dave Airlie commit f9d1c6ca2bb1bbfde4a95d9e55ab3b0126825295 Merge: a8051fd... fb77bce... Author: Linus Torvalds Date: Wed Jun 18 16:08:59 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/uverbs: Fix check of is_closed flag check in ib_uverbs_async_handler() RDMA/nes: Fix off-by-one in nes_reg_user_mr() error path commit fb77bcef9f7be78e3e11543cb5abbcb1b1fac53e Author: Jack Morgenstein Date: Wed Jun 18 15:36:38 2008 -0700 IB/uverbs: Fix check of is_closed flag check in ib_uverbs_async_handler() Commit 1ae5c187 ("IB/uverbs: Don't store struct file * for event files") changed the way that closed files are handled in the uverbs code. However, after the conversion, is_closed flag is checked incorrectly in ib_uverbs_async_handler(). As a result, no async events are ever passed to applications. Found by: Ronni Zimmerman Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 9499fe2b340d19ef55c349de794db9d917e7403f Author: Stefan Richter Date: Mon Jun 16 01:39:28 2008 +0200 ieee1394: Kconfig menu touch-up Rename and reorder some prompts and modify some help texts. The result: -------------------- IEEE 1394 (FireWire) support -------------------- *** Enable only one of the two stacks, unless you know what you are doing *** New FireWire stack, EXPERIMENTAL OHCI-1394 controllers Storage devices (SBP-2 protocol) Stable FireWire stack OHCI-1394 controllers PCILynx controller Storage devices (SBP-2 protocol) Enable replacement for physical DMA in SBP2 IP over 1394 raw1394 userspace interface video1394 userspace interface dv1394 userspace interface (deprecated) Excessive debugging output The old prompts for reference: -------------------- IEEE 1394 (FireWire) support -------------------- IEEE 1394 (FireWire) support - alternative stack, EXPERIMENTAL Support for OHCI FireWire host controllers Support for storage devices (SBP-2 protocol driver) IEEE 1394 (FireWire) support *** Subsystem Options *** Excessive debugging output *** Controllers *** Texas Instruments PCILynx support OHCI-1394 support *** Protocols *** OHCI-1394 Video support SBP-2 support (Harddisks etc.) Enable replacement for physical DMA in SBP2 IP over 1394 OHCI-DV I/O support (deprecated) Raw IEEE1394 I/O support Signed-off-by: Stefan Richter commit a7b64b8704b03c9972b114932fdf517e06153f11 Author: Stefan Richter Date: Sat Jun 14 14:24:53 2008 +0200 firewire: Kconfig menu touch-up Emphasize the recommendation to build only one stack. Trim the prompts to better fit into short attention spans. Signed-off-by: Stefan Richter commit ae1e53557911d7e60a637b2400173add958aae94 Author: Stefan Richter Date: Wed Jun 18 18:20:45 2008 +0200 firewire: deadline for PHY config transmission If the low-level driver failed to initialize a card properly without noticing it, fw-core was blocked indefinitely when trying to send a PHY config packet. This hung up the events kernel thread, e.g. locked up keyboard input. https://bugzilla.redhat.com/show_bug.cgi?id=444694 https://bugzilla.redhat.com/show_bug.cgi?id=446763 This problem was introduced between 2.6.25 and 2.6.26-rc1 by commit 2a0a2590498be7b92e3e76409c9b8ee722e23c8f "firewire: wait until PHY configuration packet was transmitted (fix bus reset loop)". The solution is to wait with timeout. I tested it with 7 different working controllers and 1 non-working controller. On the working ones, the packet callback complete()s usually --- but not always --- before a timeout of 10ms. Hence I chose a safer timeout of 100ms. On the few tests with the non-working controller ALi M5271, PHY config packet transmission always timed out so far. (Fw-ohci needs to be fixed for this controller independently of this deadline fix. Often the core doesn't even attempt to send a phy config because not even self ID reception works.) Signed-off-by: Stefan Richter commit 161b96e782ec995c55843101976d9c35b57aa109 Author: Stefan Richter Date: Sat Jun 14 14:23:43 2008 +0200 firewire: fw-ohci: unify printk prefixes The messages which can be enabled by fw-ohci's debug module parameter are changed from KERN_DEBUG to KERN_NOTICE level and uniformly prefixed with "firewire_ohci: ". This further simplifies communication with users when we ask them to capture debug messages. Signed-off-by: Stefan Richter commit 5cb84067d646fa3889463129dad8b218806b4698 Author: Stefan Richter Date: Fri Jun 6 22:11:30 2008 +0200 firewire: fill_bus_reset_event needs lock protection Callers of fill_bus_reset_event() have to take card->lock. Otherwise access to node data may oops if node removal is in progress. A lockless alternative would be - event->local_node_id = card->local_node->node_id; + tmp = fw_node_get(card->local_node); + event->local_node_id = tmp->node_id; + fw_node_put(tmp); and ditto with the other node pointers which fill_bus_reset_event() accesses. But I went the locked route because one of the two callers already holds the lock. As a bonus, we don't need the memory barrier anymore because device->generation and device->node_id are written in a card->lock protected section. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit affc9c24ade666f9903163c12686da567dbfe06f Author: Stefan Richter Date: Thu Jun 5 20:50:53 2008 +0200 firewire: fw-ohci: write selfIDBufferPtr before LinkControl.rcvSelfID OHCI 1.1 clause 5.10 requires that selfIDBufferPtr is valid when a 1 is written into LinkControl.rcvSelfID. This driver bug has so far not been known to cause harm because most chips obviously accept a later selfIDBufferPtr write, at least before HCControl.linkEnable is written. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson Signed-off-by: Kristian Høgsberg commit e896ec4302f45fdaf2fc78aec0093eca5478fe28 Author: Stefan Richter Date: Thu Jun 5 20:49:38 2008 +0200 firewire: fw-ohci: disable PHY packet reception into AR context We want the rcvPhyPkt bit in LinkControl off before we start using the chip. However, the spec says that the reset value of it is undefined. Hence switch it explicitly off. https://bugzilla.redhat.com/show_bug.cgi?id=244576#c48 shows that for example the nForce2 integrated FireWire controller seems to have it on by default. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit ccff962943df539c5860aa120eecc189d70a308b Author: Stefan Richter Date: Sat May 31 19:36:06 2008 +0200 firewire: fw-ohci: use of uninitialized data in AR handler header_length and payload_length are filled with random data if an unknown tcode was read from the AR buffer (i.e. if the AR buffer contained invalid data). We still need a better strategy to recover from this, but at least handle_ar_packet now doesn't return out of bound buffer addresses anymore. Signed-off-by: Stefan Richter commit 0bf607c5b4edd13362e4add6ca1e81f8a9fbd47c Author: Stefan Richter Date: Sat May 31 19:01:26 2008 +0200 firewire: don't panic on invalid AR request buffer BUG() at this place is wrong. (Unless if the low level driver would already do higher-level input validation of incoming request headers.) Invalid incoming requests or bugs in the controller which corrupt the AR-req buffer needlessly crashed the box because this is run in tasklet context. Signed-off-by: Stefan Richter commit a8051fde6b71ac9a0e63c861c81c59ba776175f9 Merge: 5dfd062... fdf7be6... Author: Linus Torvalds Date: Wed Jun 18 12:55:00 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: Revert "[WATCHDOG] hpwdt: Fix NMI handling." [WATCHDOG] hpwdt: Add CFLAGS to get driver working Revert "[WATCHDOG] make watchdog/hpwdt.c:asminline_call() static" commit 5dfd06215b951de70b3e610de47813811c822a44 Merge: f32c23f... f93daa3... Author: Linus Torvalds Date: Wed Jun 18 11:55:43 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] dpt_i2o: Add PROC_IA64 define [SCSI] scsi_host regression: fix scsi host leak [SCSI] sr: fix corrupt CD data after media change and delay commit f32c23f59a3af0c5bb9e198386f2e6cd22038e9f Merge: e899536... 65ba6cd... Author: Linus Torvalds Date: Wed Jun 18 11:55:19 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Clear sub-page HPTE present bits when demoting page size [POWERPC] 4xx: Clear new TLB cache attribute bits in Data Storage vector commit e899536470ec83f2792092640148f2488961731b Merge: d83b14c... e4f3ec0... Author: Linus Torvalds Date: Wed Jun 18 11:55:03 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: restore UDFFS_DEBUG to being undefined by default commit d83b14c0db5b238975990c0abda51521120106e9 Merge: 952f4a0... 6d1a3fb... Author: Linus Torvalds Date: Wed Jun 18 11:48:40 2008 -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: (43 commits) netlink: genl: fix circular locking Revert "mac80211: Use skb_header_cloned() on TX path." af_unix: fix 'poll for write'/ connected DGRAM sockets tun: Proper handling of IPv6 header in tun driver when TUN_NO_PI is set atl1: relax eeprom mac address error check net/enc28j60: low power mode net/enc28j60: section fix sky2: 88E8040T pci device id netxen: download firmware in pci probe netxen: cleanup debug messages netxen: remove global physical_port array netxen: fix portnum for hp mezz cards ibm_newemac: select CRC32 in Kconfig xfrm: fix fragmentation for ipv4 xfrm tunnel netfilter: nf_conntrack_h323: fix module unload crash netfilter: nf_conntrack_h323: fix memory leak in module initialization error path netfilter: nf_nat: fix RCU races atm: [he] send idle cells instead of unassigned when in SDH mode atm: [he] limit queries to the device's register space atm: [br2864] fix routed vcmux support ... commit fdf7be6f13b920f0d80c249c70f794a2f6d53992 Author: Wim Van Sebroeck Date: Wed Jun 18 16:22:48 2008 +0000 Revert "[WATCHDOG] hpwdt: Fix NMI handling." The old setup works better. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 65ba6cdc837af9b77354d03987354196ac4eb308 Author: Paul Mackerras Date: Wed Jun 18 16:40:35 2008 +1000 [POWERPC] Clear sub-page HPTE present bits when demoting page size When we demote a slice from 64k to 4k, and we are about to insert an HPTE for a 4k subpage and we notice that there is an existing 64k HPTE, we first invalidate that HPTE before inserting the new 4k subpage HPTE. Since the bits that encode which hash bucket the old HPTE was in overlap with the bits that encode which of the 16 subpages have HPTEs, we need to clear out the subpage HPTE-present bits before starting to insert HPTEs for the 4k subpages. If we don't do that, we can erroneously think that a subpage already has an HPTE when it doesn't. That in itself wouldn't be such a problem except that when we go to update the HPTE that we think is present on machines with a hypervisor, the hypervisor can tell us that the HPTE we think is there is actually there even though it isn't, which can lead to a process getting stuck in a loop, continually faulting. The reason for the confusion is that the AVPN (abbreviated virtual page number) we are looking for in the HPTE for a 4k subpage can actually match the AVPN in a stale HPTE for another 64k page. For example, the HPTE for the 4k subpage at 0x84000f000 will be in the same hash bucket and have the same AVPN as the HPTE for the 64k page at 0x8400f0000. This fixes the code to clear out the subpage HPTE-present bits. Signed-off-by: Paul Mackerras commit b17879f71c2eb4a10f5a63918819d9d572b23a9a Author: Josh Boyer Date: Wed Jun 18 08:34:39 2008 +1000 [POWERPC] 4xx: Clear new TLB cache attribute bits in Data Storage vector A recent commit added support for the new 440x6 and 464 cores that have the added WL1, IL1I, IL1D, IL2I, and ILD2 bits for the caching attributes in the TLBs. The new bits were cleared in the finish_tlb_load function, however a similar bit of code was missed in the DataStorage interrupt vector. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 6d1a3fb567a728d31474636e167c324702a0c38b Author: Patrick McHardy Date: Wed Jun 18 02:07:07 2008 -0700 netlink: genl: fix circular locking genetlink has a circular locking dependency when dumping the registered families: - dump start: genl_rcv() : take genl_mutex genl_rcv_msg() : call netlink_dump_start() while holding genl_mutex netlink_dump_start(), netlink_dump() : take nlk->cb_mutex ctrl_dumpfamily() : try to detect this case and not take genl_mutex a second time - dump continuance: netlink_rcv() : call netlink_dump netlink_dump : take nlk->cb_mutex ctrl_dumpfamily() : take genl_mutex Register genl_lock as callback mutex with netlink to fix this. This slightly widens an already existing module unload race, the genl ops used during the dump might go away when the module is unloaded. Thomas Graf is working on a seperate fix for this. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3a5be7d4b079f3a9ce1e8ce4a93ba15ae6d00111 Author: David S. Miller Date: Wed Jun 18 01:19:51 2008 -0700 Revert "mac80211: Use skb_header_cloned() on TX path." This reverts commit 608961a5eca8d3c6bd07172febc27b5559408c5d. The problem is that the mac80211 stack not only needs to be able to muck with the link-level headers, it also might need to mangle all of the packet data if doing sw wireless encryption. This fixes kernel bugzilla #10903. Thanks to Didier Raboud (for the bugzilla report), Andrew Prince (for bisecting), Johannes Berg (for bringing this bisection analysis to my attention), and Ilpo (for trying to analyze this purely from the TCP side). In 2.6.27 we can take another stab at this, by using something like skb_cow_data() when the TX path of mac80211 ends up with a non-NULL tx->key. The ESP protocol code in the IPSEC stack can be used as a model for implementation. Signed-off-by: David S. Miller commit 3c73419c09a5ef73d56472dbfdade9e311496e9b Author: Rainer Weikusat Date: Tue Jun 17 22:28:05 2008 -0700 af_unix: fix 'poll for write'/ connected DGRAM sockets The unix_dgram_sendmsg routine implements a (somewhat crude) form of receiver-imposed flow control by comparing the length of the receive queue of the 'peer socket' with the max_ack_backlog value stored in the corresponding sock structure, either blocking the thread which caused the send-routine to be called or returning EAGAIN. This routine is used by both SOCK_DGRAM and SOCK_SEQPACKET sockets. The poll-implementation for these socket types is datagram_poll from core/datagram.c. A socket is deemed to be writeable by this routine when the memory presently consumed by datagrams owned by it is less than the configured socket send buffer size. This is always wrong for connected PF_UNIX non-stream sockets when the abovementioned receive queue is currently considered to be full. 'poll' will then return, indicating that the socket is writeable, but a subsequent write result in EAGAIN, effectively causing an (usual) application to 'poll for writeability by repeated send request with O_NONBLOCK set' until it has consumed its time quantum. The change below uses a suitably modified variant of the datagram_poll routines for both type of PF_UNIX sockets, which tests if the recv-queue of the peer a socket is connected to is presently considered to be 'full' as part of the 'is this socket writeable'-checking code. The socket being polled is additionally put onto the peer_wait wait queue associated with its peer, because the unix_dgram_sendmsg routine does a wake up on this queue after a datagram was received and the 'other wakeup call' is done implicitly as part of skb destruction, meaning, a process blocked in poll because of a full peer receive queue could otherwise sleep forever if no datagram owned by its socket was already sitting on this queue. Among this change is a small (inline) helper routine named 'unix_recvq_full', which consolidates the actual testing code (in three different places) into a single location. Signed-off-by: Rainer Weikusat Signed-off-by: David S. Miller commit 4552e1198a08198ce0b42e856845b5394c82c59c Merge: f09f7ee... 58c7821... Author: David S. Miller Date: Tue Jun 17 21:32:08 2008 -0700 Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit f09f7ee20c867818bacf79426cf491b2749e7eff Author: Ang Way Chuang Date: Tue Jun 17 21:10:33 2008 -0700 tun: Proper handling of IPv6 header in tun driver when TUN_NO_PI is set By default, tun.c running in TUN_TUN_DEV mode will set the protocol of packet to IPv4 if TUN_NO_PI is set. My program failed to work when I assumed that the driver will check the first nibble of packet, determine IP version and set the appropriate protocol. Signed-off-by: Ang Way Chuang Acked-by: Max Krasnyansky Signed-off-by: David S. Miller commit 58c7821c4264a7ddd6f0c31c5caaf393b3897f10 Author: Radu Cristescu Date: Thu Jun 12 17:04:54 2008 -0500 atl1: relax eeprom mac address error check The atl1 driver tries to determine the MAC address thusly: - If an EEPROM exists, read the MAC address from EEPROM and validate it. - If an EEPROM doesn't exist, try to read a MAC address from SPI flash. - If that fails, try to read a MAC address directly from the MAC Station Address register. - If that fails, assign a random MAC address provided by the kernel. We now have a report of a system fitted with an EEPROM containing all zeros where we expect the MAC address to be, and we currently handle this as an error condition. Turns out, on this system the BIOS writes a valid MAC address to the NIC's MAC Station Address register, but we never try to read it because we return an error when we find the all- zeros address in EEPROM. This patch relaxes the error check and continues looking for a MAC address even if it finds an illegal one in EEPROM. Signed-off-by: Radu Cristescu Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 7dac6f8df607929e51f4fd598d80bd009c45a9f8 Author: David Brownell Date: Thu Jun 12 21:38:06 2008 -0700 net/enc28j60: low power mode Keep enc28j60 chips in low-power mode when they're not in use. At typically 120 mA, these chips run hot even when idle; this low power mode cuts that power usage by a factor of around 100. This version provides a generic routine to poll a register until its masked value equals some value ... e.g. bit set or cleared. It's basically what the previous wait_phy_ready() did, but this version is generalized to support the handshaking needed to enter and exit low power mode. Signed-off-by: David Brownell Signed-off-by: Claudio Lanconelli Signed-off-by: Jeff Garzik commit 6fd65882f5e99972ba96f7cc92086ebac041cdf8 Author: David Brownell Date: Thu Jun 12 21:36:24 2008 -0700 net/enc28j60: section fix Minor bugfixes to the enc28j60 driver ... wrong section marking, indentation, and bogus use of spi_bus_type. Signed-off-by: David Brownell Acked-by: Claudio Lanconelli Signed-off-by: Jeff Garzik commit a3b4fcedee5cf1d1342b85f1318c0fe1ff1727a9 Author: Stephen Hemminger Date: Sat Jun 14 10:32:15 2008 -0700 sky2: 88E8040T pci device id Missed one pci id for 88E8040T. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 439b454edf551f5a6eb49de6b868015724d275ab Author: Dhananjay Phadke Date: Sun Jun 15 22:59:46 2008 -0700 netxen: download firmware in pci probe Downloading firmware in pci probe allows recovery in case of firmware failure by reloading the driver. Also reduced delays in firmware load. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit dcd56fdbaeae1008044687b973c4a3e852e8a726 Author: Dhananjay Phadke Date: Sun Jun 15 22:59:45 2008 -0700 netxen: cleanup debug messages o Remove unnecessary debug prints and functions. o Explicitly specify pci class (0x020000) to avoid enabling management function. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 3276fbad8385d8e86d85fad4d86dae669a045c65 Author: Dhananjay Phadke Date: Sun Jun 15 22:59:44 2008 -0700 netxen: remove global physical_port array Store physical port number in netxen_adapter structure. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit dc515f2e0b356981ea0c4581ff0e587aea8b624a Author: Dhananjay Phadke Date: Sun Jun 15 22:59:43 2008 -0700 netxen: fix portnum for hp mezz cards This fixes a the issue where logical port number is set incorrectly for HP blade mezz cards. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 8b8091fbf4d8791ad70b146ba2c892c62c2cdc6b Author: Josh Boyer Date: Tue Jun 17 19:27:55 2008 -0400 ibm_newemac: select CRC32 in Kconfig The ibm_newemac driver requires ether_crc to be defined. Apparently it is possible to generate a .config without CONFIG_CRC32 set which causes the following link errors if IBM_NEW_EMAC is selected: LD .tmp_vmlinux1 drivers/built-in.o: In function `emac_hash_mc': core.c:(.text+0x2f524): undefined reference to `crc32_le' core.c:(.text+0x2f528): undefined reference to `bitrev32' make: *** [.tmp_vmlinux1] Error 1 This patch has IBM_NEW_EMAC select CRC32 so we don't hit this error. Signed-off-by: Josh Boyer Signed-off-by: Jeff Garzik commit 952f4a0a9b27e6dbd5d32e330b3f609ebfa0b061 Merge: f948d56... 90d95ef... Author: Linus Torvalds Date: Tue Jun 17 18:10:40 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: appletouch - implement reset-resume logic Input: i8042 - retry failed CTR writes when resuming Input: i8042 - add Fujitsu-Siemens Amilo Pro V2030 to nomux table Input: pcspkr - remove negative dependency on snd-pcsp Manually fixed up trivial conflict in drivers/usb/core/quirks.c commit f948d56435fc1f7506f08866302ecd6e60b533dd Author: Miklos Szeredi Date: Tue Jun 17 18:05:40 2008 +0200 fuse: fix thinko in max I/O size calucation Use max not min to enforce a lower limit on the max I/O size. This bug was introduced by "fuse: fix max i/o size calculation" (commit e5d9a0df07484d6d191756878c974e4307fb24ce). Thanks to Brian Wang for noticing. Reported-by: Brian Wang Signed-off-by: Miklos Szeredi Acked-by: Szabolcs Szakacsits Signed-off-by: Linus Torvalds commit cd50e89244087432a70598e432ff199a009b0e73 Author: Eduard - Gabriel Munteanu Date: Sun Jun 15 18:05:01 2008 +0300 Unignore vmlinux.lds.h from Git. Added !vmlinux.lds.h to .gitignore because it would otherwise be ignored. Signed-off-by: Eduard - Gabriel Munteanu Acked-by: Mathieu Desnoyers Signed-off-by: Linus Torvalds commit 42a886af728c089df8da1b0017b0e7e6c81b5335 Author: Linus Torvalds Date: Tue Jun 17 17:47:50 2008 -0700 x86-64: Fix "bytes left to copy" return value for copy_from_user() Most users by far do not care about the exact return value (they only really care about whether the copy succeeded in its entirety or not), but a few special core routines actually care deeply about exactly how many bytes were copied from user space. And the unrolled versions of the x86-64 user copy routines would sometimes report that it had copied more bytes than it actually had. Very few uses actually have partial copies to begin with, but to make this bug even harder to trigger, most x86 CPU's use the "rep string" instructions for normal user copies, and that version didn't have this issue. To make it even harder to hit, the one user of this that really cared about the return value (and used the uncached version of the copy that doesn't use the "rep string" instructions) was the generic write routine, which pre-populated its source, once more hiding the problem by avoiding the exception case that triggers the bug. In other words, very special thanks to Bron Gondwana who not only triggered this, but created a test-program to show it, and bisected the behavior down to commit 08291429cfa6258c4cd95d8833beb40f828b194e ("mm: fix pagecache write deadlocks") which changed the access pattern just enough that you can now trigger it with 'writev()' with multiple iovec's. That commit itself was not the cause of the bug, it just allowed all the stars to align just right that you could trigger the problem. [ Side note: this is just the minimal fix to make the copy routines (with __copy_from_user_inatomic_nocache as the particular version that was involved in showing this) have the right return values. We really should improve on the exceptional case further - to make the copy do a byte-accurate copy up to the exact page limit that causes it to fail. As it is, the callers have to do extra work to handle the limit case gracefully. ] Reported-by: Bron Gondwana Cc: Nick Piggin Cc: Andrew Morton Cc: Andi Kleen Cc: Al Viro Signed-off-by: Linus Torvalds (which didn't have this problem), and since most users that do the carethis was very hard to trigger, but commit fe833fca2eac6b3d3ad5e35f44ad4638362f1da8 Author: Steffen Klassert Date: Tue Jun 17 16:37:13 2008 -0700 xfrm: fix fragmentation for ipv4 xfrm tunnel When generating the ip header for the transformed packet we just copy the frag_off field of the ip header from the original packet to the ip header of the new generated packet. If we receive a packet as a chain of fragments, all but the last of the new generated packets have the IP_MF flag set. We have to mask the frag_off field to only keep the IP_DF flag from the original packet. This got lost with git commit 36cf9acf93e8561d9faec24849e57688a81eb9c5 ("[IPSEC]: Separate inner/outer mode processing on output") Signed-off-by: Steffen Klassert Acked-by: Herbert Xu Signed-off-by: David S. Miller commit a56b8f81580761c65e4d8d0c04ac1cb7a788bdf1 Author: Patrick McHardy Date: Tue Jun 17 15:52:32 2008 -0700 netfilter: nf_conntrack_h323: fix module unload crash The H.245 helper is not registered/unregistered, but assigned to connections manually from the Q.931 helper. This means on unload existing expectations and connections using the helper are not cleaned up, leading to the following oops on module unload: CPU 0 Unable to handle kernel paging request at virtual address c00a6828, epc == 802224dc, ra == 801d4e7c Oops[#1]: Cpu 0 $ 0 : 00000000 00000000 00000004 c00a67f0 $ 4 : 802a5ad0 81657e00 00000000 00000000 $ 8 : 00000008 801461c8 00000000 80570050 $12 : 819b0280 819b04b0 00000006 00000000 $16 : 802a5a60 80000000 80b46000 80321010 $20 : 00000000 00000004 802a5ad0 00000001 $24 : 00000000 802257a8 $28 : 802a4000 802a59e8 00000004 801d4e7c Hi : 0000000b Lo : 00506320 epc : 802224dc ip_conntrack_help+0x38/0x74 Tainted: P ra : 801d4e7c nf_iterate+0xbc/0x130 Status: 1000f403 KERNEL EXL IE Cause : 00800008 BadVA : c00a6828 PrId : 00019374 Modules linked in: ip_nat_pptp ip_conntrack_pptp ath_pktlog wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_xauth ath_pci ath_dev ath_dfs ath_rate_atheros wlan ath_hal ip_nat_tftp ip_conntrack_tftp ip_nat_ftp ip_conntrack_ftp pppoe ppp_async ppp_deflate ppp_mppe pppox ppp_generic slhc Process swapper (pid: 0, threadinfo=802a4000, task=802a6000) Stack : 801e7d98 00000004 802a5a60 80000000 801d4e7c 801d4e7c 802a5ad0 00000004 00000000 00000000 801e7d98 00000000 00000004 802a5ad0 00000000 00000010 801e7d98 80b46000 802a5a60 80320000 80000000 801d4f8c 802a5b00 00000002 80063834 00000000 80b46000 802a5a60 801e7d98 80000000 802ba854 00000000 81a02180 80b7e260 81a021b0 819b0000 819b0000 80570056 00000000 00000001 ... Call Trace: [<801e7d98>] ip_finish_output+0x0/0x23c [<801d4e7c>] nf_iterate+0xbc/0x130 [<801d4e7c>] nf_iterate+0xbc/0x130 [<801e7d98>] ip_finish_output+0x0/0x23c [<801e7d98>] ip_finish_output+0x0/0x23c [<801d4f8c>] nf_hook_slow+0x9c/0x1a4 One way to fix this would be to split helper cleanup from the unregistration function and invoke it for the H.245 helper, but since ctnetlink needs to be able to find the helper for synchonization purposes, a better fix is to register it normally and make sure its not assigned to connections during helper lookup. The missing l3num initialization is enough for this, this patch changes it to use AF_UNSPEC to make it more explicit though. Reported-by: liannan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8a548868db62422113104ebc658065e3fe976951 Author: Patrick McHardy Date: Tue Jun 17 15:52:07 2008 -0700 netfilter: nf_conntrack_h323: fix memory leak in module initialization error path Properly free h323_buffer when helper registration fails. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 68b80f11380889996aa7eadba29dbbb5c29a5864 Author: Patrick McHardy Date: Tue Jun 17 15:51:47 2008 -0700 netfilter: nf_nat: fix RCU races Fix three ct_extend/NAT extension related races: - When cleaning up the extension area and removing it from the bysource hash, the nat->ct pointer must not be set to NULL since it may still be used in a RCU read side - When replacing a NAT extension area in the bysource hash, the nat->ct pointer must be assigned before performing the replacement - When reallocating extension storage in ct_extend, the old memory must not be freed immediately since it may still be used by a RCU read side Possibly fixes https://bugzilla.redhat.com/show_bug.cgi?id=449315 and/or http://bugzilla.kernel.org/show_bug.cgi?id=10875 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4dc7347a3b4a76705b7fd00b271847dd10cf5a32 Author: Thomas Mingarelli Date: Thu Jun 12 20:20:32 2008 +0000 [WATCHDOG] hpwdt: Add CFLAGS to get driver working To get this driver working we need the CFLAGS_hpwdt.o += -O in the Makefile. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 58c2709c2b551704f289cb3442a41d2a0cf40b6e Author: Thomas Mingarelli Date: Thu Jun 12 20:20:32 2008 +0000 Revert "[WATCHDOG] make watchdog/hpwdt.c:asminline_call() static" The driver needs the asmlinkage tag and the CFLAGS line in the Makefile. Without it the driver doesn't work. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 90d95ef617a535a8832bdcb8dee07bf591e5dd82 Author: Oliver Neukum Date: Tue Jun 17 11:56:55 2008 -0400 Input: appletouch - implement reset-resume logic On some boxes the touchpad needs to be reinitialized after resume to make it function again. This fixes bugzilla #10825. Signed-off-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit 2f6a77d56523c14651236bc401a99b0e2aca2fdd Author: Jiri Kosina Date: Tue Jun 17 11:47:27 2008 -0400 Input: i8042 - retry failed CTR writes when resuming There are systems that fail in i8042_resume() with i8042: Can't write CTR to resume as i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR) fails even though the controller claimed itself to be ready before. One retry after failing write fixes the problems on the failing systems. Reported-by: Helmut Schaa Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 95e904c7da715aa2dbfb595da66b63de37a0bb04 Author: Rabin Vincent Date: Sun May 11 05:55:33 2008 +0530 sched: fix defined-but-unused warning Fix this warning, which appears with !CONFIG_SMP: kernel/sched.c:1216: warning: `init_hrtick' defined but not used Signed-off-by: Rabin Vincent Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 65c3e4715b1b934f8dcc002d9f46b4371ca7a9b1 Author: Chas Williams Date: Mon Jun 16 17:21:27 2008 -0700 atm: [he] send idle cells instead of unassigned when in SDH mode Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 28e84ab3abafb0f9c9573993626abe6ca3fa8eb1 Author: Robert T. Johnson Date: Mon Jun 16 17:20:52 2008 -0700 atm: [he] limit queries to the device's register space From: "Robert T. Johnson" Signed-off-by: Chas Williams commit 7e903c2ae36efb526eacab3b25d00e90424bd8a8 Author: Eric Kinzie Date: Mon Jun 16 17:18:18 2008 -0700 atm: [br2864] fix routed vcmux support From: Eric Kinzie Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 059e3779b59527150e1d1942026ec149192cbf77 Author: Chas Williams Date: Mon Jun 16 17:17:31 2008 -0700 atm: [he] only support suni driver on multimode interfaces Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit d6c1d704ab5d2e13bebb096e415156a9c54a3d32 Author: Jorge Boncompte [DTI2] Date: Mon Jun 16 17:16:35 2008 -0700 atm: [iphase] doesn't call phy->start due to a bogus #ifndef This causes the suni driver to oops if you try to use sonetdiag to get the statistics. Also add the corresponding phy->stop call to fix another oops if you try to remove the module. Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit c0ed0b60f2c36acfebb53384a3b24d13b3a09309 Author: Jorge Boncompte [DTI2] Date: Mon Jun 16 17:16:04 2008 -0700 atm: [iphase] set drvdata before enabling interrupts Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 27141666b69f535a4d63d7bc6d9e84ee5032f82a Author: Jorge Boncompte [DTI2] Date: Mon Jun 16 17:15:33 2008 -0700 atm: [br2684] Fix oops due to skb->dev being NULL It happens that if a packet arrives in a VC between the call to open it on the hardware and the call to change the backend to br2684, br2684_regvcc processes the packet and oopses dereferencing skb->dev because it is NULL before the call to br2684_push(). Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Chas Williams commit a9d246dbb07cf0bd32bbfc5d184ed738bf2af4f8 Author: Rami Rosen Date: Mon Jun 16 17:07:16 2008 -0700 ipv4: Remove unused definitions in net/ipv4/tcp_ipv4.c. 1) Remove ICMP_MIN_LENGTH, as it is unused. 2) Remove unneeded tcp_v4_send_check() declaration. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 68be802cd5ad040fe8cfa33ce3031405df2d9117 Author: Eric Dumazet Date: Mon Jun 16 17:03:32 2008 -0700 raw: Restore /proc/net/raw correct behavior I just noticed "cat /proc/net/raw" was buggy, missing '\n' separators. I believe this was introduced by commit 8cd850efa4948d57a2ed836911cfd1ab299e89c6 ([RAW]: Cleanup IPv4 raw_seq_show.) This trivial patch restores correct behavior, and applies to current Linus tree (should also be applied to stable tree as well.) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6de329e26caed7bbbf51229c80f3948549d3c010 Author: Ben Hutchings Date: Mon Jun 16 17:02:28 2008 -0700 net: Fix test for VLAN TX checksum offload capability Selected device feature bits can be propagated to VLAN devices, so we can make use of TX checksum offload and TSO on VLAN-tagged packets. However, if the physical device does not do VLAN tag insertion or generic checksum offload then the test for TX checksum offload in dev_queue_xmit() will see a protocol of htons(ETH_P_8021Q) and yield false. This splits the checksum offload test into two functions: - can_checksum_protocol() tests a given protocol against a feature bitmask - dev_can_checksum() first tests the skb protocol against the device features; if that fails and the protocol is htons(ETH_P_8021Q) then it tests the encapsulated protocol against the effective device features for VLANs Signed-off-by: Ben Hutchings Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 319fa2a24f652dc35e613360c4532b8d2a771add Author: Vlad Yasevich Date: Mon Jun 16 17:00:29 2008 -0700 sctp: Correclty set changeover_active for SFR-CACC Right now, any time we set a primary transport we set the changeover_active flag. As a result, we invoke SFR-CACC even when there has been no changeover events. Only set changeover_active, when there is a true changeover event, i.e. we had a primary path and we are changing to another transport. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 80896a3584bbff9ff9ad4dde735517c4de68d736 Author: Wei Yongjun Date: Mon Jun 16 16:59:55 2008 -0700 sctp: Correctly cleanup procfs entries upon failure. This patch remove the proc fs entry which has been created if fail to set up proc fs entry for the SCTP protocol. Signed-off-by: Wei Yongjun Acked-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 93653e0448196344d7699ccad395eaebd30359d1 Author: David S. Miller Date: Mon Jun 16 16:57:40 2008 -0700 tcp: Revert reset of deferred accept changes in 2.6.26 Ingo's system is still seeing strange behavior, and he reports that is goes away if the rest of the deferred accept changes are reverted too. Therefore this reverts e4c78840284f3f51b1896cf3936d60a6033c4d2c ("[TCP]: TCP_DEFER_ACCEPT updates - dont retxmt synack") and 539fae89bebd16ebeafd57a87169bc56eb530d76 ("[TCP]: TCP_DEFER_ACCEPT updates - defer timeout conflicts with max_thresh"). Just like the other revert, these ideas can be revisited for 2.6.27 Signed-off-by: David S. Miller commit 2b4743bd6be9fedaa560f8c6dc3997e9ec21b99b Author: YOSHIFUJI Hideaki Date: Mon Jun 16 16:48:20 2008 -0700 ipv6 sit: Avoid extra need for compat layer in PRL management. We've introduced extra need of compat layer for ip_tunnel_prl{} for PRL (Potential Router List) management. Though compat_ioctl is still missing in ipv4/ipv6, let's make the interface more straight-forward and eliminate extra need for nasty compat layer anyway since the interface is new for 2.6.26. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 47083fc0735f5145b72fc31236d07339dc52b908 Author: Jesper Dangaard Brouer Date: Mon Jun 16 16:39:32 2008 -0700 pkt_sched: Change HTB_HYSTERESIS to a runtime parameter htb_hysteresis. Add a htb_hysteresis parameter to htb_sch.ko and by sysfs magic make it runtime adjustable via /sys/module/sch_htb/parameters/htb_hysteresis mode 640. Signed-off-by: Jesper Dangaard Brouer Acked-by: Martin Devera Signed-off-by: David S. Miller commit f9ffcedddba5b2fc5ab16ef08bca55af8be2717e Author: Jesper Dangaard Brouer Date: Mon Jun 16 16:38:33 2008 -0700 pkt_sched: HTB scheduler, change default hysteresis mode to off. The HTB hysteresis mode reduce the CPU load, but at the cost of scheduling accuracy. On ADSL links (512 kbit/s upstream), this inaccuracy introduce significant jitter, enought to disturbe VoIP. For details see my masters thesis (http://www.adsl-optimizer.dk/thesis/), chapter 7, section 7.3.1, pp 69-70. Signed-off-by: Jesper Dangaard Brouer Acked-by: Martin Devera Signed-off-by: David S. Miller commit 27eaf66b05687a27aaca0c0b9014c2f5c23bd18c Merge: c8988f9... 2c39450... Author: Linus Torvalds Date: Mon Jun 16 13:17:33 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Remove ->hangup() from stack glue operations. ocfs2: Move the call of ocfs2_hb_ctl into the stack glue. ocfs2: Move the hb_ctl_path sysctl into the stack glue. commit c8988f968240069aeae16d8cf9f59096a085eb27 Merge: 10acaf0... 732a675... Author: Linus Torvalds Date: Mon Jun 16 11:52:43 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix CONFIG_IA64_SGI_UV build error [IA64] Update check_sal_cache_flush to use platform_send_ipi() [IA64] perfmon: fix async exit bug commit 2c39450b39880e162b3eb339672314101f58ee1a Author: Joel Becker Date: Fri May 30 15:58:26 2008 -0700 ocfs2: Remove ->hangup() from stack glue operations. The ->hangup() call was only used to execute ocfs2_hb_ctl. Now that the generic stack glue code handles this, the underlying stack drivers don't need to know about it. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9f9a99f4eccc64650e932090cff0ebd07b81e334 Author: Joel Becker Date: Fri May 30 15:43:58 2008 -0700 ocfs2: Move the call of ocfs2_hb_ctl into the stack glue. Take o2hb_stop() out of the o2cb code and make it part of the generic stack glue as ocfs2_leave_group(). This also allows us to remove the ocfs2_get_hb_ctl_path() function - everything to do with hb_ctl is now part of stackglue.c. o2cb no longer needs a ->hangup() function. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 3878f110f71a0971ff7acc15dd6db711b6ef37c6 Author: Joel Becker Date: Fri May 30 15:30:49 2008 -0700 ocfs2: Move the hb_ctl_path sysctl into the stack glue. ocfs2 needs to call out to the hb_ctl program at unmount for all cluster stacks. The first step is to move the hb_ctl_path sysctl out of the o2cb code and into the generic stack glue. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 10acaf0c8a481c1ea9ba9d550a292595d8279ee1 Merge: 649cf0f... 313348d... Author: Linus Torvalds Date: Mon Jun 16 10:24:01 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (21 commits) [POWERPC] Turn on ATA_SFF so we get SATA_SVW back in defconfigs [POWERPC] Remove ppc32's export of console_drivers [POWERPC] Fix -Os kernel builds with newer gcc versions [POWERPC] Fix bootwrapper builds with newer gcc versions [POWERPC] Build fix for drivers/macintosh/mediabay.c [POWERPC] Fix warning in pseries/eeh_driver.c [POWERPC] Add missing of_node_put in drivers/macintosh/therm_adt746x.c [POWERPC] Add missing of_node_put in drivers/macintosh/smu.c [POWERPC] Add missing of_node_put in pseries/nvram.c [POWERPC] Fix return value check logic in debugfs virq_mapping setup [POWERPC] Fix rmb to order cacheable vs. noncacheable powerpc/spufs: fix missed stop-and-signal event powerpc/spufs: synchronize interaction between spu exception handling and time slicing powerpc/spufs: remove class_0_dsisr from spu exception handling powerpc/spufs: wait for stable spu status in spu_stopped() [POWERPC] bootwrapper: add simpleImage* to list of boot targets [POWERPC] 83xx: MPC837xRDB's VSC7385 ethernet switch isn't on the MDIO bus [POWERPC] Updated Freescale PPC defconfigs [POWERPC] 8610: Update defconfig for MPC8610 HPCD [POWERPC] 85xx: MPC8548CDS - Fix size of PCIe IO space ... commit 649cf0ff4b998e3082c6d9d8673eaab71f3de656 Merge: 626a16c... 9f9115d... Author: Linus Torvalds Date: Mon Jun 16 10:23:21 2008 -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: sound: oxygen: fix NULL pointer dereference when loading snd-oxygen commit 626a16c16e13e4afaba382bfc0354a3555f5231c Merge: e53d6a1... dab8c6d... Author: Linus Torvalds Date: Mon Jun 16 10:22:31 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Au1200: MMC resource size off by one [MIPS] TANBAC: Update defconfig [MIPS] Vr41xx: Initialize PCI io_map_base [MIPS] Malta: Always compile MTD platform device registration code. [MIPS] Malta: Fix build errors for 64-bit kernels [MIPS] Lasat: sysctl fixup [MIPS] Fix buggy use of kmap_coherent. [MIPS] Lasat: bring back from the dead [MIPS] vpe_id is required for VSMP and SMTC builds [MIPS] Export smp_call_function and smp_call_function_single. [MIPS] Bring the SWARM defconfig up to date [MIPS] Sibyte: Build RTC support as an object [MIPS] Fix the fix for divide by zero error in build_{clear,copy}_page [MIPS] Fix build for PNX platforms. [MIPS] Add RM200 with R5000 CPU to known ARC machines [MIPS] Better load address for big endian SNI RM [MIPS] SB1250: Initialize io_map_base [MIPS] Alchemy: Add au1500 reserved interrupt [MIPS] Export empty_zero_page for sake of the ext4 module. commit e53d6a152793a38aa334d6f7a4850642ae45cedc Author: David Woodhouse Date: Mon Jun 16 12:24:17 2008 +0100 Export to userspace again. This seems to have been removed accidentally in commit ed7b1889da256977574663689b598d88950bbd23 ("Unexport asm/page.h"), but wasn't supposed to have been -- the original patch at http://lkml.org/lkml/2007/10/30/144 just moved it from $(header-y) to $(unifdef-y) Signed-off-by: David Woodhouse Acked-by: Peter Korsgaard Signed-off-by: Linus Torvalds commit 9a8ea36967afad617d9b0930b6fe7592b9ed9772 Author: David Woodhouse Date: Mon Jun 16 12:18:24 2008 +0100 Remove #ifdef CONFIG_ARCH_SUPPORTS_AOUT from This file is only included where it makes sense now, so there's no need for the CONFIG_ARCH_SUPPORTS_AOUT conditional -- and that conditional is bad, because we want to export to userspace. Signed-off-by: David Woodhouse Acked-by: Peter Korsgaard Signed-off-by: Linus Torvalds commit a9e0f5293d4999f93b469af4e70382db800a8204 Author: David Woodhouse Date: Mon Jun 16 12:18:13 2008 +0100 Remove last traces of a.out support from ELF loader. In commit d20894a23708c2af75966534f8e4dedb46d48db2 ("Remove a.out interpreter support in ELF loader"), Andi removed support for a.out interpreters from the ELF loader, which was only ever needed for the transition from a.out to ELF. This removes the last traces of that support, in particular the inclusion of . Signed-off-by: David Woodhouse Acked-by: Peter Korsgaard Signed-off-by: Linus Torvalds commit 702773b16e83fcddc41e0019b8214d3c3cecedbe Author: David Woodhouse Date: Mon Jun 16 12:11:54 2008 +0100 Include in fs/exec.c only for Alpha. We only need it for the /sbin/loader hack for OSF/1 executables, and we don't want to include it otherwise. While we're at it, remove the redundant '&& CONFIG_ARCH_SUPPORTS_AOUT' in the ifdef around that code. It's already dependent on __alpha__, and CONFIG_ARCH_SUPPORTS_AOUT is hard-coded to 'y' there. Signed-off-by: David Woodhouse Acked-by: Peter Korsgaard Signed-off-by: Linus Torvalds commit b052beb0432616aa4dac2b167e7809feae993991 Author: David Howells Date: Mon Jun 16 13:36:29 2008 +0100 MN10300: Kill linux/a.out.h inclusions Kill linux/a.out.h inclusions in the MN10300 arch code. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 732a675a6303156d1a197dc780b0712bd4b49d46 Author: Jack Steiner Date: Sat Jun 14 07:57:25 2008 -0500 [IA64] Fix CONFIG_IA64_SGI_UV build error Fix build error in CONFIG_IA64_SGI_UV config. (GENERIC builds are ok). Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit dab8c6deaf1d654d09c3de8bd4c286d424df255a Author: Sergei Shtylyov Date: Thu May 8 23:06:17 2008 +0400 [MIPS] Au1200: MMC resource size off by one Au12x0 MMC platform device strangely claims 0x41 bytes for its memory-mapped registers. Make it claim the whole 0x80000 instead according to the memory map given in the datasheets. Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit b185194ef0691c8068c7d764aa8f78899d05512a Author: Yoichi Yuasa Date: Mon Jun 16 22:54:16 2008 +0900 [MIPS] TANBAC: Update defconfig These boards need cca setup on CMDLINE. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f1304b358a6c952e4cd1f92c8a6f183b1026c103 Author: Yoichi Yuasa Date: Mon Jun 16 22:51:08 2008 +0900 [MIPS] Vr41xx: Initialize PCI io_map_base Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b8157180ccd8bb3752f510c6c434b86394636093 Author: Ralf Baechle Date: Mon Jun 16 00:23:39 2008 +0100 [MIPS] Malta: Always compile MTD platform device registration code. Signed-off-by: Ralf Baechle commit 938b2b14172bd098972df2a5157bfabf161c90e5 Author: Thomas Bogendoerfer Date: Thu May 29 22:05:07 2008 +0200 [MIPS] Malta: Fix build errors for 64-bit kernels Fix 64-bit Malta by using CKSEG0ADDR and correct casts. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 1f34f2e4262bae8a1aa6d8fd6306b07074d33718 Author: Thomas Horsten Date: Sun Jun 15 02:17:11 2008 +0100 [MIPS] Lasat: sysctl fixup LASAT's sysctl interface was broken, it failed a check during boot because a single entry had a sysctl number and the rest were unnumbered. When I fixed it I noticed that the whole sysctl file needed a spring clean, it was using mutexes where it wasn't needed (it's only needed to protect during writes to the EEPROM), so I moved that stuff out and generally cleaned the whole thing up. So now, LASAT's sysctl/proc interface is working again. Signed-off-by: Thomas Horsten Signed-off-by: Ralf Baechle commit c9c5023d83df5dc7d58830a63fd0e082120f00e3 Author: Ralf Baechle Date: Sat Jun 14 22:22:08 2008 +0100 [MIPS] Fix buggy use of kmap_coherent. Assuming the call of kmap_coherent in local_r4k_flush_cache_page doesn't need fixing this was skipped in fcae549295bcae801ac48fc1c2030ab8cc487020. Turns out it needed the same change after all. Signed-off-by: Ralf Baechle commit 0c3bd83b0974238a5808d342663c6407512564d0 Author: Thomas Horsten Date: Sat Jun 14 02:32:42 2008 +0100 [MIPS] Lasat: bring back from the dead After the common MIPS CPU interrupt controller (for irq0-7) was introduced the Lasat boards didn't get their interrupts right, so nothing worked. The old routines need to be offset by the new 8 hardware interrupts common to all MIPS CPU's. Signed-off-by: Thomas Horsten Signed-off-by: Ralf Baechle commit d6c3048cad3c9eb312c070e11fdbea56498255ed Author: Chris Dearman Date: Fri May 16 17:29:54 2008 -0700 [MIPS] vpe_id is required for VSMP and SMTC builds Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit a9ad02bdbb0193203a477bbd0e833adf9fb29ac4 Author: Zenon Fortuna Date: Fri May 16 17:29:48 2008 -0700 [MIPS] Export smp_call_function and smp_call_function_single. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 461a082f870c7fc6a0a245e2f93c9f0e3afbeddd Author: Maciej W. Rozycki Date: Fri Jun 13 00:10:00 2008 +0100 [MIPS] Bring the SWARM defconfig up to date The SWARM defconfig file has not been regenerated for over a year now. Here is a patch to bring the file up to date. Additionally some important and sometimes confusing changes happened meanwhile. Here is the list of notable corresponding updates to the configuration: 1. CPU_SB1_PASS_2_2 is now selected rather than CPU_SB1_PASS_1. The latter requires a non-standard -msb1-pass1-workarounds option to be supported by GCC and I am told is quite rare anyway. [Ralf: Afaik -msb1-pass1-workarounds is available only in Monta Vista's special Sibyte gcc 3.0 variant and gcc 3.0 is too old to build a modern kernel anyway.] 2. PHYLIB and BROADCOM_PHY are both built in and NETDEV_1000 enabled as required by SB1250_MAC. 3. USB and USB_OHCI_HCD are enabled as there is an OHCI chip onboard. 4. TMPFS is enabled, because I use it. ;-) Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 63a4881a7dd45038f46caa7c3c08b88b01cf9473 Author: Maciej W. Rozycki Date: Fri Jun 13 00:14:10 2008 +0100 [MIPS] Sibyte: Build RTC support as an object Build the SWARM platform library is as an object rather than an archive so that files which only contain symbols used by initcalls and do not provide any symbols that would pull them from an archive still work. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 7bd0fea2c590d94995c2ee0b32e786c1c62621fa Author: Atsushi Nemoto Date: Fri May 30 13:07:21 2008 +0900 [MIPS] Fix the fix for divide by zero error in build_{clear,copy}_page Signed-off-by: Ralf Baechle commit 89052bd7b393434f7c573ce6a3b88c5f143586d2 Author: Ralf Baechle Date: Thu Jun 12 17:26:02 2008 +0100 [MIPS] Fix build for PNX platforms. Build error was caused by commit 351336929ccf222ae38ff0cb7a8dd5fd5c6236a0. Signed-off-by: Ralf Baechle commit 330117ff2723566e8eb7ad43223081b557f1540e Author: Thomas Bogendoerfer Date: Tue May 27 01:15:20 2008 +0200 [MIPS] Add RM200 with R5000 CPU to known ARC machines RM200 with R5ks have a little bit different arcname. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 0e27d7931157fa89cc9afb7735095a0d81ce8fec Author: Thomas Bogendoerfer Date: Tue May 27 01:15:16 2008 +0200 [MIPS] Better load address for big endian SNI RM Use better load address for big endian kernels to avoid clashes with PROM / SASH. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit d0f9cbd4b29c3d208d6b31519cbb940d98d61e7d Author: Maciej W. Rozycki Date: Mon Jun 9 17:20:03 2008 +0100 [MIPS] SB1250: Initialize io_map_base Correctly initialize io_map_base for the SB1250 PCI controller as required for proper iomap support. Based on a proposal from Daniel Jacobowitz. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 6b7d0b2fb6da3f6182f2bd162bf02ed4aed1813f Author: bruno randolf Date: Fri Jun 6 16:42:03 2008 +0200 [MIPS] Alchemy: Add au1500 reserved interrupt In the conversion done in the commits 95c4eb3ef4484ca85da5c98780d358cffd546b90 9d360ab4a7568a8d177280f651a8a772ae52b9b9 [MIPS] Alchemy: Renumber interrupts so irq_cpu can work. one reserved interrupt on au1500 was missed. this broke the au1000 ethernet driver. Signed-off-by: Bruno Randolf Signed-off-by: Ralf Baechle commit 497d2adcbf50bccec6c56620d61d77429d23993a Author: Ralf Baechle Date: Fri Jun 6 14:23:06 2008 +0100 [MIPS] Export empty_zero_page for sake of the ext4 module. Signed-off-by: Ralf Baechle commit 9f9115d880ca550922434aee05ca18796c58eb99 Author: Clemens Ladisch Date: Mon Jun 16 14:13:52 2008 +0200 sound: oxygen: fix NULL pointer dereference when loading snd-oxygen Check that model->control_filter is set before trying to call it. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit e4f3ec063421bdbcb93330e72aa3eeedb6a0d85a Author: Paul Collins Date: Sat Jun 14 14:14:59 2008 +1200 udf: restore UDFFS_DEBUG to being undefined by default Commit 706047a79725b585cf272fdefc234b31b6545c72, "udf: Fix compilation warnings when UDF debug is on" inadvertently (I assume) enabled debugging messages by default for UDF. This patch disables them again. Signed-off-by: Paul Collins Signed-off-by: Jan Kara commit 313348db0bff8911b1219e6338342d0527072741 Author: Paul Mackerras Date: Mon Jun 16 21:14:12 2008 +1000 [POWERPC] Turn on ATA_SFF so we get SATA_SVW back in defconfigs This enables CONFIG_ATA_SFF in the defconfigs that are intended to work on a G5 powermac, i.e. g5_defconfig and ppc64_defconfig. Since the support for the SATA cell in the K2 chipset is provided by the sata_svw.c driver, and that depends on CONFIG_ATA_SFF, we need to turn that and CONFIG_SATA_SVW back on so we can get to the hard disk on G5s. Signed-off-by: Paul Mackerras commit 4a96db3c780f30432653f99cbff193ba3e474e0b Author: Stephen Rothwell Date: Mon Jun 16 10:50:13 2008 +1000 [POWERPC] Remove ppc32's export of console_drivers There are no in-tree uses of the export any more and in linux-next there is a change that exports it globally which causes warnings: WARNING: vmlinux: 'console_drivers' exported twice. Previous export was in vmlinux and in one case (mpc85xx_defconfig) a build error: kernel/built-in.o: In function `__crc_console_drivers': (*ABS*+0x1eb0e6f5): multiple definition of `__crc_console_drivers' So remove the export now. Also, there is no longer any need to include linux/console.h. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit da3de6df33f5f42ff9dc40093fbc884f524c9a49 Author: Kumar Gala Date: Fri Jun 13 07:20:58 2008 +1000 [POWERPC] Fix -Os kernel builds with newer gcc versions GCC 4.4.x looks to be adding support for generating out-of-line register saves/restores based on: http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01678.html This breaks the kernel if we enable CONFIG_CC_OPTIMIZE_FOR_SIZE. To fix this we add the use the save/restore code from gcc and simplified it down for our needs (integer only). Additionally, we have to link this code into each module. The other solution was to add EXPORT_SYMBOL() which meant going through the trampoline which seemed nonsensical for these out-of-line routines. Finally, we add some checks to prom_init_check.sh to ignore the out-of-line save/restore functions. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 143580ecfb7999147e546cc3814023e233e95fa5 Author: Kumar Gala Date: Fri Jun 13 07:19:06 2008 +1000 [POWERPC] Fix bootwrapper builds with newer gcc versions GCC 4.4.x looks to be adding support for generating out-of-line register saves/restores based on: http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01678.html This breaks the bootwrapper as we'd need to link with libgcc to get the implementation of the register save/restores. To workaround this issue, we just stole the save/restore code from gcc and simplified it down for our needs (integer only). Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 305c73687157d677bee6f2a5dbee438d844a028c Author: Adrian Bunk Date: Wed Jun 11 03:47:45 2008 +1000 [POWERPC] Build fix for drivers/macintosh/mediabay.c This fixes the following build error with CONFIG_BLK_DEV_IDE_PMAC=n: <-- snip --> ... CC drivers/macintosh/mediabay.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/macintosh/mediabay.c: In function 'check_media_bay': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/macintosh/mediabay.c:428: error: 'struct media_bay_info' has no member named 'cd_index' make[3]: *** [drivers/macintosh/mediabay.o] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 8e01520c06c65a1a376059199fc24d4f3d606991 Author: Andrew Morton Date: Tue Jun 10 09:26:10 2008 +1000 [POWERPC] Fix warning in pseries/eeh_driver.c Fix this: /usr/src/devel/arch/powerpc/platforms/pseries/eeh_driver.c: In function 'print_device_node_tree': /usr/src/devel/arch/powerpc/platforms/pseries/eeh_driver.c:55: warning: ISO C90 forbids mixed declarations and code also make that function look like it's part of Linux. Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 958a65f205fdc5ce5461d79376073b89acc51b31 Author: Julia Lawall Date: Mon Jun 9 22:21:51 2008 +1000 [POWERPC] Add missing of_node_put in drivers/macintosh/therm_adt746x.c of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code. The semantic patch that makes the change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device_node *n; struct device_node *n1; statement S; identifier f; expression E; constant C; @@ n = of_find_node_by_name(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f(n,...) when != E = n when any when strict ( + of_node_put(n); return -C; | of_node_put(n); | n1 = f(n,...) | E = n | return ...; ) // Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8b9dba2ce28f64246198704b23f133bed5429e62 Author: Julia Lawall Date: Mon Jun 9 22:20:42 2008 +1000 [POWERPC] Add missing of_node_put in drivers/macintosh/smu.c of_node_put is needed before discarding a value received from of_find_node_by_type, eg in error handling code. The semantic patch that makes the change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device_node *n; struct device_node *n1; struct device_node *n2; statement S; identifier f1,f2; expression E1,E2; constant C; @@ n = of_find_node_by_type(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f1(n,...) when != E1 = n when any when strict ( + of_node_put(n); return -C; | of_node_put(n); | n2 = f2(n,...) | E2 = n | return ...; ) // Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit bad5232ba266ae2c666c17be236152fb2d8ada3b Author: Julia Lawall Date: Mon Jun 9 22:20:04 2008 +1000 [POWERPC] Add missing of_node_put in pseries/nvram.c of_node_put is needed before discarding a value received from of_find_node_by_type, eg in error handling code. The semantic patch that makes the change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device_node *n; struct device_node *n1; struct device_node *n2; statement S; identifier f1,f2; expression E1,E2; constant C; @@ n = of_find_node_by_type(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f1(n,...) when != E1 = n when any when strict ( + of_node_put(n); return -C; | of_node_put(n); | n2 = f2(n,...) | E2 = n | return ...; ) // Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 476ff8a0e3b17fc23994255aa9fd917d599d2ec7 Author: Emil Medve Date: Fri May 23 05:49:22 2008 +1000 [POWERPC] Fix return value check logic in debugfs virq_mapping setup debugfs_create_file() returns a non-NULL (non-zero) value in case of success, not a NULL value. This fixes this non-critical boot-time debugging error message: [ 1.316386] calling irq_debugfs_init+0x0/0x50 [ 1.316399] initcall irq_debugfs_init+0x0/0x50 returned -12 after 0 msecs [ 1.316411] initcall irq_debugfs_init+0x0/0x50 returned with error code -12 Signed-off-by: Emil Medve Acked-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 598056d5af8fef1dbe8f96f5c2b641a528184e5a Author: Nick Piggin Date: Thu May 22 00:10:56 2008 +1000 [POWERPC] Fix rmb to order cacheable vs. noncacheable lwsync is explicitly defined not to have any effect on the ordering of accesses to device memory, so it cannot be used for rmb(). sync appears to be the only barrier which fits the bill. Signed-off-by: Nick Piggin Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a9653cf540d407fb75deb3db65a1be6c81d53ee0 Merge: e80ac32... 0665190... Author: Paul Mackerras Date: Mon Jun 16 14:53:25 2008 +1000 Merge branch 'linux-2.6' into merge commit e80ac32767d0f781ac195c472d500a7451d3729a Merge: ecab9ab... 028fda0... Author: Paul Mackerras Date: Mon Jun 16 14:52:56 2008 +1000 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge commit 028fda0a6c80c26f1d9f403b4490b9ddc74ffa3b Author: Luke Browning Date: Mon Jun 16 10:42:38 2008 +1000 powerpc/spufs: fix missed stop-and-signal event There is a delay in the transition to the stopped state for class 2 interrupts. In some cases, the controlling thread detects the state of the spu as running, and goes back to sleep resulting in a hung application as the event is missed. This change detects the stop condition and re-generates the wakeup event after a context save. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit 2c911a14b74fa9cf815a936f310e4fa85bee77ce Author: Luke Browning Date: Fri Jun 13 14:17:35 2008 +1000 powerpc/spufs: synchronize interaction between spu exception handling and time slicing Time slicing can occur at the same time as spu exception handling resulting in the wakeup of the wrong thread. This change uses the the spu's register_lock to enforce synchronization between bind/unbind and spu exception handling so that they are mutually exclusive. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit 1f64643aa5f5a17f1723f7ea0f17b7a3a8f632b3 Author: Luke Browning Date: Thu Jun 5 17:30:25 2008 +0800 powerpc/spufs: remove class_0_dsisr from spu exception handling According to the CBEA, the SPU dsisr is not updated for class 0 exceptions. spu_stopped() is testing the dsisr that was passed to it from the class 0 exception handler, so we return a false positive here. This patch cleans up the interrupt handler and erroneous tests in spu_stopped. It also removes the fields from the csa since it is not needed to process class 0 events. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit d84050f48ebba73994b93ccf61cea2364dac8d75 Author: Luke Browning Date: Thu May 29 17:46:10 2008 -0300 powerpc/spufs: wait for stable spu status in spu_stopped() If the spu is stopping (ie, the SPU_STATUS_RUNNING bit is still set), re-read the register to get the final stopped value. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit ecab9ab22a9a64d6412961e42a5a23c74c6b6220 Merge: 8d6bcd6... f17c632... Author: Paul Mackerras Date: Mon Jun 16 14:30:47 2008 +1000 Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into merge commit 066519068ad2fbe98c7f45552b1f592903a9c8c8 Merge: b92dea6... 0cbccbc... Author: Linus Torvalds Date: Sun Jun 15 16:53:20 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide-generic: don't probe all legacy ISA IDE ports by default ide-cs: fix releasing I/O resources ide-cs: fix probing and add warm-plug support ide-pmac: remove bogus comment about pmac_ide_setup_device() ide-pmac: add ->cable_detect method ide-pmac: bugfix for media-bay support rework opti621: add PIO 4 support opti621: use pre-calculated PIO timings opti621: program devices timings separately in ->set_pio_mode opti621: use PCI clock value provided by controller opti621: remove DMA support opti621: disable read prefetch commit b92dea67cc66970cda6b5b11895d08e35b4618e7 Author: Mark McLoughlin Date: Sun Jun 15 23:20:50 2008 +1000 virtio: Complete feature negotation before updating status lguest (in rusty's use-tun-ringfd patch) assumes that the guest has updated its feature bits before setting its status to VIRTIO_CONFIG_S_DRIVER_OK. That's pretty reasonable, so let's make it so. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 0cbccbc30a60ff60dbeb203154f1f527c632de9b Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:24 2008 +0200 ide-generic: don't probe all legacy ISA IDE ports by default We can't probe all legacy ISA IDE ports by default as the resources may be occupied by other ISA devices. Add "probe_mask" module parameter and probe only first two ISA IDE ports by default leaving the decision about probing the rest to the user (systems with ISA ide2-6 should be very, very rare). This fixes a regression caused by: commit 343a3451e20314d5959b59b992e33fbaadfe52bf Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:36 2008 +0200 ide-generic: add missing hwif->chipset setup ... Reported-by: Mikael Pettersson Bisected-by: Mikael Pettersson Tested-by: Mikael Pettersson Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit fbc69fd9b76158daaa83e5372e44fdd81df20f92 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-cs: fix releasing I/O resources hwif content is already freed after ide_release() call so cache hwif->io_ports.{data,ctl}_addr in local variables in ide_detach(). This fixes post-2.6.25 regression. Signed-off-by: Bartlomiej Zolnierkiewicz commit 792a1a98560a2a1619491eed8b18fccb09b312a7 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-cs: fix probing and add warm-plug support * Fix probing by using ide_port_scan() and moving "retry loop" from ide_config() to idecs_register(). * Don't fail probe if there are no devices attached to a port. * Remove (now redundant) error message from ide_config(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 5b16464ac32a92c2332030d11ec445bddeb141fa Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-pmac: remove bogus comment about pmac_ide_setup_device() Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 07a6c66da53f646a39103290bfbd85be18892895 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-pmac: add ->cable_detect method Add ->cable_detect method and remove no longer needed pmif->cable_80 flag (there is also no need to mask ->udma_mask now). This fixes: - forced ignoring of cable detection (needed for some CF devices & debug) - cable detection for warm-plug Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit c1a8e39819bd6797ee2b82b88517268d39921b03 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-pmac: bugfix for media-bay support rework Fix bug introduced by: commit 2dde7861afa23cd59db83515cb0b810b92b220aa Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: rework PowerMac media-bay support (take 2) ... [ Yeah, I suck. ] bay->cd_index shouldn't be changed if IDE devices are not present or retry operations won't happen. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 80a65fc5ee04497e6c28bdaefc44d375b19c4a79 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:22 2008 +0200 opti621: add PIO 4 support * Add PIO 4 support. While at it: * Use a single struct ide_port_info instance for OPTi621 and OPTi621X. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit 810253d44bc92b44b66cd9944b579de54c0cd3ff Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:22 2008 +0200 opti621: use pre-calculated PIO timings * Use pre-calculated PIO timings in ->set_pio_mode. * Remove no longer needed compute_clocks(), cmpt_clk(), struct pio_clocks_s, PIO_* defines and OPTI621_DEBUG define. There should be no functional changes caused by this patch. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit 6c987183fcc3c6cb9eb77fd0b3e8ca1ac98a4813 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:22 2008 +0200 opti621: program devices timings separately in ->set_pio_mode * Set drive->drive_data to 'pio + XFER_PIO_0' instead of 'pio', then simplify selecting maximum adress setup timing. * Remove no longer needed compute_pios() and opti621_port_init_devs(). * Program devices timings separately in ->set_pio_mode. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit 21bd33a656a60daadc475ce330272f4410ae27b7 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:22 2008 +0200 opti621: use PCI clock value provided by controller Use PCI clock value provided by controller instead of depending on a default (or user supplied) value. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit f361037631ba547ea88adf8d2359d810c1b2605a Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:21 2008 +0200 opti621: remove DMA support These controllers don't support DMA. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 62128b2ca812c1266f4ff7bac068bf0b626c6179 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:21 2008 +0200 opti621: disable read prefetch This fixes 2.6.25 regression (kernel.org bugzilla bug #10723) caused by: commit 912fb29a36a7269ac1c4a4df45bc0ac1d2637972 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 opti621: always tune PIO ... Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Bisected-by: Juergen Kosel Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit f93daa3f7ff4f0cc13acc7452a00feb1c586102a Author: Jeff Mahoney Date: Fri Jun 13 10:38:00 2008 -0400 [SCSI] dpt_i2o: Add PROC_IA64 define This fixes the following compile failure: drivers/scsi/dpt_i2o.c:83: error: 'PROC_IA64' undeclared here (not in a function) Mark Salyzyn indicated that IA64 must report itself as PROC_INTEL, so I've changed the comment for PROC_INTEL. Signed-off-by: Jeff Mahoney Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 3ed7897242b7efe977f3a8d06d4e5a4ebe28b10e Author: Mike Christie Date: Wed Jun 11 19:21:00 2008 -0500 [SCSI] scsi_host regression: fix scsi host leak commit 9c7701088a61cc0cf8a6e1c68d1e74e3cc2ee0b7 Author: Dave Young Date: Tue Jan 22 14:01:34 2008 +0800 scsi: use class iteration api Isn't a correct replacement for the original hand rolled host lookup. The problem is that class_find_child would get a reference to the host's class device which is never released. Since the host class device holds a reference to the host gendev, the host can never be freed. In 2.6.26 we started using class_find_device, and this function also gets a reference to the device, so we end up with an extra ref and the host will not get released. This patch adds a put_device to balance the class_find_device() get. I kept the scsi_host_get in scsi_host_lookup, because the target layer is using scsi_host_lookup and it looks like it needs the SHOST_DEL check. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 34a5d713056c325e5bf2b5361646585d5f550a72 Merge: 7775c97... cb62ecc... Author: David S. Miller Date: Sat Jun 14 17:33:38 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0269c5c6d9a9de22715ecda589730547435cd3e8 Merge: 7775c97... 81d5575... Author: Linus Torvalds Date: Sat Jun 14 13:32:56 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: fixup write combine comment in pci_mmap_resource x86: PAT export resource_wc in pci sysfs x86, pci-dma.c: don't always add __GFP_NORETRY to gfp suspend-vs-iommu: prevent suspend if we could not resume x86: pci-dma.c: use __GFP_NO_OOM instead of __GFP_NORETRY pci, x86: add workaround for bug in ASUS A7V600 BIOS (rev 1005) PCI: use dev_to_node in pci_call_probe PCI: Correct last two HP entries in the bfsort whitelist commit f163ff5176a8e9c827d8ebe044710d67d40799c3 Author: Len Brown Date: Sat Jun 14 01:26:37 2008 -0400 ACPI: no AC status notification http://bugzilla.kernel.org/show_bug.cgi?id=10695 Signed-off-by: Len Brown commit d385c2a85877f0cb785070094edf9a624c090d68 Author: Zhang Rui Date: Sat Jun 14 01:01:18 2008 -0400 ACPI Exception (video-1721): UNKNOWN_STATUS_CODE, Cant attach device The child of a video bus device is not alway a video device. It should be a warn message rather than an exception here. http://bugzilla.kernel.org/show_bug.cgi?id=9761 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit cb62eccd7d946f7fb92b8beb79988726ec92c227 Author: Ivo van Doorn Date: Thu Jun 12 20:47:17 2008 +0200 rt2x00: Add D-link DWA111 support Add new rt73usb USB ID for D-Link DWA111 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 995ad6c5a415c9389d094d246ca1b305c1e31813 Author: Tomas Winkler Date: Thu Jun 12 20:08:19 2008 +0300 mac80211: add missing new line in debug print HT_DEBUG This patch adds '\n' in debug printk (wme.c HT DEBUG) Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5c5f9664d5284d8542062fed39e1f19b80db7aa5 Author: Abhijeet Kolekar Date: Thu Jun 12 09:47:16 2008 +0800 mac80211 : fix for iwconfig in ad-hoc mode The patch checks interface status, if it is in IBSS_JOINED mode show cell id it is associated with. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e6340361f9c70e84312caed98c6e058ac6234e9b Author: Michael Buesch Date: Thu Jun 12 15:33:13 2008 +0200 ssb: Fix coherent DMA mask for PCI devices This fixes setting the coherent DMA mask for PCI devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 6847aa5cce6e22c3625a243b02909ac46aafa110 Author: Randy Dunlap Date: Wed Jun 11 13:32:22 2008 -0700 rt2x00: LEDS build failure Config symbols that select LEDS_CLASS need to depend on NEW_LEDS so that undefined symbols are not used in the build. The alternative is to select NEW_LEDS, which some drivers do. This patch fixes the led_* symbols build errors. (.text+0x174cdc): undefined reference to `input_unregister_device' (.text+0x174d9f): undefined reference to `input_allocate_device' (.text+0x174e2d): undefined reference to `input_register_device' (.text+0x174e53): undefined reference to `input_free_device' rt2x00rfkill.c:(.text+0x176dc4): undefined reference to `input_allocate_polled_device' rt2x00rfkill.c:(.text+0x176e8b): undefined reference to `input_event' rt2x00rfkill.c:(.text+0x176e9f): undefined reference to `input_event' (.text+0x176eca): undefined reference to `input_unregister_polled_device' (.text+0x176efc): undefined reference to `input_free_polled_device' (.text+0x176f37): undefined reference to `input_free_polled_device' (.text+0x176fd8): undefined reference to `input_register_polled_device' (.text+0x1772c0): undefined reference to `led_classdev_resume' (.text+0x1772d4): undefined reference to `led_classdev_resume' (.text+0x1772e8): undefined reference to `led_classdev_resume' (.text+0x17730a): undefined reference to `led_classdev_suspend' (.text+0x17731e): undefined reference to `led_classdev_suspend' (.text+0x17732f): undefined reference to `led_classdev_suspend' rt2x00leds.c:(.text+0x177348): undefined reference to `led_classdev_unregister' rt2x00leds.c:(.text+0x1773c0): undefined reference to `led_classdev_register' rfkill-input.c:(.text+0x209e4c): undefined reference to `input_close_device' rfkill-input.c:(.text+0x209e53): undefined reference to `input_unregister_handle' rfkill-input.c:(.text+0x209ea1): undefined reference to `input_register_handle' rfkill-input.c:(.text+0x209eae): undefined reference to `input_open_device' rfkill-input.c:(.text+0x209ebb): undefined reference to `input_unregister_handle' rfkill-input.c:(.init.text+0x17405): undefined reference to `input_register_handler' rfkill-input.c:(.exit.text+0x194f): undefined reference to `input_unregister_handler' make[1]: *** [vmlinux] Error 1 Signed-off-by: Randy Dunlap Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e76328e4a8260707fbc29c99773fb5ba4627096c Author: Randy Dunlap Date: Wed Jun 11 12:57:58 2008 -0700 rt2x00: INPUT build failure Config symbols that select RFKILL need to depend on INPUT so that undefined symbols are not used in the build. This patch fixes the input_* symbols build errors. (.text+0x174cdc): undefined reference to `input_unregister_device' (.text+0x174d9f): undefined reference to `input_allocate_device' (.text+0x174e2d): undefined reference to `input_register_device' (.text+0x174e53): undefined reference to `input_free_device' rt2x00rfkill.c:(.text+0x176dc4): undefined reference to `input_allocate_polled_device' rt2x00rfkill.c:(.text+0x176e8b): undefined reference to `input_event' rt2x00rfkill.c:(.text+0x176e9f): undefined reference to `input_event' (.text+0x176eca): undefined reference to `input_unregister_polled_device' (.text+0x176efc): undefined reference to `input_free_polled_device' (.text+0x176f37): undefined reference to `input_free_polled_device' (.text+0x176fd8): undefined reference to `input_register_polled_device' (.text+0x1772c0): undefined reference to `led_classdev_resume' (.text+0x1772d4): undefined reference to `led_classdev_resume' (.text+0x1772e8): undefined reference to `led_classdev_resume' (.text+0x17730a): undefined reference to `led_classdev_suspend' (.text+0x17731e): undefined reference to `led_classdev_suspend' (.text+0x17732f): undefined reference to `led_classdev_suspend' rt2x00leds.c:(.text+0x177348): undefined reference to `led_classdev_unregister' rt2x00leds.c:(.text+0x1773c0): undefined reference to `led_classdev_register' rfkill-input.c:(.text+0x209e4c): undefined reference to `input_close_device' rfkill-input.c:(.text+0x209e53): undefined reference to `input_unregister_handle' rfkill-input.c:(.text+0x209ea1): undefined reference to `input_register_handle' rfkill-input.c:(.text+0x209eae): undefined reference to `input_open_device' rfkill-input.c:(.text+0x209ebb): undefined reference to `input_unregister_handle' rfkill-input.c:(.init.text+0x17405): undefined reference to `input_register_handler' rfkill-input.c:(.exit.text+0x194f): undefined reference to `input_unregister_handler' make[1]: *** [vmlinux] Error 1 Signed-off-by: Randy Dunlap Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 98a3b2fe435ae76170936c14f5c9e6a87548e3ef Author: Michael Buesch Date: Thu Jun 12 12:36:29 2008 +0200 b43: Fix noise calculation WARN_ON This removes a WARN_ON that is responsible for the following koops: http://www.kerneloops.org/searchweek.php?search=b43_generate_noise_sample The comment in the patch describes why it's safe to simply remove the check. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 028118a5f09a9c807e6b43e2231efdff9f224c74 Author: Michael Buesch Date: Thu Jun 12 11:58:56 2008 +0200 b43: Fix possible NULL pointer dereference in DMA code This fixes a possible NULL pointer dereference in an error path of the DMA allocation error checking code. This is also necessary for a future DMA API change that is on its way into the mainline kernel that adds an additional dev parameter to dma_mapping_error(). This patch moves the whole struct b43_dmaring struct initialization right before any DMA allocation operation. Reported-by: Miles Lane Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 051c256f672efa356a4cda1841132dbc86541090 Author: Gertjan van Wingerde Date: Tue Jun 3 20:29:47 2008 +0200 rt2x00: Restrict DMA to 32-bit addresses. None of the rt2x00 PCI devices support 64-bit DMA addresses (they all only accept 32-bit buffer addresses). Hence it makes no sense to try to enable 64-bit DMA addresses. Only try to enable 32-bit DMA addresses. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit edfa78b2ba651782d70be6d1fef214e21a26d8cb Author: Ivo van Doorn Date: Tue Jun 3 20:29:50 2008 +0200 rt2x00: Don't kill guardian_urb when it wasn't created This fixes a "BUG: unable to handle kernel paging request" bug in rt73usb which was caused by killing the guardian_urb while it had never been allocated for rt73usb. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7775c9753b94fe429dc4323360d6502c95e0dd6e Merge: fa8d84b... 42a5a8a... Author: Linus Torvalds Date: Fri Jun 13 09:47:07 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: parisc: update my email address parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3 parisc: fix off by one in setup_sigcontext32 parisc: export empty_zero_page parisc: export copy_user_page_asm parisc: move head.S to head.text section Revert "parisc: fix trivial section name warnings" commit 42a5a8a60a093c359987fd884aec99b9d7f4c084 Author: Kyle McMartin Date: Fri Jun 6 17:16:17 2008 -0400 parisc: update my email address Signed-off-by: Kyle McMartin commit e374d17cd74ec5967f81e2b0c67ec3219a2bbbcc Author: Kyle McMartin Date: Sat May 31 12:15:42 2008 -0400 parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3 ip_fast_csum needs an asm "memory" clobber, otherwise the aggressive optimizations in gcc-4.3 cause it to be miscompiled. Signed-off-by: Kyle McMartin commit f4441b62d46e7033e907dfd6a8bb0b75b5519e88 Author: Kyle McMartin Date: Tue May 27 01:56:29 2008 -0400 parisc: fix off by one in setup_sigcontext32 Thankfully, the values were irrelevant... Spotted by newer gcc. Signed-off-by: Kyle McMartin commit 22febf1f372496d74534be32b6b5edcee7fb7cc5 Author: Kyle McMartin Date: Mon May 26 01:54:35 2008 -0400 parisc: export empty_zero_page Needed by ext4 when built as a module. Signed-off-by: Kyle McMartin commit db51d92b90193cf69b2bcc2874fd0b267fd3e710 Author: Kyle McMartin Date: Mon May 26 01:49:01 2008 -0400 parisc: export copy_user_page_asm Needed by fuse (via copy_highpage). Signed-off-by: Kyle McMartin commit 1138a72cd96857d1d5928c0c8c83d8b8995eeb38 Author: Kyle McMartin Date: Thu May 22 14:38:26 2008 -0400 parisc: move head.S to head.text section And explicitly list it in vmlinux.lds... Signed-off-by: Kyle McMartin commit dfcf753bd3fb09f336659d07b1c48db7e62772e0 Author: Kyle McMartin Date: Thu May 22 14:36:31 2008 -0400 Revert "parisc: fix trivial section name warnings" This reverts commit bd3bb8c15b9a80dbddfb7905b237a4a11a4725b4. Signed-off-by: Kyle McMartin commit fa8d84b78be10d0c455dd716f40152bb7003bd5b Merge: 5155857... bd17243... Author: Linus Torvalds Date: Fri Jun 13 07:40:57 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: Workaround HW bug for SB600/700 SATA controller PMP support ahci: workarounds for mcp65 commit 51558576ead54c1047e4d41440626e4f9aa015ea Merge: d36e311... ec0a196... Author: Linus Torvalds Date: Fri Jun 13 07:34:47 2008 -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: tcp: Revert 'process defer accept as established' changes. ipv6: Fix duplicate initialization of rawv6_prot.destroy bnx2x: Updating the Maintainer net: Eliminate flush_scheduled_work() calls while RTNL is held. drivers/net/r6040.c: correct bad use of round_jiffies() fec_mpc52xx: MPC52xx_MESSAGES_DEFAULT: 2nd NETIF_MSG_IFDOWN => IFUP ipg: fix receivemode IPG_RM_RECEIVEMULTICAST{,HASH} in ipg_nic_set_multicast_list() netfilter: nf_conntrack: fix ctnetlink related crash in nf_nat_setup_info() netfilter: Make nflog quiet when no one listen in userspace. ipv6: Fail with appropriate error code when setting not-applicable sockopt. ipv6: Check IPV6_MULTICAST_LOOP option value. ipv6: Check the hop limit setting in ancillary data. ipv6 route: Fix route lifetime in netlink message. ipv6 mcast: Check address family of gf_group in getsockopt(MS_FILTER). dccp: Bug in initial acknowledgment number assignment dccp ccid-3: X truncated due to type conversion dccp ccid-3: TFRC reverse-lookup Bug-Fix dccp ccid-2: Bug-Fix - Ack Vectors need to be ignored on request sockets dccp: Fix sparse warnings dccp ccid-3: Bug-Fix - Zero RTT is possible commit d36e311070ee3a378a54142a168ff5cfedba33d5 Merge: 61d6cc5... 738eca7... Author: Linus Torvalds Date: Fri Jun 13 07:34:01 2008 -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: sparc: get leo framebuffer working commit bd17243a84632465f5403bc9eb8b4831bd67e582 Author: Shane Huang Date: Tue Jun 10 15:52:04 2008 +0800 ahci: Workaround HW bug for SB600/700 SATA controller PMP support There is one bug in ATI SATA PMP of SB600 and SB700 old revision, which leads to soft reset failure. This patch can fix the bug. Signed-off-by: Shane Huang Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit e297d99e103f951a71fcb1534f1ff3480dd3a851 Author: Tejun Heo Date: Tue Jun 10 00:13:04 2008 +0900 ahci: workarounds for mcp65 MCP65 ahci can do NCQ but doesn't set the CAP bit and rev A0 and A1 can't do MSI but have MSI capability. Implement AHCI_HFLAG_YES_NCQ and apply appropriate workarounds. Signed-off-by: Tejun Heo Cc: Peer Chen Signed-off-by: Jeff Garzik commit b554305905d9bc2184b424aa67712119d5c9fb99 Author: Dave Airlie Date: Fri Jun 13 15:06:31 2008 +1000 drm: the sg alloc ioctl should write back the handle to userspace Signed-off-by: Dave Airlie commit 41ee2ff404ec76194315aeed57ac973b010abe1d Author: Johannes Weiner Date: Fri Jun 13 15:04:40 2008 +1000 drm: use drms ioctl cmd not what we get passed from userspace. This enforces us to use the drm ioctl types so read/write works correctly and not believe what userspace tells us. It does this hopefully without breaking the drm api. Fixes bug from thread: BUG: unable to handle kernel NULL pointer dereference (drm_getunique) Signed-off-by: Dave Airlie commit 61d6cc54896811086b51fa78d440311974a09b3a Merge: c6d8f40... 3692fd0... Author: Linus Torvalds Date: Thu Jun 12 19:37:29 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5091/1: Add missing bitfield include to regs-lcd.h [ARM] 5090/1: Correct pxafb palette typo error [ARM] 5077/1: spi: fix list scan success verification in PXA ssp driver commit c6d8f400cc7610f04177f81168c19b8407cb48c3 Author: Sergey Lapin Date: Thu Jun 12 15:21:55 2008 -0700 rtc: Ramtron FM3130 RTC support Ramtron FM3130 is a chip with two separate devices inside, RTC clock and FRAM. This driver provides only RTC functionality. This chip is met in lots of custom boards with AT91SAMXXXX CPU I work with, is cheap and in no way better or worse than any other RTC on market. While it is mostly met on much smaller devices, I think it is great to have it supported in Linux. Signed-off-by: Sergey Lapin Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6d2bb2bacb43ff03b0f458108d71981d58e775a Author: David Brownell Date: Thu Jun 12 15:21:55 2008 -0700 rtc: make HPET_RTC_IRQ track HPET_EMULATE_RTC More Kconfig tweaks related to the legacy PC RTC code: - Describe the legacy PC RTC driver as such ... it's never quite been clear that this driver is for PC RTCs, and now it's fair to call this the "legacy" driver. - Force it to understand about HPET stealing its IRQs ... kernel code does this always when HPET is in use, there should be no option for users to goof up the config. This seems to fix kernel bugzilla #10729. Signed-off-by: David Brownell Cc: Maxim Levitsky Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1da2e3d679a8ea2d9e82040359a706da0bd3bef6 Author: Stas Sergeev Date: Thu Jun 12 15:21:54 2008 -0700 provide rtc_cmos platform device Recently (around 2.6.25) I've noticed that RTC no longer works for me. It turned out this is because I use pnpacpi=off kernel option to work around the parport_pc bugs. I always did so, but RTC used to work fine in the past, and now it have regressed. The patch fixes the problem by creating the platform device for the RTC when PNP is disabled. This may also help running the PNP-enabled kernel on an older PCs. Signed-off-by: Stas Sergeev Cc: David Brownell Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 643b52b9c0b4e959436b4b551ebf4060d06d5ae8 Author: Nick Piggin Date: Thu Jun 12 15:21:52 2008 -0700 radix-tree: fix small lockless radix-tree bug We shrink a radix tree when its root node has only one child, in the left most slot. The child becomes the new root node. To perform this operation in a manner compatible with concurrent lockless lookups, we atomically switch the root pointer from the parent to its child. However a concurrent lockless lookup may now have loaded a pointer to the parent (and is presently deciding what to do next). For this reason, we also have to keep the parent node in a valid state after shrinking the tree, until the next RCU grace period -- otherwise this lookup with the parent pointer may not do the right thing. Notably, we need to keep the child in the left most slot there in case that is requested by the lookup. This is all pretty standard RCU stuff. It is worth repeating because in my eagerness to obey the radix tree node constructor scheme, I had broken it by zeroing the radix tree node before the grace period. What could happen is that a lookup can load the parent pointer, then decide it wants to follow the left most child slot, only to find the slot contained NULL due to the concurrent shrinker having zeroed the parent node before waiting for a grace period. The lookup would return a false negative as a result. Fix it by doing that clearing in the RCU callback. I would normally want to rip out the constructor entirely, but radix tree nodes are one of those places where they make sense (only few cachelines will be touched soon after allocation). This was never actually found in any lockless pagecache testing or by the test harness, but by seeing the odd problem with my scalable vmap rewrite. I have not tickled the test harness into reproducing it yet, but I'll keep working at it. Fortunately, it is not a problem anywhere lockless pagecache is used in mainline kernels (pagecache probe is not a guarantee, and brd does not have concurrent lookups and deletes). Signed-off-by: Nick Piggin Acked-by: Peter Zijlstra Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2187ebd84c7dd13ef269e9600f4daebeb02816e Author: Jiri Bohac Date: Thu Jun 12 15:21:51 2008 -0700 console keyboard mapping broken by 04c71976 Several console keyboard maps are broken since commit 04c71976500352d02f60616d2b960267d8c5fe24 Author: Samuel Thibault Date: Tue Oct 16 23:27:04 2007 -0700 unicode diacritics support because that changeset made k_self consider the value as a latin1 character when in Unicode mode, which is wrong; k_self should still take the console map into account. Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c826818ff55eae7702b778b5f8bdf765af3b2af Author: Paul Menage Date: Thu Jun 12 15:21:49 2008 -0700 /proc/sysvipc/shm: fix 32-bit truncation of segment sizes sysvipc_shm_proc_show() picks between format strings (based on the expected maximum length of a SHM segment) in a way that prevents gcc from performing format checks on the seq_printf() parameters. This hid two format errors - shp->shm_segsz and shp->shm_nattach are both unsigned long, but were being printed as unsigned int and signed int respectively. This leads to 32-bit truncation of SHM segment sizes reported in /proc/sysvipc/shm. (And for nattach, but that's less of a problem for most users). This patch makes the format string directly visible to gcc's format specifier checker, and fixes the two broken format specifiers. Signed-off-by: Paul Menage Cc: Nadia Derbey Cc: Manfred Spraul Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf8039ed45f56013c4afea5520bca7d909e5e61 Author: Dave Hansen Date: Thu Jun 12 15:21:48 2008 -0700 pagemap: fix large pages in pagemap We were walking right into huge page areas in the pagemap walker, and calling the pmds pmd_bad() and clearing them. That leaked huge pages. Bad. This patch at least works around that for now. It ignores huge pages in the pagemap walker for the time being, and won't leak those pages. Signed-off-by: Dave Hansen Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2165009bdf63f79716a36ad545df14c3cdf958b7 Author: Dave Hansen Date: Thu Jun 12 15:21:47 2008 -0700 pagemap: pass mm into pagewalkers We need this at least for huge page detection for now, because powerpc needs the vm_area_struct to be able to determine whether a virtual address is referring to a huge page (its pmd_huge() doesn't work). It might also come in handy for some of the other users. Signed-off-by: Dave Hansen Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfc53f65f56f9f33c0cf522124045ac5a64076b3 Author: Philippe De Muyter Date: Thu Jun 12 15:21:46 2008 -0700 driver/char/generic_nvram: fix banner The generic nvram driver announces itself as 'Macintosh non-volatile memory driver' instead of 'Generic non-volatile memory driver'. Fix that. Signed-off-by: Philippe De Muyter Cc: Benjamin Herrenschmidt Cc: Arjan van de Ven Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e59b6a5ab51f6192cbe20d4f031335fe6d0e73fd Author: Philippe De Muyter Date: Thu Jun 12 15:21:45 2008 -0700 drivers/video/cirrusfb: fix RAM address printk In the cirrusfb driver, the RAM address printk has a superfluous 'x' that could be interpreted as "don't care", while it is actually a typo. Fix that. [akpm@linux-foundation.org: join the two printk strings to make it atomic] Signed-off-by: Philippe De Muyter Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c97aee9ba43d60ff20d955065d29b6d3d8c950d5 Author: Stephen Hemminger Date: Thu Jun 12 15:21:45 2008 -0700 intel_rng: make device not found a warning Since many distros load this driver by default (throw it against the wall and see what sticks method). Change the error message severity level to avoid alarming users. Isn't it annoying when users actually read the error logs... Signed-off-by: Stephen Hemminger Cc: Michael Buesch Acked-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 093a44e71aa29157fb1611b00507d67c954099d6 Author: Julia Lawall Date: Thu Jun 12 15:21:43 2008 -0700 drivers/isdn/sc/ioctl.c: add missing kfree spid has been allocated in this function and so should be freed before leaving it, as in the other error handling cases. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) @r exists@ expression E,E1; statement S; position p1,p2,p3; @@ E =@p1 \(kmalloc\|kcalloc\|kzalloc\)(...) ... when != E = E1 if (E == NULL || ...) S ... when != E = E1 if@p2 (...) { ... when != kfree(E) } ... when != E = E1 kfree@p3(E); @forall@ position r.p2; expression r.E; int E1 != 0; @@ * if@p2 (...) { ... when != kfree(E) when strict return E1; } Signed-off-by: Julia Lawall Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cef33400d0349fb24b6f8b7dea79b66e3144fd8b Author: Chuck Ebbert Date: Thu Jun 12 15:21:42 2008 -0700 mmc: wbsd: initialize tasklets before requesting interrupt With CONFIG_DEBUG_SHIRQ set we will get an interrupt as soon as we allocate one. Tasklets may be scheduled in the interrupt handler but they will be initialized after the handler returns, causing a BUG() in kernel/softirq.c when they run. Should fix this Fedora bug report: https://bugzilla.redhat.com/show_bug.cgi?id=449817 Signed-off-by: Chuck Ebbert Acked-by: Pierre Ossman Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30ec261e5f97986644c0982543bc1cee1b2782bf Author: Eric Miao Date: Thu Jun 12 15:21:41 2008 -0700 MAINTAINERS: update maintainership of pxa2xx/pxa3xx Signed-off-by: Eric Miao Acked-by: Russell King Acked-by: Nicolas Pitre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1ef9167ca4494a8c6d71d0031c73e9c8841eadd Author: Jeff Dike Date: Thu Jun 12 15:21:41 2008 -0700 uml: work around broken host PTRACE_SYSEMU Fedora broke PTRACE_SYSEMU again, and UML crashes as a result when it doesn't need to. This patch makes the PTRACE_SYSEMU check fail gracefully and makes UML fall back to PTRACE_SYSCALL. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14c8a77e1bbd693446dad297d2ae2dd22f187e4f Author: Jeff Dike Date: Thu Jun 12 15:21:40 2008 -0700 uml: remove include of asm/user.h I allowed an include of asm/user.h to sneak back in. This patch replaces it with sys/user.h. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 529a4f4ec90ffd9394fdfc22bea7a858ae343171 Author: Haavard Skinnemoen Date: Thu Jun 12 15:21:38 2008 -0700 rtc-at32ap700x: fix bug in at32_rtc_readalarm() alarm->pending indicates whether there's an alarm that has actually been triggered, not whether we're waiting for it. alarm->enabled indicates that. Also add missing locking around reading the RTC registers. Signed-off-by: Haavard Skinnemoen Signed-off-by: Alessandro Zummo Cc: Hans-Christian Egtvedt Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c38d8578545482fe45d6e6ea37be02a2e1bb289 Author: Philippe De Muyter Date: Thu Jun 12 15:21:36 2008 -0700 m68knommu: init coldfire timer TRR with n - 1, not n The coldfire timer must be initialised to n - 1 if we want it to count n cycles between each tick interrupt. This was already fixed, but has been lost with the conversion to GENERIC_TIMER. Signed-off-by: Philippe De Muyter Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67dddaad5d8b8c5ee5b96a7e2f6cb0faad703865 Author: Masami Hiramatsu Date: Thu Jun 12 15:21:35 2008 -0700 kprobes: fix error checking of batch registration Fix error checking routine to catch an error which occurs in first __register_*probe(). Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: David Miller Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24aac480e76c6f5d1391ac05c5e9c0eb9b0cd302 Author: Mike Miller Date: Thu Jun 12 15:21:34 2008 -0700 cciss: add new hardware support Add support for the next generation of HP Smart Array SAS/SATA controllers. Shipping date is late Fall 2008. Bump the driver version to 3.6.20 to reflect the new hardware support from patch 1 of this set. Signed-off-by: Mike Miller Cc: Jens Axboe Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cdbc2b9826b3543fecff2f6d6400fa77b21ffdd Author: Andrew G. Morgan Date: Thu Jun 12 15:21:33 2008 -0700 capabilities: add (back) dummy support for KEEPCAPS The dummy module is used by folk that run security conscious code(!?). A feature of such code (for example, dhclient) is that it tries to operate with minimum privilege (dropping unneeded capabilities). While the dummy module doesn't restrict code execution based on capability state, the user code expects the kernel to appear to support it. This patch adds back faked support for the PR_SET_KEEPCAPS etc., calls - making the kernel behave as before 2.6.26. For details see: http://bugzilla.kernel.org/show_bug.cgi?id=10748 Signed-off-by: Andrew G. Morgan Acked-by: Serge Hallyn Cc: James Morris Cc: Stephen Smalley Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57d3c64fd8130ebdacd85a36c9656ba5e221f3a3 Author: Ben Nizette Date: Thu Jun 12 15:21:31 2008 -0700 proc_fs.h: move struct mm_struct forward-declaration Move the forward-declaration of struct mm_struct a little way up proc_fs.h. This fixes a bunch of "'struct mm_struct' declared inside parameter list" warnings with CONFIG_PROC_FS=n Signed-off-by: Ben Nizette Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 551e172a20cf960f7caab4d31b252dc59538bfa4 Author: Paul Jackson Date: Thu Jun 12 15:21:31 2008 -0700 cpusets: provide another web page URL in MAINTAINERS file Add URL for another CPUSETS web page to the MAINTAINERS file. This URL provides links to major LGPL user level C libraries supporting cpuset usage and user level cpu and node masks. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 630c270183133ac25bef8c8d726ac448df9b169a Author: Krzysztof Helt Date: Thu Jun 12 15:21:29 2008 -0700 hgafb: resource management fix Release ports which are requested during detection which are not freed if there is no hga card. Otherwise there is a crash during cat /proc/ioports command. Signed-off-by: Krzysztof Helt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69c5ddf58a03da3686691ad2f293bc79fd977c10 Author: Aneesh Kumar K.V Date: Thu Jun 12 15:21:29 2008 -0700 m68k: Add ext2_find_{first,next}_bit() for ext4 Add ext2_find_{first,next}_bit(), which are needed for ext4. They're derived out of the ext2_find_next_zero_bit found in the same file. Compile tested with crosstools [Reworked to preserve all symmetry with ext2_find_{first,next}_zero_bit()] This fixes http://bugzilla.kernel.org/show_bug.cgi?id=10393 [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d518f84e5ecd1d71df0e6ac5176d212f68c27ce Author: OGAWA Hirofumi Date: Thu Jun 12 15:21:28 2008 -0700 fat: relax the permission check of fat_setattr() New chmod() allows only acceptable permission, and if not acceptable, it returns -EPERM. Old one allows even if it can't store permission to on disk inode. But it seems too strict for users. E.g. https://bugzilla.redhat.com/show_bug.cgi?id=449080: With new one, rsync couldn't create the temporary file. So, this patch allows like old one, but now it doesn't change the permission if it can't store, and it returns 0. Also, this patch fixes missing check. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c700be3d1320d2be4f04c8a5330186b7df724438 Author: kosaki.motohiro@jp.fujitsu.com Date: Thu Jun 12 15:21:27 2008 -0700 mm: fix incorrect variable type in do_try_to_free_pages() "Smarter retry of costly-order allocations" patch series change behaver of do_try_to_free_pages(). But unfortunately ret variable type was unchanged. Thus an overflow is possible. Signed-off-by: KOSAKI Motohiro Acked-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df0bcab2c66ac876d5e80864fca5cce944a44540 Author: Amit Kucheria Date: Thu Jun 12 15:21:26 2008 -0700 agp: add support for Radeon Mobility 9000 chipset Addresses https://bugs.edge.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/178634 Signed-off-by: Amit Kucheria Signed-off-by: maximilian attems Acked-by: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec0a196626bd12e0ba108d7daa6d95a4fb25c2c5 Author: David S. Miller Date: Thu Jun 12 16:31:35 2008 -0700 tcp: Revert 'process defer accept as established' changes. This reverts two changesets, ec3c0982a2dd1e671bad8e9d26c28dcba0039d87 ("[TCP]: TCP_DEFER_ACCEPT updates - process as established") and the follow-on bug fix 9ae27e0adbf471c7a6b80102e38e1d5a346b3b38 ("tcp: Fix slab corruption with ipv6 and tcp6fuzz"). This change causes several problems, first reported by Ingo Molnar as a distcc-over-loopback regression where connections were getting stuck. Ilpo Järvinen first spotted the locking problems. The new function added by this code, tcp_defer_accept_check(), only has the child socket locked, yet it is modifying state of the parent listening socket. Fixing that is non-trivial at best, because we can't simply just grab the parent listening socket lock at this point, because it would create an ABBA deadlock. The normal ordering is parent listening socket --> child socket, but this code path would require the reverse lock ordering. Next is a problem noticed by Vitaliy Gusev, he noted: ---------------------------------------- >--- a/net/ipv4/tcp_timer.c >+++ b/net/ipv4/tcp_timer.c >@@ -481,6 +481,11 @@ static void tcp_keepalive_timer (unsigned long data) > goto death; > } > >+ if (tp->defer_tcp_accept.request && sk->sk_state == TCP_ESTABLISHED) { >+ tcp_send_active_reset(sk, GFP_ATOMIC); >+ goto death; Here socket sk is not attached to listening socket's request queue. tcp_done() will not call inet_csk_destroy_sock() (and tcp_v4_destroy_sock() which should release this sk) as socket is not DEAD. Therefore socket sk will be lost for freeing. ---------------------------------------- Finally, Alexey Kuznetsov argues that there might not even be any real value or advantage to these new semantics even if we fix all of the bugs: ---------------------------------------- Hiding from accept() sockets with only out-of-order data only is the only thing which is impossible with old approach. Is this really so valuable? My opinion: no, this is nothing but a new loophole to consume memory without control. ---------------------------------------- So revert this thing for now. Signed-off-by: David S. Miller commit f23d60de719e639690b2dc5c2d0e4243ff614b7a Author: David S. Miller Date: Thu Jun 12 14:47:58 2008 -0700 ipv6: Fix duplicate initialization of rawv6_prot.destroy In changeset 22dd485022f3d0b162ceb5e67d85de7c3806aa20 ("raw: Raw socket leak.") code was added so that we flush pending frames on raw sockets to avoid leaks. The ipv4 part was fine, but the ipv6 part was not done correctly. Unlike the ipv4 side, the ipv6 code already has a .destroy method for rawv6_prot. So now there were two assignments to this member, and what the compiler does is use the last one, effectively making the ipv6 parts of that changeset a NOP. Fix this by removing the: .destroy = inet6_destroy_sock, line, and adding an inet6_destroy_sock() call to the end of raw6_destroy(). Noticed by Al Viro. Signed-off-by: David S. Miller Acked-by: YOSHIFUJI Hideaki commit 24e3fcefb9cc61acce59ed54c00c4e4c32537de7 Author: Eilon Greenstein Date: Thu Jun 12 14:30:28 2008 -0700 bnx2x: Updating the Maintainer I would like to thank Eliezer Tamir for writing and maintaining the driver for the past two years. I will take over maintaining the bnx2x driver from now on. Signed-off-by: Eilon Greenstein Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 81d5575a48f49f494289a1299a32e4e5e41fbf40 Author: Jesse Barnes Date: Thu Jun 12 13:51:46 2008 -0700 PCI: fixup write combine comment in pci_mmap_resource Now that we can actually do write combining properly, there's no need to have the FIXME. Signed-off-by: Jesse Barnes commit 883eed1b3e25fb1d7d8f32c6550cc1ac44888838 Merge: 5e70b7f... 45aec1a... Author: Jesse Barnes Date: Thu Jun 12 13:51:05 2008 -0700 Merge branch 'pci-for-jesse' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip into for-linus commit 3692fd0aaef489b063518b5999c702bada5b6e22 Author: Stefan Schmidt Date: Thu Jun 12 07:07:22 2008 +0100 [ARM] 5091/1: Add missing bitfield include to regs-lcd.h Macros like Fld() or FShft used in regs-lcd.h are defined in bitfield.h, but the latter is not included. Also fix one whitespace issue while being there. Signed-off-by: Antonio Ospite Signed-off-by: Stefan Schmidt Acked-by: Eric Miao Signed-off-by: Russell King commit 4bb073c0e32a0862bdb5215d11af19f6c0180c98 Author: David S. Miller Date: Thu Jun 12 02:22:02 2008 -0700 net: Eliminate flush_scheduled_work() calls while RTNL is held. If the RTNL is held when we invoke flush_scheduled_work() we could deadlock. One such case is linkwatch, it is a work struct which tries to grab the RTNL semaphore. The most common case are net driver ->stop() methods. The simplest conversion is to instead use cancel_{delayed_}work_sync() explicitly on the various work struct the driver uses. This is an OK transformation because these work structs are doing things like resetting the chip, restarting link negotiation, and so forth. And if we're bringing down the device, we're about to turn the chip off and reset it anways. So if we cancel a pending work event, that's fine here. Some drivers were working around this deadlock by using a msleep() polling loop of some sort, and those cases are converted to instead use cancel_{delayed_}work_sync() as well. Signed-off-by: David S. Miller commit 45aec1ae72fc592f231e9e73ed9ed4d10cfbc0b5 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:22 2008 -0700 x86: PAT export resource_wc in pci sysfs For the ranges with IORESOURCE_PREFETCH, export a new resource_wc interface in pci /sysfs along with resource (which is uncached). Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7afb380db43ed137b7f67e0e3c3e5afd1ecde730 Merge: a405657... 208aefa... Author: David S. Miller Date: Wed Jun 11 20:27:51 2008 -0700 Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 208aefa2451cc1f4d87622cb9b2ca4333afa8337 Author: Christophe Jaillet Date: Thu May 15 23:26:22 2008 +0200 drivers/net/r6040.c: correct bad use of round_jiffies() Compared to other places in the kernel, I think that this driver misuses the function round_jiffies. Signed-off-by: Christophe Jaillet Signed-off-by: Jeff Garzik commit 8b9835108f68938a5f7e74fd2c0fc65da2abad92 Author: Roel Kluin Date: Mon Jun 9 16:33:51 2008 -0700 fec_mpc52xx: MPC52xx_MESSAGES_DEFAULT: 2nd NETIF_MSG_IFDOWN => IFUP Duplicate NETIF_MSG_IFDOWN, 2nd should be NETIF_MSG_IFUP Signed-off-by: Roel Kluin Acked-by: Sylvain Munaut Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0761248f08ccd94ddceb5454eb1ad96626b10611 Author: Roel Kluin Date: Mon Jun 9 16:33:50 2008 -0700 ipg: fix receivemode IPG_RM_RECEIVEMULTICAST{,HASH} in ipg_nic_set_multicast_list() The branches are dead code. even when dev->flag IFF_MULTICAST (defined 0x1000) is set, dev->flags & IFF_MULTICAST & [boolean] always evaluates to 0. Signed-off-by: Roel Kluin Cc: Francois Romieu Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a4056573873dc9fc506ce9293c4d01670101a637 Merge: 5cb960a... 1717699... Author: David S. Miller Date: Wed Jun 11 18:11:16 2008 -0700 Merge branch 'net-2.6-misc-20080611a' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-fix commit 5cb960a80531211379f8f05c575725d7630098fe Merge: ceeff75... be4c798... Author: David S. Miller Date: Wed Jun 11 17:53:04 2008 -0700 Merge branch 'master' of git://eden-feed.erg.abdn.ac.uk/net-2.6 commit ceeff7541e5a4ba8e8d97ffbae32b3f283cb7a3f Author: Patrick McHardy Date: Wed Jun 11 17:51:10 2008 -0700 netfilter: nf_conntrack: fix ctnetlink related crash in nf_nat_setup_info() When creation of a new conntrack entry in ctnetlink fails after having set up the NAT mappings, the conntrack has an extension area allocated that is not getting properly destroyed when freeing the conntrack again. This means the NAT extension is still in the bysource hash, causing a crash when walking over the hash chain the next time: BUG: unable to handle kernel paging request at 00120fbd IP: [] nf_nat_setup_info+0x221/0x58a *pde = 00000000 Oops: 0000 [#1] PREEMPT SMP Pid: 2795, comm: conntrackd Not tainted (2.6.26-rc5 #1) EIP: 0060:[] EFLAGS: 00010206 CPU: 1 EIP is at nf_nat_setup_info+0x221/0x58a EAX: 00120fbd EBX: 00120fbd ECX: 00000001 EDX: 00000000 ESI: 0000019e EDI: e853bbb4 EBP: e853bbc8 ESP: e853bb78 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process conntrackd (pid: 2795, ti=e853a000 task=f7de10f0 task.ti=e853a000) Stack: 00000000 e853bc2c e85672ec 00000008 c0561084 63c1db4a 00000000 00000000 00000000 0002e109 61d2b1c3 00000000 00000000 00000000 01114e22 61d2b1c3 00000000 00000000 f7444674 e853bc04 00000008 c038e728 0000000a f7444674 Call Trace: [] nla_parse+0x5c/0xb0 [] ctnetlink_change_status+0x190/0x1c6 [] ctnetlink_new_conntrack+0x189/0x61f [] update_curr+0x3d/0x52 [] nfnetlink_rcv_msg+0xc1/0xd8 [] nfnetlink_rcv_msg+0x18/0xd8 [] nfnetlink_rcv_msg+0x0/0xd8 [] netlink_rcv_skb+0x2d/0x71 [] nfnetlink_rcv+0x19/0x24 [] netlink_unicast+0x1b3/0x216 ... Move invocation of the extension destructors to nf_conntrack_free() to fix this problem. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=10875 Reported-and-Tested-by: Krzysztof Piotr Oledzki Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b66985b11b8b00e1ec65b89a3112510ac9a9ec6e Author: Eric Leblond Date: Wed Jun 11 17:50:27 2008 -0700 netfilter: Make nflog quiet when no one listen in userspace. The message "nf_log_packet: can't log since no backend logging module loaded in! Please either load one, or disable logging explicitly" was displayed for each logged packet when no userspace application is listening to nflog events. The message seems to warn for a problem with a kernel module missing but as said before this is not the case. I thus propose to suppress the message (I don't see any reason to flood the log because a user application has crashed.) Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1717699cd5130009b7cd6756e883d8582c1fe706 Author: YOSHIFUJI Hideaki Date: Thu Jun 12 03:27:26 2008 +0900 ipv6: Fail with appropriate error code when setting not-applicable sockopt. IPV6_MULTICAST_HOPS, for example, is not valid for stream sockets. Since they are virtually unavailable for stream sockets, we should return ENOPROTOOPT instead of EINVAL. Signed-off-by: YOSHIFUJI Hideaki commit 28d4488216645cd71402925cffde9528b0cfdb7e Author: YOSHIFUJI Hideaki Date: Thu Jun 12 03:14:51 2008 +0900 ipv6: Check IPV6_MULTICAST_LOOP option value. Only 0 and 1 are valid for IPV6_MULTICAST_LOOP socket option, and we should return an error of EINVAL otherwise, per RFC3493. Based on patch from Shan Wei . Signed-off-by: YOSHIFUJI Hideaki commit e8766fc86b34d44a8c55a2f9d71da69e091b1ca4 Author: Shan Wei Date: Tue Jun 10 15:50:55 2008 +0800 ipv6: Check the hop limit setting in ancillary data. When specifing the outgoing hop limit as ancillary data for sendmsg(), the kernel doesn't check the integer hop limit value as specified in [RFC-3542] section 6.3. Signed-off-by: Shan Wei Signed-off-by: YOSHIFUJI Hideaki commit 36e3deae8ba84865fd9eb3f2f21bbc00d49b7544 Author: YOSHIFUJI Hideaki Date: Tue May 13 02:52:55 2008 +0900 ipv6 route: Fix route lifetime in netlink message. 1) We may have route lifetime larger than INT_MAX. In that case we had wired value in lifetime. Use INT_MAX if lifetime does not fit in s32. 2) Lifetime is valid iif RTF_EXPIRES is set. Signed-off-by: YOSHIFUJI Hideaki commit 20c61fbd8deb2ada0ac3acecf6156a986dbfff2d Author: YOSHIFUJI Hideaki Date: Mon Apr 28 14:40:55 2008 +0900 ipv6 mcast: Check address family of gf_group in getsockopt(MS_FILTER). Signed-off-by: YOSHIFUJI Hideaki commit 3463a93def55c309f3c0d0a8aaf216be3be42d64 Author: Alex Chiang Date: Wed Jun 11 17:29:27 2008 -0600 [IA64] Update check_sal_cache_flush to use platform_send_ipi() check_sal_cache_flush is used to detect broken firmware that drops pending interrupts. The old implementation schedules a timer interrupt for itself in the future by getting the current value of the Interval Timer Counter + 1000 cycles, waits for the interrupt to be pended, calls SAL_CACHE_FLUSH, and finally checks to see if the interrupt is still pending. This implementation can cause problems for virtual machine code if the process of scheduling the timer interrupt takes more than 1000 cycles; the virtual machine can end up sleeping for several hundred years while waiting for the ITC to wrap around. The fix is to use platform_send_ipi. The processor will still send an interrupt to itself, using the IA64_IPI_DM_INT delivery mode, which causes the IPI to look like an external interrupt. The rest of the SAL_CACHE_FLUSH + checking to see if the interrupt is still pending remains unchanged. This fix has been boot tested successfully on: - intel tiger2 - hp rx6600 - hp rx5670 The rx5670 has known buggy firmware, where SAL_CACHE_FLUSH drops pending interrupts. A boot test on this machine showed this message on the console: SAL: SAL_CACHE_FLUSH drops interrupts; PAL_CACHE_FLUSH will be used instead Which proves that the self-inflicted IPI approach is viable. And as expected, the other tested platforms correctly did not display the warning. Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit 62cfcf4f467733a8dc218691c791804a148da887 Author: Jürgen Schindele Date: Wed Jun 11 19:56:06 2008 +0100 [ARM] 5090/1: Correct pxafb palette typo error This patch correct a typo error in pxafb vhich is relevant for 8-bit palette framebuffer configuration. Signed-off-by: Jrgen Schindele Acked-by: Eric Miao Signed-off-by: Russell King commit a4aff2233786640c10b178ad78d4dd7e375f1955 Author: Guennadi Liakhovetski Date: Thu Jun 5 10:43:14 2008 +0100 [ARM] 5077/1: spi: fix list scan success verification in PXA ssp driver The list search success check in arch/arm/mach-pxa/ssp.c is wrong: for example, it didn't recognise failure for me when I requested port 0. Signed-off-by: Guennadi Liakhovetski Acked-by: Eric Miao Signed-off-by: Russell King commit 83014699b06fb9a300d896c7c49fb8be1c6c5ddc Author: stephane eranian Date: Wed Jun 11 15:24:13 2008 -0700 [IA64] perfmon: fix async exit bug Move the cleanup of the async queue to the close callback from the flush callback. This avoids losing asynchronous overflow notifications when the file descriptor is shared by multiple processes and one terminates. Signed-off-by: Stephane Eranian Signed-off-by: Tony Luck commit 8d6bcd6e219f183aba4fb62bb7065a4db772ac49 Author: Grant Likely Date: Sat May 24 16:11:51 2008 +1000 [POWERPC] bootwrapper: add simpleImage* to list of boot targets Without simpleImage% in the BOOT_TARGETS list, it is impossible to build any of the simpleImages. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit be4c798a41bf626cdaacf96c382f116ed2f7dbe9 Author: Gerrit Renker Date: Wed Jun 11 11:19:10 2008 +0100 dccp: Bug in initial acknowledgment number assignment Step 8.5 in RFC 4340 says for the newly cloned socket Initialize S.GAR := S.ISS, but what in fact the code (minisocks.c) does is Initialize S.GAR := S.ISR, which is wrong (typo?) -- fixed by the patch. Signed-off-by: Gerrit Renker commit 7deb0f851003287d7e259bf6b33548b144c0f2d5 Author: Gerrit Renker Date: Wed Jun 11 11:19:10 2008 +0100 dccp ccid-3: X truncated due to type conversion This fixes a bug in computing the inter-packet-interval t_ipi = s/X: scaled_div32(a, b) uses u32 for b, but in "scaled_div32(s, X)" the type of the sending rate `X' is u64. Since X is scaled by 2^6, this truncates rates greater than 2^26 Bps (~537 Mbps). Using full 64-bit division now. Signed-off-by: Gerrit Renker commit 1e8a287c79f64226541f5c44aa52d4698bb84cf5 Author: Gerrit Renker Date: Wed Jun 11 11:19:10 2008 +0100 dccp ccid-3: TFRC reverse-lookup Bug-Fix This fixes a bug in the reverse lookup of p: given a value f(p), instead of p, the function returned the smallest tabulated value f(p). The smallest tabulated value of 10^6 * f(p) = sqrt(2*p/3) + 12 * sqrt(3*p/8) * (32 * p^3 + p) for p=0.0001 is 8172. Since this value is scaled by 10^6, the outcome of this bug is that a loss of 8172/10^6 = 0.8172% was reported whenever the input was below the table resolution of 0.01%. This means that the value was over 80 times too high, resulting in large spikes of the initial loss interval, thus unnecessarily reducing the throughput. Also corrected the printk format (%u for u32). Signed-off-by: Gerrit Renker commit 65907a433ac0ca450c4408080f24c6e4743386b2 Author: Gerrit Renker Date: Wed Jun 11 11:19:09 2008 +0100 dccp ccid-2: Bug-Fix - Ack Vectors need to be ignored on request sockets This fixes an oversight from an earlier patch, ensuring that Ack Vectors are not processed on request sockets. The issue is that Ack Vectors must not be parsed on request sockets, since the Ack Vector feature depends on the selection of the (TX) CCID. During the initial handshake the CCIDs are undefined, and so RFC 4340, 10.3 applies: "Using CCID-specific options and feature options during a negotiation for the corresponding CCID feature is NOT RECOMMENDED [...]" And it is not even possible: when the server receives the Request from the client, the CCID and Ack vector features are undefined; when the Ack finalising the 3-way hanshake arrives, the request socket has not been cloned yet into a full socket. (This order is necessary, since otherwise the newly created socket would have to be destroyed whenever an option error occurred - a malicious hacker could simply send garbage options and exploit this.) Signed-off-by: Gerrit Renker commit 1e2f0e5e8376f2a0ada8760fc9d3104e1a81382b Author: Gerrit Renker Date: Wed Jun 11 11:19:09 2008 +0100 dccp: Fix sparse warnings This patch fixes the following sparse warnings: * nested min(max()) expression: net/dccp/ccids/ccid3.c:91:21: warning: symbol '__x' shadows an earlier one net/dccp/ccids/ccid3.c:91:21: warning: symbol '__y' shadows an earlier one * Declaration of function prototypes in .c instead of .h file, resulting in "should it be static?" warnings. * Declared "struct dccpw" static (local to dccp_probe). * Disabled dccp_delayed_ack() - not fully removed due to RFC 4340, 11.3 ("Receivers SHOULD implement delayed acknowledgement timers ..."). * Used a different local variable name to avoid net/dccp/ackvec.c:293:13: warning: symbol 'state' shadows an earlier one net/dccp/ackvec.c:238:33: originally declared here * Removed unused functions `dccp_ackvector_print' and `dccp_ackvec_print'. Signed-off-by: Gerrit Renker commit 3294f202dc1acd82223e83ef59f272bd87bb06b2 Author: Gerrit Renker Date: Wed Jun 11 11:19:09 2008 +0100 dccp ccid-3: Bug-Fix - Zero RTT is possible In commit $(825de27d9e40b3117b29a79d412b7a4b78c5d815) (from 27th May, commit message `dccp ccid-3: Fix "t_ipi explosion" bug'), the CCID-3 window counter computation was fixed to cope with RTTs < 4 microseconds. Such RTTs can be found e.g. when running CCID-3 over loopback. The fix removed a check against RTT < 4, but introduced a divide-by-zero bug. All steady-state RTTs in DCCP are filtered using dccp_sample_rtt(), which ensures non-zero samples. However, a zero RTT is possible on initialisation, when there is no RTT sample from the Request/Response exchange. The fix is to use the fallback-RTT from RFC 4340, 3.4. This is also better than just fixing update_win_count() since it allows other parts of the code to always assume that the RTT is non-zero during the time that the CCID is used. Signed-off-by: Gerrit Renker commit 738eca74d1bd3e51180de179b7b74d4e34c4e5a3 Author: Robert Reif Date: Tue Jun 10 14:13:09 2008 -0700 sparc: get leo framebuffer working This patch fixes several issues: Use the right openprom device name so the driver is actually loaded. Fix a crash due to unitialized info->pseudo_palette. Put the framebuffer in the proper mode for software rendering. checkpatch cleanups. Hardware acceleration was removed when the driver was rewritten for the new framebuffer API in 2003. Software rendering requires a different framebuffer access mode but that wasn't changed. The driver now works again but is slow. The proper fix is to reintroduce hardware acceleration. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 24797a344293601f14f49e2d259c3ca447c4f802 Author: Roland Dreier Date: Tue Jun 10 12:29:49 2008 -0700 RDMA/nes: Fix off-by-one in nes_reg_user_mr() error path nes_reg_user_mr() should fail if page_count becomes >= 1024 * 512 rather than just testing for strict >, because page_count is essentially used as an index into an array with 1024 * 512 entries, so allowing the loop to continue with page_count == 1024 * 512 means that memory after the end of the array is corrupted. This leads to a crash triggerable by a userspace application that requests registration of a too-big region. Also get rid of the call to pci_free_consistent() here to avoid corrupting state with a double free, since the same memory will be freed in the code jumped to at reg_user_mr_err. Signed-off-by: Roland Dreier commit d1daeabf0da5bfa1943272ce508e2ba785730bf0 Author: James Bottomley Date: Tue Jun 10 10:20:53 2008 -0500 [SCSI] sr: fix corrupt CD data after media change and delay Reported-by: Geert Uytterhoeven If you delay 30s or more before mounting a CD after inserting it then the kernel has the wrong value for the CD size. http://marc.info/?t=121276133000001 The problem is in sr_test_unit_ready(): the function eats unit attentions without adjusting the sdev->changed status. This means that when the CD signals changed media via unit attention, we can ignore it. Fix by making sr_test_unit_ready() adjust the changed status. Tested-by: Geert Uytterhoeven Cc: Stable Tree Signed-off-by: James Bottomley commit f17c63231c9c2bfc5717af1890ad17312a1c2c1c Author: Anton Vorontsov Date: Mon Mar 17 20:52:08 2008 +0300 [POWERPC] 83xx: MPC837xRDB's VSC7385 ethernet switch isn't on the MDIO bus MDIO-less PHYs should use CONFIG_FIXED_PHY driver and appropriate fixed-link property in the device tree. If not, ethernet will not work: e0024520:03 not found eth1: Could not attach to PHY IP-Config: Failed to open eth1 Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit b7f09ae583c49d28b2796d2fa5893dcf822e3a10 Author: Miquel van Smoorenburg Date: Thu Jun 5 18:14:44 2008 +0200 x86, pci-dma.c: don't always add __GFP_NORETRY to gfp Currently arch/x86/kernel/pci-dma.c always adds __GFP_NORETRY to the allocation flags, because it wants to be reasonably sure not to deadlock when calling alloc_pages(). But really that should only be done in two cases: - when allocating memory in the lower 16 MB DMA zone. If there's no free memory there, waiting or OOM killing is of no use - when optimistically trying an allocation in the DMA32 zone when dma_mask < DMA_32BIT_MASK hoping that the allocation happens to fall within the limits of the dma_mask Also blindly adding __GFP_NORETRY to the the gfp variable might not be a good idea since we then also use it when calling dma_ops->alloc_coherent(). Clearing it might also not be a good idea, dma_alloc_coherent()'s caller might have set it on purpose. The gfp variable should not be clobbered. [ mingo@elte.hu: converted to delta patch ontop of previous version. ] Signed-off-by: Miquel van Smoorenburg Signed-off-by: Ingo Molnar commit 70b3ec3e523fc2370117c0eaf5be80859848f66a Author: Kumar Gala Date: Mon Jun 9 08:53:39 2008 -0500 [POWERPC] Updated Freescale PPC defconfigs Signed-off-by: Kumar Gala commit a1072b2597752eafca77a664a1816faf7a43bac8 Author: Timur Tabi Date: Tue May 20 15:14:18 2008 -0500 [POWERPC] 8610: Update defconfig for MPC8610 HPCD Update the defconfig for the Freescale MPC8610 HPCD board. Enable module support. Disable support for all NICs except for the on-board ULI526x. Enable support for the Freescale DIU driver. Increase the maximum zone order to 12, so that the DIU driver can allocate physically-contiguous 5MB buffers. Enable SYSV IPC and OSS plugin support, which are needed for some OSS apps. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit ad16880daae42b4e8e078580812faa216600b05e Author: Kumar Gala Date: Fri Jun 6 10:35:13 2008 -0500 [POWERPC] 85xx: MPC8548CDS - Fix size of PCIe IO space Andrew Klossner pointed out the IO space size was in violation of the alignment requirements for windows on the 85xx. The size should have been 1M (to match u-boot). Signed-off-by: Kumar Gala commit c4ea896476d30514109f61f1a6e0d8e2b201e401 Author: Kumar Gala Date: Tue Jun 3 13:36:19 2008 -0500 [POWERPC] 85xx: MPC85xx MDS - Unconditionally select PHYLIB for board fixups The MPC85xx MDS board requires some board level tweaks of the PHYs that either the eTSEC (gianfar) or UCC ethernet controllers are connected to. Its possible to build the phylib as a module, however this breaks the board level fix ups because phy_read and phy_write are not available if we build as a module. So we unconditionally select PHYLIB to ensure its built into the kernel if we are building in MPC85xx MDS support. This was determined to be the easiest soultion even though it prevents the user from removing PHYLIB support if they decide they don't want it. Signed-off-by: Kumar Gala commit efd5184646d5d400fc538d093e9a0bec22a75551 Author: Jiri Kosina Date: Fri Jun 6 00:56:43 2008 -0400 Input: i8042 - add Fujitsu-Siemens Amilo Pro V2030 to nomux table Fujitsu Siemens Amilo Pro V2030 needs nomux table entry, in addition to already existing entry for V2010 model (note that Fujitsu-Siemens changed the capitalization in the DMI data for product). Tested-by: Jiri Mleziva Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 714c8a061092417d3ffb1d0f0522e3d092c730dd Author: Stas Sergeev Date: Fri Jun 6 00:22:50 2008 -0400 Input: pcspkr - remove negative dependency on snd-pcsp It should be possible to build pcspkr driver together with snd-pcsp, even though tehy can not be used together. Signed-off-by: Stas Sergeev Signed-off-by: Dmitry Torokhov commit f529626a86d61897862aa1bbbb4537773209238e Author: Pavel Machek Date: Thu May 29 00:30:21 2008 -0700 suspend-vs-iommu: prevent suspend if we could not resume iommu/gart support misses suspend/resume code, which can do bad stuff, including memory corruption on resume. Prevent system suspend in case we would be unable to resume. Signed-off-by: Pavel Machek Tested-by: Patrick Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit db9f600b96c16bb3c7f094e294fbdd370226ad86 Author: Miquel van Smoorenburg Date: Wed May 28 10:31:25 2008 +0200 x86: pci-dma.c: use __GFP_NO_OOM instead of __GFP_NORETRY On Wed, 2008-05-28 at 04:47 +0200, Andi Kleen wrote: > > So... why not just remove the setting of __GFP_NORETRY? Why is it > > wrong to oom-kill things in this case? > > When the 16MB zone overflows (which can be common in some workloads) > calling the OOM killer is pretty useless because it has barely any > real user data [only exception would be the "only 16MB" case Alan > mentioned]. Killing random processes in this case is bad. > > I think for 16MB __GFP_NORETRY is ok because there should be > nothing freeable in there so looping is useless. Only exception would be the > "only 16MB total" case again but I'm not sure 2.6 supports that at all > on x86. > > On the other hand d_a_c() does more allocations than just 16MB, especially > on 64bit and the other zones need different strategies. Okay, so how about this then ? Signed-off-by: Ingo Molnar commit 75b19b790bec3ebffbf513405b27500e22270cbc Author: Bertram Felgenhauer Date: Fri May 30 03:20:05 2008 +0200 pci, x86: add workaround for bug in ASUS A7V600 BIOS (rev 1005) This BIOS claims the VIA 8237 south bridge to be compatible with VIA 586, which it is not. Without this patch, I get the following warning while booting, among others, | PCI: Using IRQ router VIA [1106/3227] at 0000:00:11.0 | ------------[ cut here ]------------ | WARNING: at arch/x86/pci/irq.c:265 pirq_via586_get+0x4a/0x60() | Modules linked in: | Pid: 1, comm: swapper Not tainted 2.6.26-rc4-00015-g1ec7d99 #1 | [] warn_on_slowpath+0x54/0x70 | [] ? vt_console_print+0x210/0x2b0 | [] ? vt_console_print+0x0/0x2b0 | [] ? __call_console_drivers+0x43/0x60 | [] ? _call_console_drivers+0x52/0x80 | [] ? release_console_sem+0x1c9/0x200 | [] ? raw_pci_read+0x41/0x70 | [] ? pci_read+0x2f/0x40 | [] pirq_via586_get+0x4a/0x60 | [] ? pirq_via586_get+0x0/0x60 | [] pcibios_lookup_irq+0x15d/0x430 | [] pcibios_irq_init+0x17a/0x3e0 | [] ? kernel_init+0x0/0x250 | [] kernel_init+0x73/0x250 | [] ? pcibios_irq_init+0x0/0x3e0 | [] ? schedule_tail+0x10/0x40 | [] ? ret_from_fork+0x6/0x1c | [] ? kernel_init+0x0/0x250 | [] ? kernel_init+0x0/0x250 | [] kernel_thread_helper+0x7/0x1c | ======================= | ---[ end trace 4eaa2a86a8e2da22 ]--- and IRQ trouble later, | irq 10: nobody cared (try booting with the "irqpoll" option) Now that's an VIA 8237 chip, so pirq_via586_get shouldn't be called at all; adding this workaround to via_router_probe() fixes the problem for me. Amazingly I have a 2.6.23.8 kernel that somehow works fine ... I'll never understand why. Signed-off-by: Bertram Felgenhauer Acked-by: Alan Cox Signed-off-by: Ingo Molnar commit 4efeb4dd3c0bf534e431a8e7c72d0afbd4cd24aa Author: Yinghai Lu Date: Mon May 12 21:21:05 2008 +0200 PCI: use dev_to_node in pci_call_probe to make sure get one online node. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a1676072558854b95336c8f7db76b0504e909a0a Author: Tony Camuso Date: Thu May 15 14:40:14 2008 -0400 PCI: Correct last two HP entries in the bfsort whitelist Greetings. There is a code flaw in the bfsort whitelist, where there are redundant entries for the same two HP systems, DL385 G2 and DL585 G2. This patch replaces those redundant entries with the correct ones. The correct entries are for large-volume systems, the DL360 and DL380. ----------------------------------------------------------------------- commit ec69f0374c3b0ad7ea991b0e9ac00377acfe5b1a Author: Tony Camuso Date: Wed May 14 07:09:28 2008 -0400 Replace Redundant Whitelist Entries with the Correct Ones The ProLiant DL585 G2 and the DL585 G2 are entered reundantly in the dmi_system_id table. What should have been there are the DL360 and DL380. This patch simply replaces the redundant entries with the correct entries. arch/x86/pci/common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Signed-off-by: Tony Camuso Signed-off-by: Pat Schoeller Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner