commit f742d992d7aa5b719ab7bde0203462b82d168d60 Author: Greg Kroah-Hartman Date: Wed Aug 22 16:23:54 2007 -0700 Linux 2.6.22.5 commit 1d8715b388c978b0f1b1bf4812fcee0e73b023d7 Author: David Woodhouse Date: Mon Aug 20 11:05:29 2007 +0100 JFFS2 locking regression fix. Commit a491486a2087ac3dfc00efb4f838c8d684afaf54 introduced a locking problem in JFFS2 -- we up() the alloc_sem when we weren't previously holding it. This leads to all kinds of fun behaviour later. There was a _reason_ for the if (1 /* alternative path needs testing */ || which the above-mentioned commit removed :) Discovered and debugged by Giulio Fedel Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit dad2f19424a2f4d30009e5aa51aca05a0bba7020 Author: Chuck Ebbert Date: Wed Aug 15 12:38:57 2007 +0200 i386: Fix double fault handler The new percpu code has apparently broken the doublefault handler when CONFIG_DEBUG_SPINLOCK is set. Doublefault is handled by a hardware task, making the check SPIN_BUG_ON(lock->owner == current, lock, "recursion"); fault because it uses the FS register to access the percpu data for current, and that register is zero in the new TSS. (The trace I saw was on 2.6.20 where it was GS, but it looks like this will still happen with FS on 2.6.22.) Initializing FS in the doublefault_tss should fix it. AK: Also fix broken ptr_ok() and turn printks into KERN_EMERG AK: And add a PANIC prefix to make clear the system will hang AK: (e.g. x86-64 will recover) Signed-off-by: Chuck Ebbert Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit c2c1d493fa0ee16491bffd6682cf4f479b8792c2 Author: Andi Kleen Date: Wed Aug 15 12:38:58 2007 +0200 i386: Handle P6s without performance counters in nmi watchdog I got an oops while booting a 32bit kernel on KVM because it doesn't implement performance counters used by the NMI watchdog. Handle this case. Cc: Avi Kivity Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 5097435305fa695dfa018efd662a18a7e5134e37 Author: Andi Kleen Date: Wed Aug 15 12:38:56 2007 +0200 x86_64: Change PMDS invocation to single macro Very old binutils (2.12.90...) seem to have trouble with newlines in assembler macro invocation. They put them into the resulting argument expansion. In this case this lead to a parse error because a .rept expression ended up spread over multiple lines. Change the PMDS() invocation to a single line. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 3f042cf63c604a081b67ca6346d4691a524cb7fc Author: Andi Kleen Date: Wed Aug 15 12:38:55 2007 +0200 x86_64: Check for .cfi_rel_offset in CFI probe Very old binutils have .cfi_startproc/endproc, but no .cfi_rel_offset. Check for .cfi_rel_offset too. Cc: Jan Beulich Cc: Sam Ravnborg Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 8d2b6827f08ec8376316f23b44a061a88ae4d978 Author: Jan Beulich Date: Wed Aug 15 12:38:54 2007 +0200 i386: allow debuggers to access the vsyscall page with compat vDSO From: Jan Beulich Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 91f9aa522baa31a5af4909667487ba163e849c3d Author: Rafael J. Wysocki Date: Wed Aug 15 15:37:37 2007 +0200 Hibernation: do not try to mark invalid PFNs as nosave On some systems some PFNs reported by the early initialization code as 'nosave' may be invalid. =A0If we try to set the corresponding bits in the hibernation bitmap, BUG_ON() in memory_bm_find_bit() will be triggered and the system won't be able to boot (cf. https://bugzilla.novell.com/show_bug.cgi?id=296242). Prevent this from happening by verifying if the 'nosave' PFNs are valid in mark_nosave_pages(). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 3443d563dc53875b15d919c4bece391f1ffd4776 Author: su henry Date: Tue Aug 14 13:20:46 2007 -0400 libata: add ATI SB700 device IDs to AHCI driver The SATA controller device ID is different according to the onchip SATA type set in the system BIOS: Device Device ID SATA in IDE mode 0x4390 SATA in AHCI mode 0x4391 SATA in non-raid5 driver 0x4392 SATA in raid5 driver 0x4393 Although the device ID is different, they use the same AHCI driver .The attached file is the patch for adding these device IDs for ATI SB700. Signed-off-by: su henry Signed-off-by: Jeff Garzik Cc: Chuck Ebbert Signed-off-by: Greg Kroah-Hartman commit 108c55dda1bd750b87b5fccc9cd4658222cf2dc3 Author: Timo Jantunen Date: Tue Aug 14 21:56:57 2007 +0300 forcedeth: fix random hang in forcedeth driver when using netconsole If the forcedeth driver receives too much work in an interrupt, it assumes it has a broken hardware with stuck IRQ. It works around the problem by disabling interrupts on the nic but makes a printk while holding device spinlog - which isn't smart thing to do if you have netconsole on the same nic. This patch moves the printk's out of the spinlock protected area. Without this patch the machine hangs hard. With this patch everything still works even when there is significant increase on CPU usage while using the nic. Signed-off-by: Timo Jantunen Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit c5039b587f162d00da5d997c9481e5c8f7acc0f3 Author: Francois Romieu Date: Wed Aug 15 00:29:27 2007 +0200 r8169: avoid needless NAPI poll scheduling Theory : though needless, it should not have hurt. Practice: it does not play nice with DEBUG_SHIRQ + LOCKDEP + UP (see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=3D242572). The patch makes sense in itself but I should dig why it has an effect on #242572 (assuming that NAPI do not change in a near future). Patch in mainline as 313b0305b5a1e7e0fb39383befbf79558ce68a9c. Backported to 2.6.22-stable by Thomas M=FCller. Signed-off-by: Thomas M=FCller Signed-off-by: Francois Romieu Signed-off-by: Greg Kroah-Hartman commit 3b9f2ae11b90e49388fad24ef3fd2a0045f952fd Author: Haavard Skinnemoen Date: Wed Aug 15 15:31:01 2007 +0200 AVR32: Fix atomic_add_unless() and atomic_sub_unless() These functions depend on "result" being initalized to 0, but "result" is not included as an input constraint to the inline assembly block following its initialization, only as an output constraint. Thus gcc thinks it doesn't need to initialize it, so result ends up undefined if the "unless" condition is true. This fixes an oops in sunrpc where the faulty atomics caused rpciod_up() to not start the workqueue as it should. Signed-off-by: Haavard Skinnemoen Signed-off-by: Greg Kroah-Hartman commit 70a188b7c37540f00469d266bac53e6670807dd9 Author: Bob Moore Date: Wed Aug 15 15:00:18 2007 -0400 ACPICA: Clear reserved fields for incoming ACPI 1.0 FADTs ACPICA: Clear reserved fields for incoming ACPI 1.0 FADTs Fixed a problem with the internal FADT conversion where ACPI 1.0 FADTs that contained invalid non-zero values in reserved fields could cause later failures because these fields have meaning in later revisions of the FADT. For incoming ACPI 1.0 FADTs, these fields are now always zeroed. (Preferred_PM_Profile, PSTATE_CNT, CST_CNT, IAPC_BOOT_FLAGS.) Signed-off-by: Bob Moore Signed-off-by: Len Brown Cc: Chuck Ebbert Signed-off-by: Greg Kroah-Hartman commit aa14abcf24054c3ec8217593e05cf96c70801bcd Author: Bob Moore Date: Wed Aug 15 14:58:15 2007 -0400 ACPICA: Fixed possible corruption of global GPE list ACPICA: Fixed possible corruption of global GPE list Fixed a problem in acpi_ev_delete_gpe_xrupt where the global interrupt list could be corrupted if the interrupt being removed was at the head of the list. Reported by Linn Crosetto. Signed-off-by: Bob Moore Signed-off-by: Len Brown Cc: Chuck Ebbert Signed-off-by: Greg Kroah-Hartman commit e9561ddc92d0cb00aa69521716ee29904bf5bf14 Author: Andrew Morton Date: Tue Jul 31 00:38:02 2007 -0700 revert "x86, serial: convert legacy COM ports to platform devices" Revert 7e92b4fc345f5b6f57585fbe5ffdb0f24d7c9b26. It broke Sébastien Dugué's machine and Jeff said (persuasively) This seems like it will break decades-long-working stuff, in favor of breaking new ground in our favorite area, "trusting the BIOS." It's just not worth it for serial ports, IMO. Serial ports are something that just shouldn't break at this late stage in the game. My new Intel platform boxes don't even have serial ports, so I question the value of messing with serial port probing even more... because... just wait a year, and your box won't have a serial port either! :) I certainly don't object to the use of platform devices (or isa_driver), but the probe change seems questionable. That's sorta analagous to rewriting the floppy driver probe routine. Sure you could do it... but why risk all that damage and go through debugging all over again? It seems clear from this report that we cannot, should not, trust BIOS for something (a) so simple and (b) that has been working for over a decade. Much discussion ensued and we've decided to have another go at all of this. Cc: Sébastien Dugué Cc: Bjorn Helgaas Cc: Len Brown Cc: Adam Belay Cc: Matthew Garrett Cc: Russell King Cc: Jeff Garzik Acked-by: Alan Cox Cc: Michal Piotrowski Cc: Sascha Sommer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 8c07a8e30ba8a2e0831da4b134202598435f8358 Author: Stephen Hemminger Date: Thu Aug 16 09:12:48 2007 -0400 sky2: check drop truncated packets Backport of commit 71749531f2d1954137a1a77422ef4ff29eb102dd If packet larger than MTU is received, the driver uses hardware to truncate the packet. Use the status registers to catch/drop them. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit 36d644b90a9e71e03064c1a5f28a53551ec3b621 Author: Stephen Hemminger Date: Thu Aug 16 09:12:47 2007 -0400 sky2: check for more work before leaving NAPI Backport of commit 5c11ce700f77fada15b6264417d72462da4bbb1c This patch avoids generating another IRQ if more packets arrive while in the NAPI poll routine. Before marking device as finished, it rechecks that the status ring is empty. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit 3ff441fc036eceb186543f64056017bb75b80dda Author: Stephen Hemminger Date: Thu Aug 16 09:12:46 2007 -0400 sky2: carrier management backport of commit 55d7b4e6ed6ad3ec5e5e30b3b4515a0a6a53e344 Make sky2 handle carrier similar to other drivers, eliminate some possible races in carrier state transistions. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit bf0479176f53c3d398750646302d4b628437a80f Author: Stephen Hemminger Date: Thu Aug 16 09:12:45 2007 -0400 sky2: restore workarounds for lost interrupts Backport of commit c59697e06058fc2361da8cefcfa3de85ac107582 This patch restores a couple of workarounds from 2.6.16: * restart transmit moderation timer in case it expires during IRQ routine * default to having 10 HZ watchdog timer. At this point it more important not to hang than to worry about the power cost. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit 5115cc9afa49ebfe5dbcdd15c8ee2d73eb54602c Author: Jean Delvare Date: Mon Aug 20 12:30:38 2007 +0200 hwmon: (smsc47m1) restore missing name attribute The smsc47m1 driver no longer creates the name attribute used by libsensors to identify chip types. It was lost during the conversion to a platform driver. I was fooled by the fact that we do have a group with all attributes, but only to delete them all at once. The group is not used to create the attributes, so we have to explicitly create the name attribute. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman Signed-off-by: Greg Kroah-Hartman commit b49c03778264c743e184e5aed1933c2c4b9e55f3 Author: Mark M. Hoffman Date: Mon Aug 20 20:01:50 2007 +0000 hwmon: fix w83781d temp sensor type setting Commit 348753379a7704087603dad403603e825422fd9a introduced a regression that caused temp2 and temp3 sensor type settings to be written to temp1 instead. The result is that temp sensor readings could be way off. Signed-off-by: Mark M. Hoffman Signed-off-by: Greg Kroah-Hartman