commit 49914084e797530d9baaf51df9eda77babc98fa8 Author: Linus Torvalds Date: Thu Jan 24 14:58:37 2008 -0800 Linux 2.6.24 commit feed9bab7b14b77be8d796bcee95e2343fb82955 Author: Kalle Valo Date: Thu Jan 24 14:00:40 2008 -0800 spi: omap2_mcspi PIO RX fix Before transmission of the last word in PIO RX_ONLY mode rx+tx mode is enabled: /* prevent last RX_ONLY read from triggering * more word i/o: switch to rx+tx */ if (c == 0 && tx == NULL) mcspi_write_cs_reg(spi, OMAP2_MCSPI_CHCONF0, l); But because c is decremented after the test, c will never be zero and rx+tx will not be enabled. This breaks RX_ONLY mode PIO transfers. Fix it by decrementing c in the beginning of the various I/O loops. Signed-off-by: Kalle Valo Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbcc2ec60fe15448e5dfe4153f7347ac82b4da73 Author: Linus Torvalds Date: Thu Jan 24 13:35:10 2008 -0800 Revert "mac80211: warn when receiving frames with unaligned data" This reverts commit 81100eb80add328c4d2a377326f15aa0e7236398 for the release, to avoid the unnecessary warning noise that is only really relevant to wireless driver developers. The warning will probably go right back in after I cut the release, but at least we won't unnecessarily worry users. Acked-by: John W. Linville Signed-off-by: Linus Torvalds commit 9c09a95cf431fcf5720f2e408befa24b32b8cf4d Author: Mel Gorman Date: Thu Jan 24 05:49:54 2008 -0800 slab: partially revert list3 changes Partial revert the changes made by 04231b3002ac53f8a64a7bd142fde3fa4b6808c6 to the kmem_list3 management. On a machine with a memoryless node, this BUG_ON was triggering static void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid) { struct list_head *entry; struct slab *slabp; struct kmem_list3 *l3; void *obj; int x; l3 = cachep->nodelists[nodeid]; BUG_ON(!l3); Signed-off-by: Mel Gorman Cc: Pekka Enberg Acked-by: Christoph Lameter Cc: "Aneesh Kumar K.V" Cc: Nishanth Aravamudan Cc: KAMEZAWA Hiroyuki Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5c99429fa57dcf6e05203ebe3676db1ec646793 Author: Larry Woodman Date: Thu Jan 24 05:49:25 2008 -0800 fix hugepages leak due to pagetable page sharing The shared page table code for hugetlb memory on x86 and x86_64 is causing a leak. When a user of hugepages exits using this code the system leaks some of the hugepages. ------------------------------------------------------- Part of /proc/meminfo just before database startup: HugePages_Total: 5500 HugePages_Free: 5500 HugePages_Rsvd: 0 Hugepagesize: 2048 kB Just before shutdown: HugePages_Total: 5500 HugePages_Free: 4475 HugePages_Rsvd: 0 Hugepagesize: 2048 kB After shutdown: HugePages_Total: 5500 HugePages_Free: 4988 HugePages_Rsvd: 0 Hugepagesize: 2048 kB ---------------------------------------------------------- The problem occurs durring a fork, in copy_hugetlb_page_range(). It locates the dst_pte using huge_pte_alloc(). Since huge_pte_alloc() calls huge_pmd_share() it will share the pmd page if can, yet the main loop in copy_hugetlb_page_range() does a get_page() on every hugepage. This is a violation of the shared hugepmd pagetable protocol and creates additional referenced to the hugepages causing a leak when the unmap of the VMA occurs. We can skip the entire replication of the ptes when the hugepage pagetables are shared. The attached patch skips copying the ptes and the get_page() calls if the hugetlbpage pagetable is shared. [akpm@linux-foundation.org: coding-style cleanups] Signed-off-by: Larry Woodman Signed-off-by: Adam Litke Cc: Badari Pulavarty Cc: Ken Chen Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2f3dabefa73fe3307578553f456e93f0a1bca08 Author: Eric W. Biederman Date: Thu Jan 24 05:52:13 2008 -0800 sysctl: kill binary sysctl KERN_PPC_L2CR : Stefan Roese said: > ppc: 4xx: sysctl table check failed: /kernel/l2cr .1.31 Missing strategy > > I'm seeing this error message when booting an recent arch/ppc kernel on > 4xx platforms (tested on Ocotea and other 4xx platforms). Booting NFS > rootfs still works fine, but this message kind of makes me "nervous". > This is not seen on 4xx arch/powerpc platforms. Here the bootlog: Because the data field was never filled and a binary sysctl handler was never written this sysctl has never been usable through the sys_sysctl interface. So just remove the binary sysctl number. Making the kernel sanity checks happy. Signed-off-by: Eric W. Biederman Reported-by: Stefan Roese Cc: Josh Boyer Cc: Wolfgang Denk Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fabe874a48de45b137f99b4ed3641e0413f465ce Author: Arjan van de Ven Date: Thu Jan 24 07:00:45 2008 +0100 lockdep: fix kernel crash on module unload Michael Wu noticed in his lkml post at http://marc.info/?l=linux-kernel&m=119396182726091&w=2 that certain wireless drivers ended up having their name in module memory, which would then crash the kernel on module unload. The patch he proposed was a bit clumsy in that it increased the size of a lockdep entry significantly; the patch below tries another approach, it checks, on module teardown, if the name of a class is in module space and then zaps the class. This is very similar to what we already do with keys that are in module space. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Linus Torvalds commit de195fd0016f9ab85f1d596dca48dade33f26d36 Author: David S. Miller Date: Wed Jan 23 21:32:04 2008 -0800 [SPARC64]: Partially revert "Constify function pointer tables." This partially reverts 872e2be7c4056496c2871bd9b0f2fae6c374fe47 (Constify function pointer tables.) The solaris/socksys.c transformation wasn't valid: arch/sparc64/solaris/socksys.c:192: error: assignment of read-only variable ‘socksys_file_ops’ arch/sparc64/solaris/socksys.c:195: error: assignment of read-only variable ‘socksys_file_ops’ arch/sparc64/solaris/socksys.c:196: error: assignment of read-only variable ‘socksys_file_ops’ Signed-off-by: David S. Miller commit ec68373c04495edbe39fb94fad963fb781e062e5 Author: Len Brown Date: Wed Jan 23 22:41:20 2008 -0500 Revert "ACPI: Fan: Drop force_power_state acpi_device option" This reverts commit 93ad7c07ad487b036add8760dabcc35666a550ef. http://bugzilla.kernel.org/show_bug.cgi?id=9798 Signed-off-by: Len Brown commit d772b3b323a15588a757f5af28e51a57d0d2f622 Author: Márton Németh Date: Wed Jan 23 22:34:09 2008 -0500 ACPI: EC: "DEBUG" needs to be defined earlier The "DEBUG" symbol needs to be defined before #including to get the pr_debug() working. Signed-off-by: Márton Németh Signed-off-by: Len Brown commit 86dae0154a49b67c908faffeb33ba37eddceba74 Author: Márton Németh Date: Wed Jan 23 22:33:06 2008 -0500 ACPI: EC: add leading zeros to debug messages Add leading zeros to pr_debug() calls. For example if x=0x0a, the format "0x%2x" will result the string "0x a", the format "0x%2.2x" will result "0x0a". Signed-off-by: Márton Németh Signed-off-by: Len Brown commit 03d1d99c55649ca641b86d2e3489b167ede1671a Author: Alexey Starikovskiy Date: Wed Jan 23 22:28:34 2008 -0500 ACPI: EC: fix dmesg spam regression Return OBF_1 optimization workaround http://bugzilla.kernel.org/show_bug.cgi?id=8459 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a1bd4e35e8d9df24db7d7addd74cbfcc87ec9fb3 Author: Len Brown Date: Wed Jan 23 21:19:27 2008 -0500 ACPI: DMI blacklist to reduce console warnings on OSI(Linux) systems. This DMI blacklist reduces the console messages on systems which have a BIOS that invokes OSI(Linux). As the DMI blacklist already knows about these systems, the request for DMI info itself is disabled. Further, if OSI(Linux) has already been determined to have no beneift, we disable the console message requesting acpi_osi=Linux test results. Signed-off-by: Len Brown commit 98f1db22d70b0660a27cc8818a61181b5d503671 Author: Len Brown Date: Wed Jan 23 20:56:18 2008 -0500 ACPI: Add ThinkPad R61, ThinkPad T61 to OSI(Linux) white-list acpi_osi=Linux helps sound on these systems. Signed-off-by: Len Brown commit d4b7dc499daae909e62dc260b95cd618f2970ded Author: Len Brown Date: Wed Jan 23 20:50:56 2008 -0500 ACPI: make _OSI(Linux) console messages smarter If BIOS invokes _OSI(Linux), the kernel response depends on what the ACPI DMI list knows about the system, and that is reflectd in dmesg: 1) System unknown to DMI: ACPI: BIOS _OSI(Linux) query ignored ACPI: DMI System Vendor: LENOVO ACPI: DMI Product Name: 7661W1P ACPI: DMI Product Version: ThinkPad T61 ACPI: DMI Board Name: 7661W1P ACPI: DMI BIOS Vendor: LENOVO ACPI: DMI BIOS Date: 10/18/2007 ACPI: Please send DMI info above to linux-acpi@vger.kernel.org ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org 2) System known to DMI, but effect of OSI(Linux) unknown: ACPI: DMI detected: Lenovo ThinkPad T61 ... ACPI: BIOS _OSI(Linux) query ignored via DMI ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org 3) System known to DMI, which disables _OSI(Linux): ACPI: DMI detected: Lenovo ThinkPad T61 ... ACPI: BIOS _OSI(Linux) query ignored via DMI 4) System known to DMI, which enable _OSI(Linux): ACPI: DMI detected: Lenovo ThinkPad T61 ACPI: Added _OSI(Linux) ... ACPI: BIOS _OSI(Linux) query honored via DMI cmdline overrides take precidence over the built-in default and the DMI prescribed default. cmdline "acpi_osi=Linux" results in: ACPI: BIOS _OSI(Linux) query honored via cmdline Signed-off-by: Len Brown commit 7ce95ce5c6dbbc3f70933f04537860ffd9dbe17e Author: Len Brown Date: Wed Jan 23 20:06:41 2008 -0500 ACPI: Delete Intel Customer Reference Board (CRB) from OSI(Linux) DMI list Linux does not want BIOS writers to invoke _OSI(Linux) - for in the field it causes more Windows incompatibility problems than it solves. So when it is seen in the BIOS for an Intel Customer Reference Board, Linux should ignore its effect by default, and should complain loudly. Otherwise, the reference BIOS will go unfixed, and the bad BIOS will spread to the field. Users of this board can get the old behavior with "acpi_osi=Linux" As this was the only entry, delete acpi_osl_dmi_table[]. Signed-off-by: Len Brown commit f40cd6fddcb1d51d8a2a67ddc81c14a3532f3cb7 Author: Len Brown Date: Wed Jan 23 20:04:28 2008 -0500 ACPI: on OSI(Linux), print needed DMI rather than requesting dmidecode output Signed-off-by: Len Brown commit 5a4e143271b97dcaa113761a76942c4d4bc273a2 Author: Len Brown Date: Wed Jan 23 20:01:22 2008 -0500 ACPI: create acpi_dmi_dump() A utility routine to print common entries used for ACPI-related DMI blacklist entries. Signed-off-by: Len Brown commit f89e3b0620a0dc19f313218f55373b9361142203 Author: Len Brown Date: Wed Jan 23 16:36:45 2008 -0500 DMI: create dmi_get_slot() This simply allows other sub-systems (such as ACPI) to access and print out slots in static dmi_ident[]. Signed-off-by: Len Brown commit 81b4e1f6269cea345f17d3aa349ec9beb31a8cd3 Author: Len Brown Date: Wed Jan 16 17:20:37 2008 -0500 DMI: move dmi_available declaration to linux/dmi.h Signed-off-by: Len Brown commit 53256f59116b541f087eb9423c1578e09a1b4b2f Author: Carlos Martín Date: Thu Jan 24 10:34:10 2008 +1000 drm/i915: add support for E7221 chipset E7221 chipset is a server version of the i915. Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit e914a36ac7158235e3f65f0b33bc001a4193e0b5 Author: Carlos Martín Date: Thu Jan 24 10:34:09 2008 +1000 agp/intel: add support for E7221 chipset The E7221 chipset is a 915 rebadged for the Intel server line. Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit f9c4cfe95451b7f4531d73d2a8a6651cba9760ab Author: Jeremy Fitzhardinge Date: Wed Jan 23 16:07:17 2008 -0800 xen: disable vcpu_info placement for now There have been several reports of Xen guest domains locking up when using vcpu_info structure placement. Disable it for now. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Linus Torvalds commit e2d435ea4084022ab88efa74214accb45b1f9e92 Author: Stuart Swales Date: Wed Jan 23 20:00:48 2008 +0000 [SCSI] initio: fix module hangs on loading I've verified (on my Initio 9100 with a DAT drive) that the 2.6.24-rc8-git6 initio module still hangs on loading. These fixes (other than the printk) are needed to get the module to load ok (and work correctly) with my adapter & tape drive. a) printk cosmetic fix b) cblk->sglen needs setting for later DMA I/O routines to use c) host->bios_addr needs setting for debug output correctness d) semaph & semaph_lock initialisation had got lost since 2.6.22 e) since 2.6.22 the bios data address was truncated to 16 bits (needs 20 when shifted left) Signed-off-by: James Bottomley commit 8f7b3d156d348b6766833cd4e272d0d19b501e64 Author: Anton Salikhmetov Date: Wed Jan 23 02:21:18 2008 +0300 Update ctime and mtime for memory-mapped files Update ctime and mtime for memory-mapped files at a write access on a present, read-only PTE, as well as at a write on a non-present PTE. Signed-off-by: Anton Salikhmetov Signed-off-by: Linus Torvalds commit b334349eb4c8562fd60bc8a8bd5ba6b42f22b8ac Author: Francois Romieu Date: Sat Nov 17 21:29:47 2007 +0100 sis190: scheduling while atomic error sis190_tx_timeout -> sis190_hw_start -> sis190_soft_reset -> msleep *splat* PCI transactions are correctly flushed here. The msleep() is probably useless. Signed-off-by: Francois Romieu Cc: K.M. Liu commit 7bf3f232f7c78efee8c4d14ad9af8a5a40304916 Author: Francois Romieu Date: Sat Nov 17 16:56:43 2007 +0100 sis190: mdio operation failure is not correctly detected i ranges from 0 to 100 in the 'for' loop a few lines above. Reported by davem. Signed-off-by: Francois Romieu Cc: K.M. Liu commit 11913d30b9fb985b12835037281ae0483be59623 Author: Francois Romieu Date: Sat Nov 17 15:55:10 2007 +0100 sis190: remove duplicate INIT_WORK It is already done in sis190_init_one. Signed-off-by: Francois Romieu Cc: K.M. Liu commit ebc71647309539aaf9088f4e41b9f364cce8f7eb Author: Francois Romieu Date: Tue Dec 4 22:58:41 2007 +0100 sis190: add cmos ram access code for the SiS19x/968 chipset pair More work is needed to handle correctly the PHY of the new devices when connected to a 10Mb link but this change already helps some users as is. Fix for: http://bugzilla.kernel.org/show_bug.cgi?id=9467 Signed-off-by: Francois Romieu Cc: K.M. Liu Cc: J. Gleacher Cc: Alexandre Penasso Teixeira Cc: Arliton Rocha Cc: Juan Jose Pablos Cc: Wipat Srutiprom commit f945fa7ad9c12a3356a3de7fb2143ccc2f2c3bca Author: Herbert Xu Date: Tue Jan 22 22:39:26 2008 -0800 [INET]: Fix truesize setting in ip_append_data As it is ip_append_data only counts page fragments to the skb that allocated it. As such it means that the first skb gets hit with a 4K charge even though it might have only used a fraction of it while all subsequent skb's that use the same page gets away with no charge at all. This bug was exposed by the UDP accounting patch. [ The wmem_alloc bumping needs to be moved with the truesize, noticed by Takahiro Yasui. -DaveM ] Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ff4b950277b6534caab2b2b956dba6ce29757551 Author: Denis V. Lunev Date: Tue Jan 22 22:05:33 2008 -0800 [NETNS]: Re-export init_net via EXPORT_SYMBOL. init_net is used added as a parameter to a lot of old API calls, f.e. ip_dev_find. These calls were exported as EXPORT_SYMBOL. So, export init_net as EXPORT_SYMBOL to keep networking API consistent. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a781cf94e6dcc09bf13e548298185d916d9ff3c8 Author: Reinette Chatre Date: Mon Jan 21 10:08:31 2008 -0800 iwlwifi: fix possible read attempt on ucode that is not available This fixes a NULL pointer dereference that can occur when the ucode is not loaded at the time __iwl_up is called. The problem was reported at http://kerneloops.org/raw.php?rawid=2765&msgid= Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1e34a11d55c9437775367d72ad03f9af99e78bd0 Author: David S. Miller Date: Tue Jan 22 23:44:31 2008 -0800 [IPV4]: Add missing skb->truesize increment in ip_append_page(). And as noted by Takahiro Yasui, we thus need to bump the sk->sk_wmem_alloc at this spot as well. Signed-off-by: David S. Miller commit 4c93566e2a61b48ef071a8d8a8fa9904c83a668e Author: David S. Miller Date: Mon Jan 21 23:20:58 2008 -0800 [TULIP] DMFE: Fix SROM parsing regression. Changeset 16b110c3fd760620b4a787db6ed512fe531ab1b5 (dmfe warning fix) bothed up the offsets read from the SROM so that it doesn't read the same datums it used to. The change made transformations like turning: "srom + 34" into "(__le32 *)srom + 34/4" which doesn't work because 4 does not divide evenly into 34 so we're using a different pointer offset than in the original code. I've changed theses cases in dmfe_parse_srom() to consistently use "(type *)(srom + offset)" preserving the offsets from the original code. Signed-off-by: David S. Miller commit acea6852f32b8805e166d885ed7e9f0c7cd10d41 Author: Dave Young Date: Mon Jan 21 22:35:21 2008 -0800 [BLUETOOTH]: Move children of connection device to NULL before connection down. The rfcomm tty device will possibly retain even when conn is down, and sysfs doesn't support zombie device moving, so this patch move the tty device before conn device is destroyed. For the bug refered please see : http://lkml.org/lkml/2007/12/28/87 Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 872e2be7c4056496c2871bd9b0f2fae6c374fe47 Author: Jan Engelhardt Date: Tue Jan 22 18:29:20 2008 -0800 [SPARC]: Constify function pointer tables. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 667984d9e481e43a930a478c588dced98cb61fea Author: Jordan Crouse Date: Tue Jan 22 23:30:16 2008 +0100 x86: GEODE fix a race condition in the MFGPT timer tick When we set the MFGPT timer tick, there is a chance that we'll immediately assert an event. If for some reason the IRQ routing for this clock has been setup for some other purpose, then we could end up firing an interrupt into the SMM handler or worse. This rearranges the timer tick init function to initalize the handler before we set up the MFGPT clock to make sure that even if we get an event, it will go to the handler. Furthermore, in the handler we need to make sure that we clear the event, even if the timer isn't running. Signed-off-by: Jordan Crouse Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Tested-by: Arnd Hannemann commit 889c94a14e38e749c8060f597ee7825ea0764229 Author: Johann Felix Soden Date: Sun Jan 20 14:41:18 2008 +0100 Fix file references in documentation and Kconfig Fix typo in arch/powerpc/boot/flatdevtree_env.h. There is no Documentation/networking/ixgbe.txt. README.cycladesZ is now in Documentation/. wavelan.p.h is now in drivers/net/wireless/. HFS.txt is now Documentation/filesystems/hfs.txt. OSS-files are now in sound/oss/. Signed-off-by: Johann Felix Soden Acked-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 00e10776ff908a767b3d36a53d330db8fdc53a56 Author: Randy Dunlap Date: Tue Jan 22 03:31:39 2008 -0800 rcu: fix section mismatch rcu_online_cpu() should be __cpuinit instead of __devinit. WARNING: vmlinux.o(.text+0x4b6d5): Section mismatch: reference to .init.text: (between 'rcu_cpu_notify' and 'wakeme_after_rcu') Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Acked-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80c002ddd2e732062e4371314d40515d0b5d8415 Author: David Fries Date: Tue Jan 22 03:31:39 2008 -0800 W1: w1_therm.c is flagging 0C etc as invalid The extra rom[0] check is flagging valid temperatures as invalid when there is already a CRC data transmission check. w1_therm_read_bin() if (rom[8] == crc && rom[0]) verdict = 1; Requiring rom[0] to be non-zero will flag as invalid temperature conversions when the low byte is zero, specifically the temperatures 0C, 16C, 32C, 48C, -16C, -32C, and -48C. The CRC check is produced on the device for the previous 8 bytes and is required to ensure the data integrity in transmission. I don't see why the extra check for rom[0] being non-zero is in there. Evgeniy Polyakov didn't know either. Just for a check I unplugged the sensor, executed a temperature conversion, and read the results. The read was all ff's, which also failed the CRC, so it doesn't need to protect against a disconnected sensor. I have more extensive patches in the work, but these two trivial ones will do for today. I would like to hear from people who use the ds2490 USB to one wire dongle. 1 if you would be willing to test the patches as I currently only have the one sensor on a short parisite powered wire, 2 if there is any cheap sources for the ds2490. Signed-off-by: David Fries Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 941ed3b53086697eac7449f3ab5d2c5ab3259de2 Author: David Fries Date: Tue Jan 22 03:31:37 2008 -0800 W1: w1_therm.c ds18b20 decode freezing temperatures correctly Correct the decoding of negative C temperatures. The code did a binary OR of two bytes to make a 16 bit value, but assignd it to an integer. This caused the value to not be sign extended and to loose that it was a negative number in the assignment. Before the patch (in my freezer), w1_slave ed fe 4b 46 7f ff 03 10 e4 : crc=e4 YES ed fe 4b 46 7f ff 03 10 e4 t=4078 With the patch, e3 fe 4b 46 7f ff 0d 10 81 : crc=81 YES e3 fe 4b 46 7f ff 0d 10 81 t=-17 Signed-off-by: David Fries Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87b4b6634ac112ddfe7b92aae50eb4bf7b128d1a Author: Bjorn Helgaas Date: Tue Jan 22 07:21:03 2008 -0500 hwmon: (it87) request only Environment Controller ports The IT8705F and related parts are Super I/O controllers that contain many separate devices. Some BIOSes describe IT8705F I/O port usage under a motherboard device (PNP0C02) with overlapping regions, e.g., 0x290-0x29f and 0x290-0x294. The it87 driver supports only the Environment Controller, which requires only two ISA ports, but it used to request an eight-port range. If that range exceeds a range reported by the BIOS, as 0x290-0x297 would, the request fails, and the it87 driver cannot claim the device. This patch makes the it87 driver request only the two ports used for the Environment Controller device. Systems where this problem has been reported: Gigabyte GA-K8N Ultra 9 Gigabyte M56S-S3 Gigabyte GA-965G-DS3 Kernel bug reports: http://bugzilla.kernel.org/show_bug.cgi?id=9514 http://lkml.org/lkml/2007/12/4/466 Related change: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a7839e960675b549f06209d18283d5cee2ce9261 The patch above increases the number of PNP port resources we support. Prior to this patch, we ignored some port resources, which masked the it87 problem. Signed-off-by: Bjorn Helgaas Signed-off-by: Mark M. Hoffman commit c61935fd0e7f087a643827b4bf5ef646963c10fa Author: Ingo Molnar Date: Tue Jan 22 11:24:58 2008 +0100 sched: group scheduler, set uid share fix setting cpu share to 1 causes hangs, as reported in: http://bugzilla.kernel.org/show_bug.cgi?id=9779 as the default share is 1024, the values of 0 and 1 can indeed cause problems. Limit it to 2 or higher values. These values can only be set by the root user - but still it makes sense to protect against nonsensical values. Signed-off-by: Ingo Molnar commit 4960c9df1407c2723459c60ff13e6efe0c209c62 Author: Thomas Gleixner Date: Tue Jan 22 10:23:01 2008 +0100 Revert "x86: fix NMI watchdog & 'stopped time' problem" This reverts commit d4d25deca49ec2527a634557bf5a6cf449f85deb. It tried to fix long standing bugzilla entries, but the solution was reported to break other systems. The reporter of http://bugzilla.kernel.org/show_bug.cgi?id=9791 tracked it down to this commit and confirmed that reverting the patch restores the correct behaviour. It's too late in the release cycle to find a better solution than reverting the commit to avoid regressions. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar commit 2ad913babd5d597f9d9d71d9e93dd589d55e66cd Author: Sam Ravnborg Date: Mon Jan 21 17:25:37 2008 -0800 [SPARC64]: Fix section error in sparcspkr With a sparc64 defconfig modified to set CONFIG_HOTPLUG=n the following error happened during link of vmlinux: local symbol 0: discarded in section `.devexit.text' from drivers/built-in.o local symbol 1: discarded in section `.devexit.text' from drivers/built-in.o (The error message above is from kbuild.git but it happens in mainline too) The error happens becase there is a reference from .text/.data to a function marked __devexit. With CONFIG_HOTPLUG=n all code marked __devexit are discarded and the linker complains. It was tracked down to sparcspkr.c which were missing __devexit_p() around the function pointers. Unfortunately modpost did not catch this since modpost do not warn about references from .data to .devexit from variables named *_driver. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit a1f35ba374bc421ab33e40163be2b57995b09962 Author: Sam Ravnborg Date: Mon Jan 21 17:22:46 2008 -0800 [SPARC64]: Fix of section mismatch warnings. Fix following Section mismatch warning in sparc64: WARNING: arch/sparc64/kernel/built-in.o(.text+0x13dec): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'psycho_scan_bus' and 'psycho_pbm_init') WARNING: arch/sparc64/kernel/built-in.o(.text+0x14b58): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'sabre_scan_bus' and 'sabre_init') WARNING: arch/sparc64/kernel/built-in.o(.text+0x15ea4): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'schizo_scan_bus' and 'schizo_pbm_init') WARNING: arch/sparc64/kernel/built-in.o(.text+0x17780): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'pci_sun4v_scan_bus' and 'pci_sun4v_get_head') WARNING: arch/sparc64/kernel/built-in.o(.text+0x17d5c): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'pci_fire_scan_bus' and 'pci_fire_get_head') WARNING: arch/sparc64/kernel/built-in.o(.text+0x23860): Section mismatch: reference to .devinit.text:vio_dev_release (between 'vio_create_one' and 'vio_add') WARNING: arch/sparc64/kernel/built-in.o(.text+0x23868): Section mismatch: reference to .devinit.text:vio_dev_release (between 'vio_create_one' and 'vio_add') The pci_* were all missing __init annotations. For the vio.c case it was a function with a wrong annotation which was removed. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit d384e35a25445bb60457b7dab8cffe178c6b7ecb Author: Linus Nilsson Date: Sun Jan 20 17:10:01 2008 +0100 Makefile: Change typoed 'behavour' to 'behaviour' Change two occurances of "behavour" to "behaviour". Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit a6dbb1ef2fc8d73578eacd02ac701f4233175c9f Author: Andrew G. Morgan Date: Mon Jan 21 17:18:30 2008 -0800 Fix filesystem capability support In linux-2.6.24-rc1, security/commoncap.c:cap_inh_is_capped() was introduced. It has the exact reverse of its intended behavior. This led to an unintended privilege esculation involving a process' inheritable capability set. To be exposed to this bug, you need to have Filesystem Capabilities enabled and in use. That is: - CONFIG_SECURITY_FILE_CAPABILITIES must be defined for the buggy code to be compiled in. - You also need to have files on your system marked with fI bits raised. Signed-off-by: Andrew G. Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a10336043b8193ec603ad54bb79cdcd26bbf94b3 Author: Stefan Schmidt Date: Mon Jan 21 17:18:27 2008 -0800 s3c2410_fb: fix line length calculation Fix line length calculation. var->width is the size of the display in mm. We like to use the pixel size. Without this fix, dynamic (fbset) based resolution and depths changes with s3c2410_fb don't work at all. Spotted by john cass Signed-off-by: Stefan Schmidt Signed-off-by: Harald Welte Acked-by: Ben Dooks Acked-by: Arnaud Patard Acked-by: Krzysztof Helt Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a56d00bbea018cfa6dc62f76db52760872efa1a7 Author: Cyrill Gorcunov Date: Mon Jan 21 17:18:26 2008 -0800 CRIS: add missed local_irq_restore call Signed-off-by: Cyrill Gorcunov Acked-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48ccf3dac341118992b70ca89c47728e8b1d300b Author: Randy Dunlap Date: Mon Jan 21 17:18:25 2008 -0800 timer: fix section mismatch The caller is __cpuinit. Also, this code block and its caller are inside #ifdef CONFIG_HOTPLUG_CPU blocks, so this code should reflect that config symbol's usage. WARNING: vmlinux.o(.text+0x4252f): Section mismatch: reference to .init.text: (between 'timer_cpu_notify' and 'msleep') Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ec160dd48b666ddef39d639323d0da26d0b710d Author: Randy Dunlap Date: Mon Jan 21 17:18:24 2008 -0800 hrtimer: fix section mismatch Fix section mismatch in hrtimer.c: WARNING: vmlinux.o(.text+0x50c61): Section mismatch: reference to .init.text: (between 'hrtimer_cpu_notify' and 'down_read_trylock') Noticed by Johannes Berg and confirmed by Sam Ravnborg. Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5569a565f7315fe7241cf963f2cc74e53871e11 Author: Alan Cox Date: Mon Jan 21 17:18:24 2008 -0800 keyspan: fix oops If we get a data URB back from the hardware after we have put the tty to bed we go kaboom. Fortunately all we need to do is process the URB without trying to ram its contents down the throat of an ex-tty. Signed-off-by: Alan Cox Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06675e6f4fb00a63575f4b85da305c3ab19e6e5d Author: Atsushi Nemoto Date: Sat Jan 19 01:15:52 2008 +0900 tc35815: Use irq number for tc35815-mac platform device id The tc35815-mac platform device used a pci bus number and a devfn to identify its target device, but the pci bus number may vary if some bus-bridges are found. Use irq number which is be unique for embedded controllers. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0487de91427925e7c43debeb948bdf53b10ef32c Author: Dmitri Vorobiev Date: Tue Jan 15 00:27:46 2008 +0300 [MIPS] Malta: Fix reading the PCI clock frequency on big-endian The JMPRS register on Malta boards keeps a 32-bit CPU-endian value. The readw() function assumes that the value it reads is a little-endian 16-bit number. Therefore, using readw() to obtain the value of the JMPRS register is a mistake. This error leads to incorrect reading of the PCI clock frequency on big-endian during board start-up. Change readw() to __raw_readl(). This was tested by injecting a call to printk() and verifying that the value of the jmpr variable was consistent with current setting of the JP4 "PCI CLK" jumper. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit c2a04c4f0e1b09b58d7279e2facd306c40583ec1 Author: Frank Rowand Date: Tue Jan 15 14:26:44 2008 -0800 [MIPS] SMTC: Fix build error. Fix compile warning (which becomes compile error due to -Werror). Type of argument "flags" for spin_lock_irqsave() was incorrect in some functions. Signed-off-by: Frank Rowand Signed-off-by: Ralf Baechle commit 45c950e0f839fded922ebc0bfd59b1081cc71b70 Author: Paul Moore Date: Tue Jan 22 09:31:00 2008 +1100 selinux: fix memory leak in netlabel code Fix a memory leak in security_netlbl_sid_to_secattr() as reported here: * https://bugzilla.redhat.com/show_bug.cgi?id=352281 Signed-off-by: Paul Moore Signed-off-by: James Morris commit 5b4d383a1a562de6955cacd72e20809064ee137f Author: Wang Chen Date: Mon Jan 21 03:39:45 2008 -0800 [ICMP]: ICMP_MIB_OUTMSGS increment duplicated Commit "96793b482540f3a26e2188eaf75cb56b7829d3e3" (Add ICMPMsgStats MIB (RFC 4293)) made a mistake. In that patch, David L added a icmp_out_count() in ip_push_pending_frames(), remove icmp_out_count() from icmp_reply(). But he forgot to remove icmp_out_count() from icmp_send() too. Since icmp_send and icmp_reply will call icmp_push_reply, which will call ip_push_pending_frames, a duplicated increment happened in icmp_send. This patch remove the icmp_out_count from icmp_send too. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit fa95c28322a312a798a688c655458ab2079b72eb Author: Wang Chen Date: Mon Jan 21 03:05:43 2008 -0800 [IPV6]: RFC 2011 compatibility broken The snmp6 entry name was changed, and it broke compatibility to RFC 2011. Signed-off-by: Wang Chen Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c964ff4ffbef4586ec63dbeb008563078114e6dc Author: Wang Chen Date: Mon Jan 21 03:04:47 2008 -0800 [IPV6]: ICMP6_MIB_OUTMSGS increment duplicated icmpv6_send() calls ip6_push_pending_frames() indirectly. Both ip6_push_pending_frames() and icmpv6_send() increment counter ICMP6_MIB_OUTMSGS. This patch remove the increment from icmpv6_send. Signed-off-by: Wang Chen Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 68365458a4252fa993b91a00f7a0b18fed399f0d Author: Patrick McHardy Date: Sun Jan 20 17:25:14 2008 -0800 [NET]: rtnl_link: fix use-after-free When unregistering the rtnl_link_ops, all existing devices using the ops are destroyed. With nested devices this may lead to a use-after-free despite the use of for_each_netdev_safe() in case the upper device is next in the device list and is destroyed by the NETDEV_UNREGISTER notifier. The easy fix is to restart scanning the device list after removing a device. Alternatively we could add new devices to the front of the list to avoid having dependant devices follow the device they depend on. A third option would be to only restart scanning if dev->iflink of the next device matches dev->ifindex of the current one. For now this seems like the safest solution. With this patch, the veth rtnl_link_ops unregistration can use rtnl_link_unregister() directly since it now also handles destruction of multiple devices at once. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d4782c323d10d3698b71b6a6b3c7bdad33824658 Author: Patrick McHardy Date: Sun Jan 20 17:24:29 2008 -0800 [AF_KEY]: Fix skb leak on pfkey_send_migrate() error Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 421c991483a6e52091cd2120c007cbc220d669ae Author: Adrian Bunk Date: Sun Jan 20 17:23:12 2008 -0800 [ATM] atm/suni.c: Fix section mismatch. EXPORT_SYMBOL'ed code mustn't be __*init. Signed-off-by: Adrian Bunk Acked-by: Sam Ravnborg Signed-off-by: David S. Miller commit 799fa6779bc870a32377000b42a3e6297446ed10 Author: Adrian Bunk Date: Sun Jan 20 17:22:28 2008 -0800 [ATM] atm/idt77105.c: Fix section mismatch. EXPORT_SYMBOL'ed code mustn't be __*init. Signed-off-by: Adrian Bunk Acked-by: Sam Ravnborg Signed-off-by: David S. Miller commit 61e44b4815063a5cc31242d3669d5f87beeaa45f Author: Jesper Juhl Date: Sun Jan 20 16:58:04 2008 -0800 [IrDA]: af_irda memory leak fixes Here goes an IrDA patch against your latest net-2.6 tree. This patch fixes some af_irda memory leaks. It also checks for irias_new_obect() return value. Signed-off-by: Jesper Juhl Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit cecbb63967b4f36701b9412a12377e8fe006a93b Author: David S. Miller Date: Sun Jan 20 16:39:03 2008 -0800 [NEIGH]: Revert 'Fix race between neigh_parms_release and neightbl_fill_parms' Commit 9cd40029423701c376391da59d2c6469672b4bed (Fix race between neigh_parms_release and neightbl_fill_parms) introduced device reference counting regressions for several people, see: http://bugzilla.kernel.org/show_bug.cgi?id=9778 for example. Signed-off-by: David S. Miller commit 2dc2f207fb251666d2396fe1a69272b307ecc333 Author: Patrick McHardy Date: Sun Jan 20 06:25:48 2008 -0800 [NETFILTER]: bridge-netfilter: fix net_device refcnt leaks When packets are flood-forwarded to multiple output devices, the bridge-netfilter code reuses skb->nf_bridge for each clone to store the bridge port. When queueing packets using NFQUEUE netfilter takes a reference to skb->nf_bridge->physoutdev, which is overwritten when the packet is forwarded to the second port. This causes refcount unterflows for the first device and refcount leaks for all others. Additionally this provides incorrect data to the iptables physdev match. Unshare skb->nf_bridge by copying it if it is shared before assigning the physoutdev device. Reported, tested and based on initial patch by Jan Christoph Nordholz . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 398bcbebb6f721ac308df1e3d658c0029bb74503 Author: YOSHIFUJI Hideaki Date: Sat Jan 19 00:35:16 2008 -0800 [IPV6] ROUTE: Make sending algorithm more friendly with RFC 4861. We omit (or delay) sending NSes for known-to-unreachable routers (in NUD_FAILED state) according to RFC 4191 (Default Router Preferences and More-Specific Routes). But this is not fully compatible with RFC 4861 (Neighbor Discovery Protocol for IPv6), which does not remember unreachability of neighbors. So, let's avoid mixing sending algorithm of RFC 4191 and that of RFC 4861, and make the algorithm more friendly with RFC 4861 if RFC 4191 is disabled. Issue was found by IPv6 Ready Logo Core Self_Test 1.5.0b2 (by TAHI Project), and has been tracked down by Mitsuru Chinen . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 8d3f099abe25c21670cb5728178a1f286952782d Author: Eric Dumazet Date: Fri Jan 18 04:30:21 2008 -0800 [IPV4] FIB_HASH : Avoid unecessary loop in fn_hash_dump_zone() I noticed "ip route list" was slower than "cat /proc/net/route" on a machine with a full Internet routing table (214392 entries : Special thanks to Robert ;) ) This is similar to problem reported in commit d8c9283089287341c85a0a69de32c2287a990e71 ("[IPV4] ROUTE: ip_rt_dump() is unecessary slow") Fix is to avoid scanning the begining of fz_hash table, but directly seek to the right offset. Before patch : time ip route >/tmp/ROUTE real 0m1.285s user 0m0.712s sys 0m0.436s After patch # time ip route >/tmp/ROUTE real 0m0.835s user 0m0.692s sys 0m0.124s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 49d85c502ec5e6d5998c1a04394c5b24e8f7d32d Author: David S. Miller Date: Fri Jan 18 04:21:39 2008 -0800 [NET]: Fix interrupt semaphore corruption in Intel drivers. Several of the Intel ethernet drivers keep an atomic counter used to manage when to actually hit the hardware with a disable or an enable. The way the net_rx_work() breakout logic works during a pending napi_disable() is that it simply unschedules the poll even if it still has work. This can potentially leave interrupts disabled, but that is OK because all of the drivers are about to disable interrupts anyways in all such code paths that do a napi_disable(). Unfortunately, this trips up the semaphore used here in the Intel drivers. If you hit this case, when you try to bring the interface back up it won't enable interrupts. A reload of the driver module fixes it of course. So what we do is make sure all the sequences now go: napi_disable(); atomic_set(&adapter->irq_sem, 0); *_irq_disable(); which makes sure the counter is always in the correct state. Reported by Robert Olsson. Signed-off-by: David S. Miller commit 6725033fa27c8f49e1221d2badbaaaf1ef459519 Author: Joonwoo Park Date: Fri Jan 18 03:45:18 2008 -0800 [IPV4] fib_trie: fix duplicated route issue http://bugzilla.kernel.org/show_bug.cgi?id=9493 The fib allows making identical routes with 'ip route replace'. This patch makes the fib return -EEXIST if replacement would cause duplication. Signed-off-by: Joonwoo Park Signed-off-by: David S. Miller commit bd566e7525b5986864e8d6eb5b67640abcd284a9 Author: Joonwoo Park Date: Fri Jan 18 03:44:48 2008 -0800 [IPV4] fib_hash: fix duplicated route issue http://bugzilla.kernel.org/show_bug.cgi?id=9493 The fib allows making identical routes with 'ip route replace'. This patch makes the fib return -EEXIST if replacement would cause duplication. Signed-off-by: Joonwoo Park Signed-off-by: David S. Miller commit b3652b2dc5ec6ccd946ae9136b30c6babb81305a Author: Pavel Emelyanov Date: Fri Jan 18 03:27:12 2008 -0800 [IPV6]: Mischecked tw match in __inet6_check_established. When looking for a conflicting connection the !sk->sk_bound_dev_if check is performed only for live sockets, but not for timewait-ed. This is not the case for ipv4, for __inet6_lookup_established in both ipv4 and ipv6 and for other places that check for tw-s. Was this missed accidentally? If so, then this patch fixes it and besides makes use if the dif variable declared in the function. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 632041f306707df94110441f55b1458ebeb096db Author: Eric Paris Date: Sun Jan 13 16:20:56 2008 -0500 rfkill: call rfkill_led_trigger_unregister() on error Code inspection turned up that error cases in rfkill_register() do not call rfkill_led_trigger_unregister() even though we have already registered. Signed-off-by: Eric Paris Signed-off-by: John W. Linville commit abf07b19de3ae2fcf63142f1f9a3e4ee537f9f55 Author: Dan Williams Date: Fri Jan 18 23:26:10 2008 +0100 [ARM] 4748/1: dca: source drivers/dca/Kconfig in arch/arm/Kconfig to fix warning 'select' used by config symbol 'INTEL_IOATDMA' refers to undefined symbol 'DCA' Although drivers/dma is currently the only user future drivers outside of drivers/dma may select this option so it is better to add this to arch/arm/Kconfig than move DCA to drivers/dma/Kconfig. Signed-off-by: Dan Williams Signed-off-by: Russell King commit 3b1904d00a54d4d839a4c12dbc98a14dc4efdc95 Author: Russell King Date: Fri Jan 11 12:23:58 2008 +0000 [ARM] pxa: don't rely on r2 being preserved over a function call r2 is not guaranteed to be preserved over a function call, so relying on it to store the link register over the call to sleep_phys_sp() is unreliable. Store the link register on the stack instead. Signed-off-by: Russell King commit a7da60f41551abb3c520b03d42ec05dd7decfc7f Author: Rusty Russell Date: Sun Jan 20 11:54:18 2008 +1100 Remove bogus duplicate CONFIG_LGUEST_GUEST entry. It was moved to arch/x86/lguest/Kconfig, but I lost the deletion part in a patch suffle. My confused one-liner "fix" to turn it on is also reverted: 84f7466ee20cc094aa38617abfa2f3834871f054 Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 488288d9f25fbab903bd264bc74f2fad3a7f7a09 Author: Josef 'Jeff' Sipek Date: Sat Jan 19 16:04:42 2008 -0500 arch: Ignore arch/i386 and arch/x86_64 The i386 and x86_64 arch directories contain nothing but a generated symlink to arch/x86/boot/bzImage when a tree a built. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Peter Anvin Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: Linus Torvalds commit aa8f2371c564fc9b289dab3a8ecd93212d021fd2 Author: Alan Cox Date: Sat Jan 19 15:51:26 2008 +0000 pata_pdc202xx_old: Fix crashes with ATAPI The PDC202xx older devices do not support ATAPI DMA via the usual interfaces. What documentation I have isn't sufficient to support DMA and it isn't clear if the Windows drivers do this or it is possible at all. (Neither do the drivers/ide old drivers) So turn it ATAPI DMA off, these are disk optimised controllers. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f6f2a5db6ddf164923c1f8af27d36c2d7ab994e0 Author: Daniel Walker Date: Fri Jan 18 17:55:08 2008 -0800 ARM: OMAP1: Fix compile for board-nokia770 Fix compile for board-nokia770 Signed-off-by: Daniel Walker Signed-off-by: Tony Lindgren commit 496bcb81678ae255171de54e637ba1c19c9ed315 Author: Vivek Kutal Date: Mon Jan 7 12:04:00 2008 -0200 ARM: OMAP1: Keymap fix for f-sample and p2-sample Keymap fix for f-sample and p2-sample. Signed-off-by: Vivek Kutal Signed-off-by: Tony Lindgren commit 84f7466ee20cc094aa38617abfa2f3834871f054 Author: Rusty Russell Date: Sat Jan 19 07:02:29 2008 +1100 Selecting LGUEST should turn on Guest support, as in 2.6.23. There's currently no way to turn on Lguest guest support; the planned Kconfig virtualization reorg didn't get into 2.6.25. This was unnoticed because if you already had CONFIG_LGUEST_GUEST=y in your config, it worked. Too bad about new users... Also, the Kconfig help was wrong now the virtio drivers are merged. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit e107ebe0e4a11b821d76ad2c3010c6a6244bd930 Author: Arjan van de Ven Date: Fri Jan 18 22:49:33 2008 +0100 x86: add support for the latest Intel processors to Oprofile The latest Intel processors (the 45nm ones) have a model number of 23 (old ones had 15); they're otherwise compatible on the oprofile side. This patch adds the new model number to the oprofile code. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0d710cba3afde2109030254ee90654fbb580e8af Author: Andrew Dyer Date: Tue Jan 8 14:40:37 2008 -0600 [WATCHDOG] clarify watchdog operation in documentation It was not clear what the difference is/was between the nowayout feature and the Magic Close feature. Signed-off-by: "Andrew Dyer" Signed-off-by: Wim Van Sebroeck commit cde10ba3ba439592d1bc094102ebfccdeee80cf9 Author: Wim Van Sebroeck Date: Fri Jan 18 21:01:34 2008 +0000 [WATCHDOG] Revert "Stop looking for device as soon as one is found" This reverts commit 3ff6eb4a2fe5757cbe7c5d57c8eb60ab0775f2f0. the !found check in the for loop allready made sure that only one device was found. Signed-Off-By: Pádraig Brady Signed-Off-By: Wim Van Sebroeck commit ba596a01886b236c8171fc28d53842da0128224e Author: Matteo Croce Date: Sat Jan 12 19:05:23 2008 +0100 Replace cpmac fix Please apply this patch since i reverted by mistake the commit 4e3ab47a547616e583c7a5458beced6aa34c8ef3 in 6cd043d99dcf5d252fcc682958541f449113f7b3 Signed-off-by: Matteo Croce Signed-off-by: Jeff Garzik commit 0ca5f319f4bef00d31a21614345ecd5ea0ca8afd Author: Al Viro Date: Sun Jan 13 14:18:25 2008 +0000 dl2k: the rest remove an unused union-with-bitfield of the same sort, add missing conversions in debugging printk Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 5b5119167b724f4c4d54e69f91f22a83b01207af Author: Al Viro Date: Sun Jan 13 14:18:15 2008 +0000 dl2k: MSCR, MSSR, ESR, PHY_SCR fixes Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 96d768517eef3c10d4a82bd121caa42f584082cb Author: Al Viro Date: Sun Jan 13 14:18:05 2008 +0000 dl2k: BMSR fixes Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 21b645e4c2531631992dc127cf676631a70046c8 Author: Al Viro Date: Sun Jan 13 14:17:55 2008 +0000 dl2k: ANAR, ANLPAR fixes same story, different registers... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit d50956af74859b4e9ba544a0211a94bc2621c1d9 Author: Al Viro Date: Sun Jan 13 14:17:45 2008 +0000 dl2k: BMCR_t fixes broken use of bitfields; FUBAR on big-endian (and not valid C, strictly speaking). Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b665982409fd5e4d3f1b71591d2f6badf9d2ee99 Author: Al Viro Date: Sun Jan 13 14:17:35 2008 +0000 3c574, 3c515 bitfields abuse wn3_config is shared by these cards; the way we deal with it is both bad C (union abuse) and broken on big-endian. For 3c515 it's less serious (ISA cards are quite rare outside of little-endian boxen), but 3c574 is a pcmcia one and that'd better be endian-independent... Fix is the same in both cases. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit c15561f0e5615607e2b5524c4b3af64d20cd6e28 Author: Al Viro Date: Sun Jan 13 14:17:25 2008 +0000 sbni endian fixes Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 44b1e77a0275975f3bd8bdeba6c5524105216d6d Author: Al Viro Date: Sun Jan 13 14:17:15 2008 +0000 wan/lmc bitfields fixes Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 409cd63e6ef6a1aa05baa5bbff5521d62acd246d Author: Al Viro Date: Sun Jan 13 14:17:05 2008 +0000 dscc4 endian fixes Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 5f490c9680561e31bf0003693f20e0c7333bbeff Author: Sreenivasa Honnur Date: Mon Jan 14 20:23:04 2008 -0500 S2io: Fixed synchronization between scheduling of napi with card reset and close - Fixed synchronization between scheduling of napi with card reset and close by moving the enabling and disabling of napi to card up and card down functions respectively instead of open and close. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 2a49128f0a6edee337174ea341c1d6d7565be350 Author: Jay Cliburn Date: Mon Jan 14 19:56:41 2008 -0600 atl1: fix frame length bug The driver sets up the hardware to accept a frame with max length equal to MTU + Ethernet header + FCS + VLAN tag, but we neglect to add the VLAN tag size to the ingress buffer. When a VLAN-tagged frame arrives, the hardware passes it, but bad things happen because the buffer is too small. This patch fixes that. Thanks to David Harris for reporting the bug and testing the fix. Tested-by: David Harris Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit ce3ba1399d2ba81b3699a82649df0cd8223c6662 Author: Matti Linnanvuori Date: Tue Jan 15 06:25:27 2008 -0800 Documentation: add a guideline for hard_start_xmit method Add a guideline not to modify SKBs. Signed-off-by: Matti Linnanvuori Signed-off-by: Jeff Garzik commit be63a21c9573fbf88106ff0f030da5974551257b Author: Stephen Hemminger Date: Tue Jan 15 11:29:29 2008 -0800 Revert "sky2: remove check for PCI wakeup setting from BIOS" This reverts commit 84cd2dfb04d23a961c5f537baa243fa54d0987ac. Some BIOS's break if Wake On Lan is enabled, and the machine can't boot. Better to have some user's have to call ethtool to enable WOL than to break a single user's boot. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e236ed23f81430dc020304e2efbc0cfcdf47d9a7 Author: Jason Uhlenkott Date: Wed Jan 16 23:03:17 2008 -0800 e1000e Kconfig: remove ref to nonexistant docs There is no Documentation/networking/e1000e.txt. Signed-off-by: Jason Uhlenkott Cc: Auke Kok Signed-off-by: Jeff Garzik commit 5655662dab4ef044be7efd155f2f5fef2e486545 Author: Jay Vosburgh Date: Thu Jan 17 16:25:03 2008 -0800 bonding: Don't hold lock when calling rtnl_unlock Change bond_mii_monitor to not hold any locks when calling rtnl_unlock, as rtnl_unlock can sleep (when acquring another mutex in netdev_run_todo). Bug reported by Makito SHIOKAWA , who included a different patch. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 027ea0416c955778ceca7ef82e48a1dd6b4617c9 Author: Jay Vosburgh Date: Thu Jan 17 16:25:02 2008 -0800 bonding: fix lock ordering for rtnl and bonding_rwsem Fix the handling of rtnl and the bonding_rwsem to always be acquired in a consistent order (rtnl, then bonding_rwsem). The existing code sometimes acquired them in this order, and sometimes in the opposite order, which opens a window for deadlock between ifenslave and sysfs. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit ece95f7fefe3afae19e641e1b3f5e64b00d5b948 Author: Jay Vosburgh Date: Thu Jan 17 16:25:01 2008 -0800 bonding: Fix up parameter parsing A recent change to add an additional hash policy modified bond_parse_parm, but it now does not correctly match parameters passed in via sysfs. Rewrote bond_parse_parm to handle (a) parameter matches that are substrings of one another and (b) user input with whitespace (e.g., sysfs input often has a trailing newline). Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 3b96c858fcb27120fcba222366180c3293393ccf Author: Jay Vosburgh Date: Thu Jan 17 16:25:00 2008 -0800 bonding: release slaves when master removed via sysfs Add a call to bond_release_all in the bonding netdev event handler for the master. This releases the slaves for the case of, e.g., "echo -bond0 > /sys/class/net/bonding_masters", which otherwise will spin forever waiting for references to be released. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 2543331d367c9fe54f4ba73300894bc21e0a08f4 Author: Jay Vosburgh Date: Thu Jan 17 16:24:59 2008 -0800 bonding: fix locking during alb failover and slave removal alb_fasten_mac_swap (actually rlb_teach_disabled_mac_on_primary) requries RTNL and no other locks. This could cause dev_set_promiscuity and/or dev_set_mac_address to be called with improper locking. Changed callers to hold only RTNL during calls to alb_fasten_mac_swap or functions calling it. Updated header comments in affected functions to reflect proper reality of locking requirements. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit e0138a66e18c6755ee29ce13b3f1142af775dc5f Author: Jay Vosburgh Date: Thu Jan 17 16:24:58 2008 -0800 bonding: fix ASSERT_RTNL that produces spurious warnings Move an ASSERT_RTNL down to where we should hold only RTNL; the existing check produces spurious warnings because we hold additional locks at _bh, tripping a debug warning in spin_lock_mutex(). Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit e934dd7862e7f613b2ce9730d548a0a70913c8f7 Author: Jay Vosburgh Date: Thu Jan 17 16:24:57 2008 -0800 bonding: fix locking in sysfs primary/active selection Fix the functions that store the primary and active slave options via sysfs to hold the correct locks in the correct order. The bond_change_active_slave and bond_select_active_slave functions both require rtnl, bond->lock for read and curr_slave_lock for write_bh, and no other locks. This is so that the lower level mode-specific functions (notably for balance-alb mode) can release locks down to just rtnl in order to call, e.g., dev_set_mac_address with the locks it expects (rtnl only). Signed-off-by: Jay Vosburgh Signed-off-by: Andy Gospodarek Signed-off-by: Jeff Garzik commit a3c53e2310192e63e49610ffcb6a36b2a706fa3e Author: Daniel Walker Date: Thu Jan 17 12:52:05 2008 -0800 fix wrong sized spinlock flags argument Correct wrong sized spinlock flags, form int to unsigned long. Signed-off-by: Daniel Walker Signed-off-by: Linus Torvalds commit 784680336b616dcc4c17cbd25add3b49c555cdeb Author: Nigel Cunningham Date: Thu Jan 17 15:21:21 2008 -0800 Fix unbalanced helper_lock in kernel/kmod.c call_usermodehelper_exec() has an exit path that can leave the helper_lock() call at the top of the routine unbalanced. The attached patch fixes this issue. Signed-off-by: Nigel Cunningham Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34aebfd3bdc93c0c5614f1f61e43b6ddc4be52ae Author: Li Zefan Date: Thu Jan 17 15:21:20 2008 -0800 Revert "local_t Documentation update" This reverts commit e1265205c0ee3919c3f2c750662630154c8faab2. It's a duplicate commit of commit 74beb9db77930be476b267ec8518a642f39a04bf, resulting in a duplicate section. Signed-off-by: Li Zefan Acked-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 545c4423335469de06af7f7c95e97c1122c1c818 Author: Alex Date: Thu Jan 17 15:21:18 2008 -0800 fix radeonfb regression with Xpress 200m 5955 Fix http://bugzilla.kernel.org/show_bug.cgi?id=9762 Framebuffer is ok only with default parameters only (it is 1280x800-8@60). If parameters are video=radeonfb:1280x800-32@60 then xres, yres and xres_virtual are ok but yres_virtual is 1024. It can be corrected by fbset utility so I think it can be corrected in the driver code also. Steps to reproduce: video=radeonfb:1280x800-32@60 or video=radeonfb:1280x800-16@60 Add 1280x800 mode into modedb Cc: "Rafael J. Wysocki" Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9723198c219f3546982cb469e5aed26e68399055 Author: Carsten Otte Date: Thu Jan 17 15:21:17 2008 -0800 #ifdef very expensive debug check in page fault path This patch puts #ifdef CONFIG_DEBUG_VM around a check in vm_normal_page that verifies that a pfn is valid. This patch increases performance of the page fault microbenchmark in lmbench by 13% and overall dbench performance by 7% on s390x. pfn_valid() is an expensive operation on s390 that needs a high double digit amount of CPU cycles. Nick Piggin suggested that pfn_valid() involves an array lookup on systems with sparsemem, and therefore is an expensive operation there too. The check looks like a clear debug thing to me, it should never trigger on regular kernels. And if a pte is created for an invalid pfn, we'll find out once the memory gets accessed later on anyway. Please consider inclusion of this patch into mm. Signed-off-by: Carsten Otte Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b2d2cec1081a979e0efd6a1e9559e5a01a3c10e Author: Ivan Kokshaysky Date: Thu Jan 17 15:21:13 2008 -0800 alpha: fix conversion from denormal float to double The trap handler does properly update the fraction, but not the exponent... Thanks to Paolo Bonzini for the bug report and the testcase. Signed-off-by: Ivan Kokshaysky Cc: Paolo Bonzini Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f63dcda197bd71c6565c2121bf70e3d371539f90 Author: Jonas Bonn Date: Thu Jan 17 15:21:13 2008 -0800 jbd: do not try lock_acquire after handle made invalid This likely fixes the oops in __lock_acquire reported as: http://www.kerneloops.org/raw.php?rawid=2753&msgid= http://www.kerneloops.org/raw.php?rawid=2749&msgid= In these reported oopses, start_this_handle is returning -EROFS. Signed-off-by: Jonas Bonn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d6f4e60e736a00b50ec668ba1a9fe27afb083a3 Author: Sam Ravnborg Date: Thu Jan 17 15:21:12 2008 -0800 mm: fix section mismatch warning in page_alloc.c With CONFIG_HOTPLUG=n and CONFIG_HOTPLUG_CPU=y we saw following warning: WARNING: mm/built-in.o(.text+0x6864): Section mismatch: reference to .init.text: (between 'process_zones' and 'pageset_cpuup_callback') The culprit was zone_batchsize() which were annotated __devinit but used from process_zones() which is annotated __cpuinit. zone_batchsize() are used from another function annotated __meminit so the only valid option is to drop the annotation of zone_batchsize() so we know it is always valid to use it. Signed-off-by: Sam Ravnborg Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0e86f0a3b9329bbebadb01ca935208459df18c3 Author: Jesper Nilsson Date: Thu Jan 17 15:21:11 2008 -0800 CRIS v10: vmlinux.lds.S: ix kernel oops on boot and use common defines - Move alignment to page size of init data outside ifdef for BLK_DEV_INITRD. The reservation up to page size of memory after init data was previously not done if BLK_DEV_INITRD was undefined. This caused a kernel oops when init memory pages were freed after startup, data placed in the same page as the last init memory would also be freed and reused, with disastrous results. - Use macros for initcalls and .text sections. - Replace hardcoded page size constant with PAGE_SIZE define. - Change include/asm-cris/page.h to use the _AC macro to instead of testing __ASSEMBLY__. Signed-off-by: Jesper Nilsson Cc: Sam Ravnborg Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efe7cf2dcf4b72c7a9f991466d1f22850232244f Author: Len Brown Date: Thu Jan 17 15:21:10 2008 -0800 pnpacpi: print resource shortage message only once (more) Wups, previous patch was ineffective in 2 cases. http://bugzilla.kernel.org/show_bug.cgi?id=9535 Signed-off-by: Len Brown Reported-by: "Hartkopp, Oliver (K-EFE/E)" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46a39c1cd5d2f804b27e9a4be3fb1b510dda9570 Author: Eric Sandeen Date: Thu Jan 17 15:21:09 2008 -0800 hfs: fix coverity-found null deref Fix potential null deref introduced by commit cf0594625083111ae522496dc1c256f7476939c2 http://bugzilla.kernel.org/show_bug.cgi?id=9748 Signed-off-by: Eric Sandeen Cc: Roman Zippel Reported-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6915719b36a97d28fab576c6fa2a20364b435fe6 Author: Johannes Weiner Date: Thu Jan 17 15:21:08 2008 -0800 cpufreq: Initialise default governor before use When the cpufreq driver starts up at boot time, it calls into the default governor which might not be initialised yet. This hurts when the governor's worker function relies on memory that is not yet set up by its init function. This migrates all governors from module_init() to fs_initcall() when being the default, as was already done in cpufreq_performance when it was the only possible choice. The performance governor is always initialized early because it might be used as fallback even when not being the default. Fixes at least one actual oops where ondemand is the default governor and cpufreq_governor_dbs() uses the uninitialised kondemand_wq work-queue during boot-time. Signed-off-by: Johannes Weiner Cc: Dave Jones Cc: "Rafael J. Wysocki" Cc: Venkatesh Pallipadi Acked-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47cccd7d7cc1f2b6f34aadc9041fb991c6293cdd Author: Francois Romieu Date: Thu Jan 10 23:53:15 2008 +0100 ipg: fix Tx completion irq request The current logic will only request an ack for the first pending packet. No irq is triggered as soon as the CPU submits a few packets a bit quickly. Let's request an irq for every packet instead. Signed-off-by: Francois Romieu commit dafdec746f8c468bebf6b99f32a392ee6c8d0212 Author: Francois Romieu Date: Thu Jan 10 23:45:05 2008 +0100 ipg: fix queue stop condition in the xmit handler Signed-off-by: Francois Romieu commit 0da1b995aee447656c0eb77e4e32468e37f868a3 Author: Francois Romieu Date: Thu Jan 10 23:40:59 2008 +0100 ipg: plug Tx completion leak The Tx skb release could not free more than one skb per call. Add it to the fact that the xmit handler does not check for a queue full condition and you have a recipe to leak quickly. Let's release every pending Tx descriptor which has been given back to the host CPU by the network controller. The xmit handler suggests that it is done through the IPG_TFC_TFDDONE bit. Remove the former "curr" computing: it does not produce anything usable in its current form. Signed-off-by: Francois Romieu commit 227bc24d675d80de1cfb3ab72891cc932dadbc3b Author: Francois Romieu Date: Thu Jan 10 23:25:30 2008 +0100 ipg: balance locking in irq handler Spotted-by: Signed-off-by: Francois Romieu commit fb49161027e1938c34fc97d1136735e1d4209df6 Author: Dmitry Torokhov Date: Thu Jan 17 12:01:58 2008 -0500 Input: ALPS - fix sync loss on Acer Aspire 5720ZG The recently added support for Dell Volstro 1400 was causing protocol synchronization errors on Acer Aspire 5720ZG, fix it. Signed-off-by: Dmitry Torokhov commit 653e91d01fa4d39d2ed06a8c2096fef08b00ee7e Author: Andres Salomon Date: Thu Jan 17 12:01:51 2008 -0500 Input: psmouse - fix input_dev leak in lifebook driver The lifebook driver may register a second input device, but it never unregisters it. This fixes that. Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 746b31a9d4e08240d267069bcf5084eb7e427ad7 Author: Andres Salomon Date: Thu Jan 17 12:01:30 2008 -0500 Input: psmouse - fix potential memory leak in psmouse_connect() If we successfully call input_register_device() in psmouse_connect() but sysfs_create_group() fails, we'll enter the error path without ever having called input_unregister_device() potentially leaking memory. Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 62aa366d9b0158a81eace3b83e6b027789f7575b Author: Daniel Ritz Date: Thu Jan 17 12:01:18 2008 -0500 Input: usbtouchscreen - fix buffer overflow, make more egalax work Fix a buffer overflow in mutli-packet handling code. The overflow can only happen with eGalax devices and is even there very unlikely (only non-report packet are affected any only when truncated after the first byte). Also changes the mutli-packet handling code not to drop unknown packets, but rather just drop one byte. This allows synchronizing on report packets in the data stream. It's required for some egalax devices to work at all. Also remove the pointless 'flags' member of the device struct and set the version number to 0.6, plus some minor cleanups. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Daniel Ritz Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 6724f93463c332018e05f538a2ab3ce41eac0e8a Author: Micah Parrish Date: Thu Jan 17 12:01:04 2008 -0500 Input: mousedev - handle mice that use absolute coordinates Devices like the HP Integrated Remote Console Virtual Mouse, which are standard equipment on all Proliant and Integrity servers, produce absolute coordinates instead of relative coordinates. This is done to synchronize the position of the mouse cursor on the client desktop with the mouse cursor position on the server. Mousedev is not designed to pass those absolute events directly to X, but it can translate them into relative movements. It currently does this for tablet like devices and touchpads. This patch merely tells it to also include a device with ABS_X, ABS_Y, and mouse buttons in its list of devices to process input for. This patch enables the mouse pointer to move when using the remote console. Signed-off-by: Micah Parrish Signed-off-by: Dmitry Torokhov commit 6320bcebc0ee0bafc61f293bec2d0809171f6b1d Author: David S. Miller Date: Thu Jan 17 01:32:09 2008 -0800 [SPARC64]: Fix hypervisor TLB operation error reporting. 1) Trap level wasn't being passed down properly, we need to move it from %l4 into the correct outgoing arg register. 2) Although the TPC often provides the most direct clue, we have the caller PC so we should provide that as well. Signed-off-by: David S. Miller commit e415e6ea0cd36ece29c7b12232286b5ca097ac96 Author: David S. Miller Date: Tue Jan 15 22:50:08 2008 -0800 [NIU]: Fix 1G PHY link state handling. The code in link_status_1g() computes the active speed and duplex but does not update the link config state with those values. As a result the link speed is not reported correctly and the XIF is not reprogrammed properly on link up events. Signed-off-by: David S. Miller commit d2c7ddd6261eb885091cf6ddbcfae01f4216fb8e Author: David S. Miller Date: Tue Jan 15 22:43:24 2008 -0800 [NET]: Fix TX timeout regression in Intel drivers. This fixes a regression added by changeset 53e52c729cc169db82a6105fac7a166e10c2ec36 ("[NET]: Make ->poll() breakout consistent in Intel ethernet drivers.") As pointed out by Jesse Brandeburg, for three of the drivers edited above there is breakout logic in the *_clean_tx_irq() code to prevent running TX reclaim forever. If this occurs, we have to elide NAPI poll completion or else those TX events will never be serviced. Signed-off-by: David S. Miller Acked-by: Jesse Brandeburg commit 0a69631b2869093d7306e8f66cca8eb0a05aa919 Author: Ralph Campbell Date: Tue Jan 15 15:58:13 2008 -0800 IB/ipath: Fix receiving UD messages with immediate data This fixes a small bug in ipath_ud_rcv()'s handling of UD messages with immediate data. We need to test whether immediate data is present and update the header size accordingly *before* testing the packet size from the header against the actual received length. Otherwise the wrong header size will be used and all messages with immediate data will be dropped. This bug keeps MVAPICH-UD and HP MPI from working at all on ipath devices. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 456ef1553cb2b06729d64c1d1f0f2bda34e9b201 Author: Tejun Heo Date: Wed Jan 16 12:10:53 2008 +0900 sysfs: fix bugs in sysfs_rename/move_dir() sysfs_rename/move_dir() have the following bugs. - On dentry lookup failure, kfree() is called on ERR_PTR() value. - sysfs_move_dir() has an extra dput() on success path. Fix them. Signed-off-by: Tejun Heo Signed-off-by: Linus Torvalds commit e49452c67703d3647467d65275fb893589384fed Author: Tejun Heo Date: Wed Jan 16 12:06:14 2008 +0900 sysfs: make sysfs_lookup() return ERR_PTR(-ENOENT) on failed lookup sysfs tries to keep dcache a strict subset of sysfs_dirent tree by shooting down dentries when a node is removed, that is, no negative dentry for sysfs. However, the lookup function returned NULL and thus created negative dentries when the target node didn't exist. Make sysfs_lookup() return ERR_PTR(-ENOENT) on lookup failure. This fixes the NULL dereference bug in sysfs_get_dentry() discovered by bluetooth rfcomm device moving around. Signed-off-by: Tejun Heo Signed-off-by: Linus Torvalds commit d101f6496d51cbeb285f531dff059ce0ef28ffe3 Author: Ivo van Doorn Date: Fri Jan 11 20:53:07 2008 +0100 rt2x00: Fix ieee80211 payload alignment As Johannes Berg indicated, the NET_IP_ALIGN doesn't need to be used for ieee80211 frames. This means we can simplify the alignment calculation to just use the result of the header size modulus 4 as frame alignment. Furthermore we shouldn't use NET_IP_ALIGN in rt2x00usb because it could be 0 on some architectures and we absolutely need to have 2 bytes reserved for possible aligning. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a38db5b6219d88e2b48f07472c436b19b864f93c Author: Stefano Brivio Date: Sun Jan 13 18:30:14 2008 +0100 b43: fix use-after-free rfkill bug Fix rfkill code which caused a use-after-free bug. Signed-off-by: Stefano Brivio Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 8ff9d21ee2ac7eceeb6ba3da52c3472dcab435e4 Author: Stefano Brivio Date: Sat Jan 12 23:12:26 2008 +0100 ipw2200: fix typo in kerneldoc Fix a typo in kerneldoc for ipw2200. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 436c8854a05add153a9003b3aa19e54851ed902f Author: Marc Pignat Date: Fri Jan 11 16:12:28 2008 +0100 wireless/libertas support for 88w8385 sdio older revision Identifiaction of another revision of 88w8385 in sdio mode. Signed-off-by: Marc Pignat Acked-by: Pierre Ossman Signed-off-by: John W. Linville commit e52742deef04ed7babec0f5866c867dd15d449f0 Author: Randy Dunlap Date: Thu Jan 10 14:31:30 2008 -0800 hostap: section mismatch warning Fix section mismatch by changing variable name to match one of the whitelisted (allowable) names for pointing into init data: WARNING: vmlinux.o(.data+0xce618): Section mismatch: reference to .init.data:prism2_plx_id_table (between 'prism2_plx_drv_id' and 'dev_info') Signed-off-by: Randy Dunlap Acked-by: Sam Ravnborg Signed-off-by: John W. Linville commit fb1dac909d94ff807cd833d340c6827c3a957159 Author: Peter Zijlstra Date: Wed Jan 16 09:51:59 2008 +0100 lockdep: more hardirq annotations for notify_die() On Sat, 2007-12-29 at 18:06 +0100, Marcin Slusarz wrote: > Hi > Today I've got this (while i was upgrading my gentoo box): > > WARNING: at kernel/lockdep.c:2658 check_flags() > Pid: 21680, comm: conftest Not tainted 2.6.24-rc6 #63 > > Call Trace: > [] check_flags+0x1c7/0x1d0 > [] lock_acquire+0x57/0xc0 > [] __atomic_notifier_call_chain+0x60/0xd0 > [] atomic_notifier_call_chain+0x11/0x20 > [] notify_die+0x2e/0x30 > [] do_divide_error+0x5a/0xa0 > [] trace_hardirqs_on_thunk+0x35/0x3a > [] trace_hardirqs_on+0xd9/0x180 > [] trace_hardirqs_on_thunk+0x35/0x3a > [] error_exit+0x0/0xa9 > > possible reason: unannotated irqs-off. > irq event stamp: 4693 > hardirqs last enabled at (4693): [] trace_hardirqs_on_thunk+0x35/0x3a > hardirqs last disabled at (4692): [] trace_hardirqs_off_thunk+0x35/0x37 > softirqs last enabled at (3546): [] __do_softirq+0xb3/0xd0 > softirqs last disabled at (3521): [] call_softirq+0x1c/0x30 more early fixups for notify_die().. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit eb13ba873881abd5e15af784756a61af635e665e Author: Johannes Berg Date: Wed Jan 16 09:51:58 2008 +0100 lockdep: fix workqueue creation API lockdep interaction Dave Young reported warnings from lockdep that the workqueue API can sometimes try to register lockdep classes with the same key but different names. This is not permitted in lockdep. Unfortunately, I was unaware of that restriction when I wrote the code to debug workqueue problems with lockdep and used the workqueue name as the lockdep class name. This can obviously lead to the problem if the workqueue name is dynamic. This patch solves the problem by always using a constant name for the workqueue's lockdep class, namely either the constant name that was passed in or a string consisting of the variable name. Signed-off-by: Johannes Berg Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 5a26db5bd25cf4bf32ae9fa9f6136b6b6d5b45c5 Author: Nick Piggin Date: Wed Jan 16 09:51:58 2008 +0100 lockdep: fix internal double unlock during self-test Lockdep, during self-test (when it was simulating double unlocks) was sometimes unconditionally unlocking a spinlock when it had not been locked. This won't work for ticket locks. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit cbd9c883696da72b2b1f03f909dbacc04bbf8b58 Author: Linus Torvalds Date: Tue Jan 15 20:22:48 2008 -0800 Linux 2.6.24-rc8 commit 1a499150e4ec1299232e24389f648d059ce5617a Author: Luck, Tony Date: Mon Jan 14 09:59:24 2008 -0800 [IA64] Fix unaligned handler for floating point instructions with base update The compiler team did the hard work for this distilling a problem in large fortran application which showed up when applied to a 290MB input data set down to this instruction: ldfd f34=[r17],-8 Which they noticed incremented r17 by 0x10 rather than decrementing it by 8 when the value in r17 caused an unaligned data fault. I tracked it down to some bad instruction decoding in unaligned.c. The code assumes that the 'x' bit can determine whether the instruction is an "ldf" or "ldfp" ... which it is for opcode=6 (see table 4-29 on page 3:302 of the SDM). But for opcode=7 the 'x' bit is irrelevent, all variants are "ldf" instructions (see table 4-36 on page 3:306). Note also that interpreting the instruction as "ldfp" means that the "paired" floating point register (f35 in the example here) will also be corrupted. Signed-off-by: Tony Luck commit 121a09e590d54be840289c6feac840453aa999d9 Author: Alan Cox Date: Mon Jan 14 01:06:40 2008 -0800 libata: correct handling of TSS DVD Devices that misreport the validity bit for word 93 look like SATA. If they are on the blacklist then we must not test for SATA but assume 40 wire in the 40 wire case (The TSSCorp reports 80 wire on SATA it seems!) Signed-off-by: Alan Cox Cc: Tejun Heo Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0f7577434bcdf99456757b44d8911dc6e51c3178 Author: Andrew Morton Date: Thu Jan 10 14:33:09 2008 -0800 [libata] core checkpatch fix Cc: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ed722d3d3eb2e9ea87d9f8109c291337e79d584a Author: Andrew Morton Date: Thu Jan 10 14:33:08 2008 -0800 [libata] pata_bf54x: checkpatch fixes WARNING: line over 80 characters #36: FILE: drivers/ata/pata_bf54x.c:1512: + while (bfin_port_info[board_idx].udma_mask>0 && udma_fsclk[udma_mode] > fsclk) { ERROR: need spaces around that '>' (ctx:VxV) #36: FILE: drivers/ata/pata_bf54x.c:1512: + while (bfin_port_info[board_idx].udma_mask>0 && udma_fsclk[udma_mode] > fsclk) { ^ total: 1 errors, 1 warnings, 19 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Jeff Garzik Cc: Sonic Zhang Cc: Tejun Heo Cc: sonic zhang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b50e56d81e0df964e9b28001d792021b109cf4f1 Author: Al Viro Date: Sat Jan 12 14:16:14 2008 +0000 libata fixes for sparse-found problems In pata_legacy and pata_winbond we've got bugs - cpu_to_le16() instead of cpu_to_le32(). Fortunately, both affected suckers are VLB, thus l-e-only, so we might get away with that unless we hit it with slop == 3 (hadn't checked if playing with badly aligned sg could trigger that). Still buggy... Moreover, pata_legacy, pata_winbond and pata_qdi forgot to initialize pad on the write side of 32bit case in their ->data_xfer(). Hopefully the hardware does't care, but still, sending uninitialized data to it... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7d2284b09fd967b5cad6f03c6d4a5c064f37b855 Author: Mathieu Desnoyers Date: Tue Jan 15 12:42:02 2008 -0500 Fix Blackfin HARDWARE_PM support This patch restores the blackfin Hardware Performance Monitor Profiling support that was killed by the combining of instrumentation menus in commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9. Since there seems to be no good reason to behave differently from other architectures, it now automatically selects the hardware performance counters whenever the profiling is activated. mach-common/irqpanic.c: pm_overflow calls pm_overflow_handler which is in oprofile/op_model_bf533.c. I doubt that setting HARDWARE_PM as "m" will work at all, since the pm_overflow_handler should be in the core kernel image because it is called by irqpanic.c. Therefore, I change HARDWARE_PM from a tristate to a bool. The whole arch/$(ARCH)/oprofile/ is built depending on CONFIG_OPROFILE. Since part of the HARDWARE_PM support files sits in this directory, it makes sense to also depend on OPROFILE, not only PROFILING. Since OPROFILE already depends on PROFILING, it is correct to only depend on OPROFILE only. Thanks to Adrian Bunk for finding this bug and providing an initial patch. Signed-off-by: Mathieu Desnoyers CC: Adrian Bunk CC: Randy Dunlap CC: bryan.wu@analog.com Acked-by: Robin Getz Signed-off-by: Linus Torvalds commit 38ad9aebe70dc72df08851bbd1620d89329129ba Author: Linus Torvalds Date: Tue Jan 15 09:23:51 2008 -0800 Fix ARM profiling/instrumentation configuration Commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 ("Combine instrumentation menus in kernel/Kconfig.instrumentation") broke ARM profiling support, since ARM has some extra Kconfig options and doesn't just use the common OPROFILE/KPROBES config options. Rather than just revert the thing outright, or add ARM-specific knowledge to the generic Kconfig.instrumentation file (where the only and whole point was to be generic, not too architecture-specific), this just makes ARM not use the generic version, since it doesn't suit it. So create an arm-specific version of Kconfig.instrumentation instead, and use that. Acked-by: Ingo Molnar Acked-by: Russell King Signed-off-by: Linus Torvalds commit 8ee291f87c5dcebcf9c3a0ee4e021586897db364 Author: Bernhard Walle Date: Tue Jan 15 16:44:38 2008 +0100 x86: fix RTC_AIE with CONFIG_HPET_EMULATE_RTC In the current code, RTC_AIE doesn't work if the RTC relies on CONFIG_HPET_EMULATE_RTC because the code sets the RTC_AIE flag in hpet_set_rtc_irq_bit(). The interrupt handles does accidentally check for RTC_PIE and not RTC_AIE when comparing the time which was set in hpet_set_alarm_time(). I now verified on a test system here that without the patch applied, the attached test program fails on a system that has HPET with 2.6.24-rc7-default. That's not critical since I guess the problem has been there for several kernel releases, but as the fix is quite obvious. Configuration is CONFIG_RTC=y and CONFIG_HPET_EMULATE_RTC=y. Signed-off-by: Bernhard Walle Acked-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d43a3312c77eb6bbf71fbadefb1683f6d197bf91 Author: Mike Frysinger Date: Tue Jan 15 16:44:38 2008 +0100 x86: asm-x86/msr.h: pull in linux/types.h Since the msr.h header uses types like __u32, it should pull in linux/types.h. [ mingo@elte.hu: affects user-space that includes this header. We dont actually like user-space including raw kernel headers but it's a longstanding practice and it's easy for the kernel to be nice about this. ] Signed-off-by: Mike Frysinger Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 23be8c7ddf4fd31a14579a2109c89845f7a0fbb6 Author: Ingo Molnar Date: Tue Jan 15 16:44:37 2008 +0100 x86: fix boot crash on HIGHMEM4G && SPARSEMEM Denys Fedoryshchenko reported a bootup crash when he upgraded his system from 3GB to 4GB RAM: http://lkml.org/lkml/2008/1/7/9 the bug is due to HIGHMEM4G && SPARSEMEM kernels making pfn_to_page() to return an invalid pointer when the pfn is in a memory hole. The 256 MB PCI aperture at the end of RAM was not mapped by sparsemem, and hence the pfn was not valid. But set_highmem_pages_init() iterated this range without checking the pfn's validity first. this bug was probably present in the sparsemem code ever since sparsemem has been introduced in v2.6.13. It was masked due to HIGHMEM64G using larger memory regions in sparsemem_32.h: #ifdef CONFIG_X86_PAE #define SECTION_SIZE_BITS 30 #define MAX_PHYSADDR_BITS 36 #define MAX_PHYSMEM_BITS 36 #else #define SECTION_SIZE_BITS 26 #define MAX_PHYSADDR_BITS 32 #define MAX_PHYSMEM_BITS 32 #endif which creates 1GB sparsemem regions instead of 64MB sparsemem regions. So in practice we only ever created true sparsemem holes on x86 with HIGHMEM4G - but that was rarely used by distros. ( btw., we could probably save 2MB of mem_map[]s on X86_PAE if we reduced the sparsemem region size to 256 MB. ) Signed-off-by: Ingo Molnar Acked-by: Thomas Gleixner commit dfbe0d3b6be52596b5694b1bb75b19562e769021 Author: Paul Mackerras Date: Tue Jan 15 17:29:33 2008 +1100 [POWERPC] Fix boot failure on POWER6 Commit 473980a99316c0e788bca50996375a2815124ce1 added a call to clear the SLB shadow buffer before registering it. Unfortunately this means that we clear out the entries that slb_initialize has previously set in there. On POWER6, the hypervisor uses the SLB shadow buffer when doing partition switches, and that means that after the next partition switch, each non-boot CPU has no SLB entries to map the kernel text and data, which causes it to crash. This fixes it by reverting most of 473980a9 and instead clearing the 3rd entry explicitly in slb_initialize. This fixes the problem that 473980a9 was trying to solve, but without breaking POWER6. Signed-off-by: Paul Mackerras commit d1154be3004e9db2d61533e16bb2cf85dd27a8cb Author: Alexey Starikovskiy Date: Tue Jan 15 00:47:47 2008 -0500 ACPI: processor: Fix null pointer dereference in throttling http://bugzilla.kernel.org/show_bug.cgi?id=9747 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit c23f72cae9523d29ff94eec8f30ccbdaf234b20e Author: Linus Torvalds Date: Mon Jan 14 21:21:29 2008 -0800 Revert "writeback: introduce writeback_control.more_io to indicate more io" This reverts commit 2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b, as requested by Fengguang Wu. It's not quite fully baked yet, and while there are patches around to fix the problems it caused, they should get more testing. Says Fengguang: "I'll resend them both for -mm later on, in a more complete patchset". See http://bugzilla.kernel.org/show_bug.cgi?id=9738 for some of this discussion. Requested-by: Fengguang Wu Cc: Andrew Morton Cc: Peter Zijlstra Signed-off-by: Linus Torvalds commit d262c32a4bcc3e5fda0325a64e53c25fe1e999d7 Author: Benjamin Herrenschmidt Date: Tue Jan 8 10:34:22 2008 +1100 [POWERPC] Workaround for iommu page alignment Commit 5d2efba64b231a1733c4048d1708d77e07f26426 changed our iommu code so that it always uses an iommu page size of 4kB. That means with our current code, drivers may do a dma_map_sg() of a 64kB page and obtain a dma_addr_t that is only 4k aligned. This works fine in most cases except for some infiniband HW it seems, where they tell the HW about the page size and it ignores the low bits of the DMA address. This works around it by making our IOMMU code enforce a PAGE_SIZE alignment for mappings of objects that are page aligned in the first place and whose size is larger or equal to a page. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d8cf5389bd9d1f0ac9fea51796c274ba64b83d80 Author: Tejun Heo Date: Tue Jan 15 08:46:59 2008 +0900 libata: relocate sdev->manage_start_stop configuration After 9b8e8de7, manage_start_stop configuration depends on valid ATA device. Move it into ata_scsi_dev_config(). This was detected by the coverity checker. Signed-off-by: Tejun Heo Cc: Adrian Bunk Signed-off-by: Jeff Garzik commit c2e14f11120bbef0c883e795da8180b58f3cddae Author: Tejun Heo Date: Sun Jan 13 14:04:16 2008 +0900 sata_sil24: freeze on non-dev errors reported via CERR CERR reports errors detected during executing a command. This doesn't mean the error is tied to the command and can be recovered by just issuing it again. Many of the errors are fatal port-wide connditions including HSM violation, host bus error and ATA bus error and require freezing and port reset. The freezing part wasn't implemented previously. This used to be okay because port resets were scheduled anyway and EH eventually resets and recovers the port. With PMP support added, this is no longer true. The error condition and recover actions are attributed to the fan-out port and the host port condition isn't properly recovered leading to EH failures. This patch makes CERR errors which require resets to freeze the port. This will force host port reset and proper recovery. Signed-off-by: Tejun Heo Cc: Andrew Ryder Signed-off-by: Jeff Garzik commit 7293fa8fb74f17077a2ac7ccd5b58ae3225317d0 Author: Tejun Heo Date: Sun Jan 13 13:49:22 2008 +0900 sata_sil24: fix stupid typo Fix stupid typo. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 25f98131a292f4c81e4619bdf48f00a991386f73 Author: Tejun Heo Date: Mon Jan 7 19:38:53 2008 +0900 ata_piix: ignore ATA_DMA_ERR on vmware ich4 VMware ich4 emulation incorrectly sets DMA_ERR on TF error. Ignore it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2e4f95822cc17cb7095d50babe2d2fc4c043fa25 Author: Ralf Baechle Date: Mon Jan 14 14:46:31 2008 +0000 [MIPS] Cacheops.h: Fix typo. Signed-off-by: Ralf Baechle commit c43756da94863395d5ee088659676029b3ae7191 Author: Thomas Bogendoerfer Date: Sat Jan 12 00:25:17 2008 +0100 [MIPS] Cobalt: Qube1 has no serial port so don't use it Because Qube1 doesn't have a serial chip waiting for transmit fifo empty takes forever, which isn't a good idea. No prom_putchar/early console for Qube1 fixes this. Signed-off-by: Thomas Bogendoerfer Acked-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f6c0f32ee8d21e800097fc35ba8ab2b5a3b9bdfa Author: Thomas Bogendoerfer Date: Sat Jan 12 00:25:14 2008 +0100 [MIPS] Cobalt: Fix ethernet interrupts for RaQ1 RAQ1 uses the same interrupt routing as Qube2. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 2f02c15a5d963007bd721d76f644c9491f6fec06 Author: Aurelien Jarno Date: Tue Dec 11 11:30:34 2007 +0100 [MIPS] Kconfig fixes for BCM47XX platform The patch below fixes two problems for Kconfig on the BCM47xx platform: - arch/mips/bcm47xx/gpio.c uses ssb_extif_* functions. Selecting SSB_DRIVER_EXTIF makes sure those functions are available. - arch/mips/pci/pci.c needs, when enabled, platform specific functions, which are defined when SSB_PCICORE_HOSTMODE is enabled. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit a98fdcef941e107eeabae622d85a1f476f25a160 Author: Oleg Nesterov Date: Tue Jan 15 00:02:37 2008 +0300 fix the "remove task_ppid_nr_ns" commit Commit 84427eaef1fb91704c7112bdb598c810003b99f3 (remove task_ppid_nr_ns) moved the task_tgid_nr_ns(task->real_parent) outside of lock_task_sighand(). This is wrong, ->real_parent could be freed/reused. Both ->parent/real_parent point to nothing after __exit_signal() because we remove the child from ->children list, and thus the child can't be reparented when its parent exits. rcu_read_lock() protects ->parent/real_parent, but _only_ if we know it was valid before we take rcu lock. Revert this part of the patch. Signed-off-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit 5cd6e675f862568ad73c061665ee5080cfd952c5 Author: Jean Delvare Date: Mon Jan 14 21:53:31 2008 +0100 i2c-sibyte: Fix an error path If the registration of the second I2C channel fails, we really want to unregister the first one before we return with an error. While we're here, fix the printk right above so that it displays the real driver name. Signed-off-by: Jean Delvare Cc: Ralf Baechle commit f9dd0194ff23d612e463be764d73da7825da4aa1 Author: Jean Delvare Date: Mon Jan 14 21:53:31 2008 +0100 i2c: Driver IDs are optional Document the fact that I2C driver IDs are optional. Signed-off-by: Jean Delvare commit 96acafe05fad2c9429ca2c39af47efc5db2d8042 Author: Joe Perches Date: Mon Jan 14 21:53:30 2008 +0100 i2c: Spelling fixes [JD: One more fix in i2c-dev.] Signed-off-by: Joe Perches Signed-off-by: Jean Delvare commit 3e39752d5367f9087e058abe768708165e1ec373 Author: Tony Lindgren Date: Mon Jan 14 21:53:30 2008 +0100 i2c-omap: Fix NULL pointer dereferencing This patch fixes bug #9581 reported by Marcio Buss. If kzalloc fails, omap_i2c_write_reg() tries to reset an unallocated I2C controller. Cc: Marcio Buss Signed-off-by: Tony Lindgren Signed-off-by: Jean Delvare commit ea8e1652c5f4202fa90cfae49f2ca8485423d263 Author: Adrian Bunk Date: Mon Jan 14 00:55:25 2008 -0800 OSS msnd: fix array overflows Fix array overflows in the OSS msnd driver spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbde25b1257c169c119601590d011b9b3aaf77f8 Author: Jesper Nilsson Date: Mon Jan 14 00:55:24 2008 -0800 CRIS v10: driver for ds1302 needs to include cris-specific i2c.h This fixes compilation error where i2c_init wasn't defined. Also, remove the CVS log and version tags, they are no longer useful. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27b526a09086d563d61cf0e0fdd5c8e3f3c295d4 Author: Randy Dunlap Date: Mon Jan 14 00:55:24 2008 -0800 uvesafb: fix section mismatch warnings Mark uvesafb_init_mtrr() as __devinit since its caller is __devinit and since it accesses __devinitdata. WARNING: vmlinux.o(.text+0x4df80e): Section mismatch: reference to .init.data: (between 'uvesafb_init_mtrr' and 'uvesafb_show_vbe_ver') Variable 'blank' cannot be __devinitdata since it is referenced in an fb_ops method that could be called at any time. WARNING: vmlinux.o(.text+0x4dfc1e): Section mismatch: reference to .init.data:blank (between 'param_set_scroll' and 'vesa_setpalette') WARNING: vmlinux.o(.text+0x4dfc24): Section mismatch: reference to .init.data:blank (between 'param_set_scroll' and 'vesa_setpalette') Signed-off-by: Randy Dunlap Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2d159dbd51a99abdd4ae02fecc68cd1e0b0558e Author: Jesper Nilsson Date: Mon Jan 14 00:55:23 2008 -0800 CRIS v10: kernel/time.c needs to include linux/vmstat.h to compile This fixes compile error when nr_free_pages() from linux/swap.h expands to global_page_state(NR_FREE_PAGES), but linux/vmstat.h isn't included to declare global_page_state(). Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4858d4dab4580ec8b1fb7576f91522b6962502c Author: Jesper Nilsson Date: Mon Jan 14 00:55:22 2008 -0800 CRIS v10: correct do_signal to fix oops and clean up signal handling in general This fixes a kernel panic on boot due to do_signal not being compatible with it's callers. - do_signal now returns void, and does not have the previous signal set as a parameter. - Remove sys_rt_sigsuspend, we can use the common one instead. - Change sys_sigsuspend to be more like x86, don't call do_signal here. - handle_signal, setup_frame and setup_rt_frame now return -EFAULT if we've delivered a segfault, which is used by callers to perform necessary cleanup. - Break long lines, correct whitespace and formatting errors. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ea0345be38555c6a1a04ed7e9c015a42e76bd0e Author: Jesper Nilsson Date: Mon Jan 14 00:55:22 2008 -0800 CRIS: define __ARCH_WANT_SYS_RT_SIGSUSPEND in unistd.h for CRIS This allows us to use the commong sys_rt_sigsuspend instead of having our own. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0466441492dc17d0749ef0cce9831fc7e4a7a5d Author: Krzysztof Helt Date: Mon Jan 14 00:55:20 2008 -0800 s3c2410fb: fix incorrect argument type in resume function Fix wrong pointer type passed into the s3c2410fb_init_registers() function. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68842c9b94560e647e8e7cc75cbb3dbe59f6fcb5 Author: Ken Chen Date: Mon Jan 14 00:55:19 2008 -0800 hugetlbfs: fix quota leak In the error path of both shared and private hugetlb page allocation, the file system quota is never undone, leading to fs quota leak. Fix them up. [akpm@linux-foundation.org: cleanup, micro-optimise] Signed-off-by: Ken Chen Acked-by: Adam Litke Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 747d016e7e25e216b31022fe2b012508d99fb682 Author: Randy Dunlap Date: Mon Jan 14 00:55:18 2008 -0800 advansys: fix section mismatch warning Fix section mismatch warning: WARNING: vmlinux.o(.exit.text+0x152a): Section mismatch: reference to .init.data:_asc_def_iop_base (between 'advansys_isa_remove' and 'advansys_exit') Signed-off-by: Randy Dunlap Cc: Matthew Wilcox Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d1fd970e4b2e84a624b3274669fa642fcd19c98 Author: Randy Dunlap Date: Mon Jan 14 00:55:17 2008 -0800 cciss: section mismatch Mark cciss_pci_init() as __devinit, to fix section mismatch warning. WARNING: vmlinux.o(.text+0x601fc9): Section mismatch: reference to .init.text: (between 'cciss_pci_init' and 'cciss_getgeometry') Signed-off-by: Randy Dunlap Cc: Acked-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c993f76698bcee594f081a295f1b8f48f58062a Author: Adrian Bunk Date: Mon Jan 14 00:55:16 2008 -0800 scsi/qla2xxx/qla_os.c section fix WARNING: vmlinux.o(.text+0x2a4462): Section mismatch: reference to .exit.text:qla2x00_remove_one (between 'qla2xxx_pci_error_detected' and 'qla2x00_stop_timer') qla2x00_remove_one() mustn't be __devexit since it's called from qla2xxx_pci_error_detected(). Signed-off-by: Adrian Bunk Acked-by: Seokmann Ju Acked-by: Andrew Vasquez Cc: Randy Dunlap Cc: James Bottomley Acked-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f31c05ea0f5690d002ae30710fc0fbe0f0c201f Author: Andy Wingo Date: Mon Jan 14 00:55:15 2008 -0800 macintosh: fix fabrication of caplock key events If the user has turned on the "restore_caplock_events" parameter, the code mangles the capslock events correctly, then erroneously ignores those events. Fix logic to allow correct fallthrough. Signed-off-by: Andy Wingo Acked-by: Andrew McNabb Cc: Dmitry Torokhov Cc: Benjamin Herrenschmidt cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96990a4ae979df9e235d01097d6175759331e88c Author: Christoph Lameter Date: Mon Jan 14 00:55:14 2008 -0800 quicklists: Only consider memory that can be used with GFP_KERNEL Quicklists calculates the size of the quicklists based on the number of free pages. This must be the number of free pages that can be allocated with GFP_KERNEL. node_page_state() includes the pages in ZONE_HIGHMEM and ZONE_MOVABLE which may lead the quicklists to become too large causing OOM. Signed-off-by: Christoph Lameter Tested-by: Dhaval Giani Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f4c79ce79d1552014af3c115d03e13092443905 Author: Nicolas Ferre Date: Mon Jan 14 00:55:13 2008 -0800 MAINTAINERS: email update and add missing entry - MAINTAINERS email update - add atmel_lcdfb entry Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2490c681ea3d7f5ac3fb876f14567bf1a9e0aa87 Author: David Smith Date: Mon Jan 14 00:55:12 2008 -0800 TPM: fix suspend and resume failure The savestate command structure was being overwritten by the result of running the TPM_SaveState command after one run, so make it a local variable to the function instead of a global variable that gets overwritten. Acked-by: Pavel Machek Cc: Kent Yoder Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40d6a146629b98d8e322b6f9332b182c7cbff3df Author: Steven Rostedt Date: Mon Jan 14 00:55:10 2008 -0800 Kick CPUS that might be sleeping in cpus_idle_wait Sometimes cpu_idle_wait gets stuck because it might miss CPUS that are already in idle, have no tasks waiting to run and have no interrupts going to them. This is common on bootup when switching cpu idle governors. This patch gives those CPUS that don't check in an IPI kick. Background: ----------- I notice this while developing the mcount patches, that every once in a while the system would hang. Looking deeper, the hang was always at boot up when registering init_menu of the cpu_idle menu governor. Talking with Thomas Gliexner, we discovered that one of the CPUS had no timer events scheduled for it and it was in idle (running with NO_HZ). So the CPU would not set the cpu_idle_state bit. Hitting sysrq-t a few times would eventually route the interrupt to the stuck CPU and the system would continue. Note, I would have used the PDA isidle but that is set after the cpu_idle_state bit is cleared, and would leave a window open where we may miss being kicked. hmm, looking closer at this, we still have a small race window between clearing the cpu_idle_state and disabling interrupts (hence the RFC). CPU0: CPU 1: --------- --------- cpu_idle_wait(): cpu_idle(): | __cpu_cpu_var(is_idle) = 1; | if (__get_cpu_var(cpu_idle_state)) /* == 0 */ per_cpu(cpu_idle_state, 1) = 1; | if (per_cpu(is_idle, 1)) /* == 1 */ | smp_call_function(1) | | receives ipi and runs do_nothing. wait on map == empty idle(); /* waits forever */ So really we need interrupts off for most of this then. One might think that we could simply clear the cpu_idle_state from do_nothing, but I'm assuming that cpu_idle governors can be removed, and this might cause a race that a governor might be used after the module was removed. Venki said: I think your RFC patch is the right solution here. As I see it, there is no race with your RFC patch. As long as you call a dummy smp_call_function on all CPUs, we should be OK. We can get rid of cpu_idle_state and the current wait forever logic altogether with dummy smp_call_function. And so there wont be any wait forever scenario. The whole point of cpu_idle_wait() is to make all CPUs come out of idle loop atleast once. The caller will use cpu_idle_wait something like this. // Want to change idle handler - Switch global idle handler to always present default_idle - call cpu_idle_wait so that all cpus come out of idle for an instant and stop using old idle pointer and start using default idle - Change the idle handler to a new handler - optional cpu_idle_wait if you want all cpus to start using the new handler immediately. Maybe the below 1s patch is safe bet for .24. But for .25, I would say we just replace all complicated logic by simple dummy smp_call_function and remove cpu_idle_state altogether. Signed-off-by: Steven Rostedt Cc: Venkatesh Pallipadi Acked-by: Ingo Molnar Acked-by: Thomas Gleixner Cc: Andi Kleen Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2a6c74d34c3ae9de6825767a30ab17f709b59ce Author: Evgeniy Polyakov Date: Mon Jan 14 00:55:08 2008 -0800 w1: decrement slave counter only in ->release() callback Decrement the slave counter only in ->release() callback instead of both in ->release() and w1 control. Patch is based on debug work and preliminary patch made by Henri Laakso. Henri noticed in debug that this counter becomes negative after w1 slave device is physically removed. Signed-off-by: Evgeniy Polyakov Cc: Henri Laakso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb2a52052cebe4716e83b9d2e53682ba00f67de6 Author: Rusty Russell Date: Mon Jan 14 00:55:03 2008 -0800 modules: de-mutex more symbol lookup paths in the module code Kyle McMartin reports sysrq_timer_list_show() can hit the module mutex from hard interrupt context. These paths don't need to though, since we long ago changed all the module list manipulation to occur via stop_machine(). Disabling preemption is enough. Signed-off-by: Rusty Russell Cc: Ingo Molnar Cc: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b310fca30ac9851f79337ca72b1cf6a0f58064a Author: Eric Dumazet Date: Sun Jan 13 22:32:49 2008 -0800 [TOKENRING]: rif_timer not initialized properly Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4ff891eb3d3dd6854f11d616c6397a0e403f4e88 Author: Kristoffer Ericson Date: Mon Jan 14 00:54:23 2008 -0500 Input: improve Kconfig help entries for HP Jornada devices Signed-off-by: Kristoffer Ericson Signed-off-by: Dmitry Torokhov commit ba67a39efde8312e386c6f603054f8945433d91f Author: NeilBrown Date: Fri Jan 11 17:06:52 2008 -0500 knfsd: Allow NFSv2/3 WRITE calls to succeed when krb5i etc is used. When RPCSEC/GSS and krb5i is used, requests are padded, typically to a multiple of 8 bytes. This can make the request look slightly longer than it really is. As of f34b95689d2ce001c "The NFSv2/NFSv3 server does not handle zero length WRITE request correctly", the xdr decode routines for NFSv2 and NFSv3 reject requests that aren't the right length, so krb5i (for example) WRITE requests can get lost. This patch relaxes the appropriate test and enhances the related comment. Signed-off-by: Neil Brown Signed-off-by: J. Bruce Fields Cc: Peter Staubach Signed-off-by: Linus Torvalds