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 commit 84427eaef1fb91704c7112bdb598c810003b99f3 Author: Roland McGrath Date: Thu Jan 10 12:52:04 2008 -0800 remove task_ppid_nr_ns task_ppid_nr_ns is called in three places. One of these should never have called it. In the other two, using it broke the existing semantics. This was presumably accidental. If the function had not been there, it would have been much more obvious to the eye that those patches were changing the behavior. We don't need this function. In task_state, the pid of the ptracer is not the ppid of the ptracer. In do_task_stat, ppid is the tgid of the real_parent, not its pid. I also moved the call outside of lock_task_sighand, since it doesn't need it. In sys_getppid, ppid is the tgid of the real_parent, not its pid. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit bf4a7972d638741bbb0672653c1fa10e4480c385 Author: David S. Miller Date: Thu Jan 10 21:10:54 2008 -0800 [SPARC64]: Fix build with SPARSEMEM_VMEMMAP disabled. Signed-off-by: David S. Miller commit 000775c50a19fa899121115f57f355c7f26e4346 Author: David S. Miller Date: Wed Jan 9 05:09:06 2008 -0800 [SPARC]: Make gettimeofday() monotonic again. When we switched away from the optimized C version things stopped being monotonic. The problem is that if we run this with interrupts disabled, we can see the interrupt pending because the counter reached the limit value. When this happens the counter has bit 31 set, and the low bits start counting again from zero. Reported by Martin Habets. Signed-off-by: David S. Miller commit 66a21736defda339cd93a0e70c1120ab813640f6 Author: Len Brown Date: Sat Jan 12 17:56:36 2008 -0500 pnpacpi: print resource shortage message only once pnpacpi: exceeded the max number of IO resources: 40 While this message is a real error and should thus remain KERN_ERR (even a new dmesg line is seen as a regression by some, since it was not printed in 2.6.23...) it is certainly impolite to print this warning 50 times should you happen to have the oddball system with 90 io resources under a device... So print the warning just once. In 2.6.25 we'll get rid of the limits altogether and these warnings will vanish with them. http://bugzilla.kernel.org/show_bug.cgi?id=9535 Signed-off-by: Len Brown commit cb8da8a38015ded1df319a39b7298e69f89036ac Author: Jens Osterkamp Date: Fri Jan 11 13:44:35 2008 +0100 spidernet MAINTAINERship update Acked-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 84cd2dfb04d23a961c5f537baa243fa54d0987ac Author: Stephen Hemminger Date: Thu Jan 10 16:14:13 2008 -0800 sky2: remove check for PCI wakeup setting from BIOS The driver checks status of PCI power management to mark default setting of Wake On Lan. On some systems this works, but often it reports a that WOL is disabled when it isn't. This patch gets rid of that check and just reports the wake on lan status based on the hardware capablity. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 86c6887e6fea0b395dc939174ac80ad0ae88288c Author: Stephen Hemminger Date: Thu Jan 10 16:14:12 2008 -0800 sky2: large memory workaround. This patch might fix problems with 4G or more of memory. It stops the driver from doing a small optimization for Tx and Rx, and instead always sets the high-page on tx/rx descriptors. Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=9725 Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 974a9f0b47da74e28f68b9c8645c3786aa5ace1a Author: Linus Torvalds Date: Sat Jan 12 14:06:34 2008 -0800 Use access mode instead of open flags to determine needed permissions Way back when (in commit 834f2a4a1554dc5b2598038b3fe8703defcbe467, aka "VFS: Allow the filesystem to return a full file pointer on open intent" to be exact), Trond changed the open logic to keep track of the original flags to a file open, in order to pass down the the intent of a dentry lookup to the low-level filesystem. However, when doing that reorganization, it changed the meaning of namei_flags, and thus inadvertently changed the test of access mode for directories (and RO filesystem) to use the wrong flag. So fix those test back to use access mode ("acc_mode") rather than the open flag ("flag"). Issue noticed by Bill Roman at Datalight. Reported-and-tested-by: Bill Roman Acked-by: Trond Myklebust Acked-by: Al Viro Cc: Christoph Hellwig Cc: Andrew Morton Signed-off-by: Linus Torvalds commit dfd9a421bed2325059fae04f810769b648fa1302 Author: Anton Vorontsov Date: Tue Jan 8 22:05:55 2008 +0300 fs_enet: check for phydev existence in the ethtool handlers Otherwise oops will happen if ethernet device has not been opened: Unable to handle kernel paging request for data at address 0x0000014c Faulting instruction address: 0xc016f7f0 Oops: Kernel access of bad area, sig: 11 [#1] MPC85xx NIP: c016f7f0 LR: c01722a0 CTR: 00000000 REGS: c79ddc70 TRAP: 0300 Not tainted (2.6.24-rc3-g820a386b) MSR: 00029000 CR: 20004428 XER: 20000000 DEAR: 0000014c, ESR: 00000000 TASK = c789f5e0[999] 'snmpd' THREAD: c79dc000 GPR00: c01aceb8 c79ddd20 c789f5e0 00000000 c79ddd3c 00000000 c79ddd64 00000000 GPR08: 00000000 c7845b60 c79dde3c c01ace80 20004422 200249fc 000002a0 100da728 GPR16: 100c0000 00000000 00000000 00000000 20022078 00000009 200220e0 bfc85558 GPR24: c79ddd3c 00000000 00000000 c02e0e70 c022fc64 ffffffff c7845800 bfc85498 NIP [c016f7f0] phy_ethtool_gset+0x0/0x4c LR [c01722a0] fs_get_settings+0x18/0x28 Call Trace: [c79ddd20] [c79dde38] 0xc79dde38 (unreliable) [c79ddd30] [c01aceb8] dev_ethtool+0x294/0x11ec [c79dde30] [c01aaa44] dev_ioctl+0x454/0x6a8 [c79ddeb0] [c019b9d4] sock_ioctl+0x84/0x230 [c79dded0] [c007ded8] do_ioctl+0x34/0x8c [c79ddee0] [c007dfbc] vfs_ioctl+0x8c/0x41c [c79ddf10] [c007e38c] sys_ioctl+0x40/0x74 [c79ddf40] [c000d4c0] ret_from_syscall+0x0/0x3c Instruction dump: 81630000 800b0030 2f800000 419e0010 7c0803a6 4e800021 7c691b78 80010014 7d234b78 38210010 7c0803a6 4e800020 <8003014c> 7c6b1b78 38600000 90040004 Signed-off-by: Anton Vorontsov Acked-by: Vitaly Bordug Signed-off-by: Jeff Garzik commit 94d433630a1e63d383d592d488f60581e0d98190 Author: Russ Dill Date: Wed Jan 9 21:32:07 2008 -0700 [usb netdev] asix: fix regression 51bf2976b55d07f9daae9697a0a3ac9f58abcedc caused a regression in the asix usbnet driver. usb_control_msg returns the number of bytes read on success, not 0. Tested with NETGEAR FA120. Signed-off-by: Russ Dill Signed-off-by: Jeff Garzik commit cadf1855e9f97d3f6857a168e1e7798fe27530a1 Author: Francois Romieu Date: Thu Jan 3 23:38:38 2008 +0100 r8169: fix missing loop variable increment Spotted-by: Citizen Lee Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit ab7a9831763f0c10ad137352431eca9a6d97f76e Author: Stephen Hemminger Date: Tue Jan 1 09:27:58 2008 -0800 ip1000: menu location change Move the ip1000 driver into the expected place for gigabit cards in the configuration menu structure. It should be under the gigabit cards, not at the top level. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 2d2c54e3d058a9be78c04f429fa5e090eb454daa Author: Emil Medve Date: Thu Dec 27 08:17:22 2007 -0600 Fixed a small typo in the loopback driver This is probably a result of the changes from commit 854d836 - [NET]: Dynamically allocate the loopback device, part 2 Signed-off-by: Emil Medve Signed-off-by: Jeff Garzik commit 9ca20ebc263260acfea35a1a4910203b7ce6bd5a Author: Krzysztof Helt Date: Thu Dec 27 09:54:04 2007 +0100 3c509: PnP resource management fix In order to release PnP resources a card type must be set to EL3_PNP. Previously, it was never set hence the PnP resources were not released and device was left in incorrect state. Signed-off-by: Krzysztof Helt Signed-off-by: Jeff Garzik commit 5dc162682d4901025a02b7045f3112d569b4bab9 Author: Dhananjay Phadke Date: Mon Dec 31 10:08:57 2007 -0800 netxen: fix byte-swapping in tx and rx Here's the reworked patch. This cleans up some unnecessary byte-swapping while setting up tx and interpreting rx desc. The 64 bit rx status data should be converted to host endian format only once and the macros just need to extract bitfields. This saves a spate of interrupts on pseries blades caused by buggy (non) processing rx status ring. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 53a01e00f8c78bc5875e09aca7749ea54bb09798 Author: dhananjay@netxen.com Date: Wed Dec 26 10:23:58 2007 -0800 netxen: optimize tx handling netxen driver allows limited number of threads simultaneously posting skb's in tx ring. If transmit slot is unavailable, driver calls schedule() or loops in xmit_frame(). This patch returns TX_BUSY and lets the stack reschedule the packet if transmit slot is unavailable. Also removes unnecessary check for tx timeout in the driver itself, the network stack does that anyway. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 72b0a7a8a40a50cf2eab42fd6a56e04b05090434 Author: dhananjay@netxen.com Date: Wed Dec 26 10:23:56 2007 -0800 netxen: stop second phy correctly This patch fixes bug that doesn't quiesce second port when interface is brought down, which could lead to unwarranted interrupt during rmmod / ifdown. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 001a731ecfc2e5fdbb5022ad3708705d9edf801c Author: dhananjay@netxen.com Date: Wed Dec 26 10:23:54 2007 -0800 netxen: update driver version Bumping up driver version to 3.4.18, several fixes have gone in since version 3.4.2. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit d230ce30f4eb2cec42cb501db586ce45815a8167 Author: dhananjay@netxen.com Date: Wed Dec 26 10:23:53 2007 -0800 netxen: update MAINTAINERS Changing MAINTAINERS for netxen nic driver. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 76285ee03737ba8105db0621aa3e49222f0644f2 Author: Al Viro Date: Sun Dec 23 20:01:04 2007 +0000 endianness noise in tulip_core Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 561b4fbf181926ab76e18a857593476ee76408f8 Author: Al Viro Date: Sun Dec 23 20:01:04 2007 +0000 de4x5 fixes * (trivial) endianness annotations * don't bother with del_timer() from the inside of timer handler itself * disable_ast() really ought to do del_timer_sync(), not del_timer() * clean the timer handling in general. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 6f35d5d51619a1aa463180154c2d3c18a63e3950 Author: Al Viro Date: Sun Dec 23 20:01:04 2007 +0000 xircom_cb endianness fixes * descriptors inside the rx and tx rings are l-e * don't cpu_to_le32() the argument of outl() Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2948d2ebbb98747b912ac6d0c864b4d02be8a6f5 Author: Patrick McHardy Date: Fri Jan 11 18:02:18 2008 -0800 [NETFILTER]: bridge: fix double POST_ROUTING invocation The bridge code incorrectly causes two POST_ROUTING hook invocations for DNATed packets that end up on the same bridge device. This happens because packets with a changed destination address are passed to dst_output() to make them go through the neighbour output function again to build a new destination MAC address, before they will continue through the IP hooks simulated by bridge netfilter. The resulting hook order is: PREROUTING (bridge netfilter) POSTROUTING (dst_output -> ip_output) FORWARD (bridge netfilter) POSTROUTING (bridge netfilter) The deferred hooks used to abort the first POST_ROUTING invocation, but since the only thing bridge netfilter actually really wants is a new MAC address, we can avoid going through the IP stack completely by simply calling the neighbour output function directly. Tested, reported and lots of data provided by: Damien Thebault Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8dab63761219d7bc6a7d7d3b5f0fca76af5533a5 Author: Jeremy Kerr Date: Fri Jan 11 14:28:04 2008 +0100 ps3fb: fix deadlock on kexec() Since the introduction of the acquire_console_sem calls in 0333d83509c7d8496c8965b5ba9bc0c98e83c259, kexecing can cause the kernel to deadlock: ps3fb_shutdown() -> unregister_framebuffer() -> fb_notifier_call_chain(FB_EVENT_FB_UNBIND) -> fbcon_fb_unbind() -> unbind_con_driver() -> bind_con_driver() [ acquires console_sem ] -> fbcon_deinit() -> fbops->fb_release(newinfo, 0) -> ps3fb_release() -> ps3fb_sync() [ acquires console_sem ] This change avoids the deadlock by moving the acquire_console_sem() out of ps3fb_sync(), and puts it into the two other callsites, leaving ps3fb_release() to call ps3fb_sync() without the console semaphore. [Geert] - Corrected call sequence above - ps3fb_release() may be called with and without console_sem held. This is an inconsistency that should be fixed at the fb level, but for now, try to acquire console_sem in ps3fb_release(). I think it's safer to let ps3fb_release() try to acquire console_sem and not refresh the screen if it fails, than to call ps3fb_sync() without holding console_sem, as ps3fb_par may be modified at the same time, causing crashes or lockups. Besides, ps3fb_release() only calls ps3fb_sync() to refresh the screen when display flipping is disabled, which is an uncommon case (except during shutdown/kexec). Signed-off-by: Jeremy Kerr Signed-off-by: Geert Uytterhoeven Cc: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit ba21611c9c0031ca8388cae5e43b38c29c8b595d Author: Jeremy Kerr Date: Fri Jan 11 14:27:10 2008 +0100 ps3fb: prevent use after free of fb_info In ps3fb_shutdown, freeing the framebuffer will cause fb_info (in dev->core.driver_data) to be free()ed, which we potentially access from the ps3fbd kthread. This change frees the framebuffer after stopping the ps3fbd kthread. Signed-off-by: Jeremy Kerr Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 646fd12784d506180353005f40f90bcf08c84a3e Author: Massimo Cirillo Date: Fri Jan 11 10:24:11 2008 +0000 cache invalidation error for buffered write The bug causes corruptions of data read from flash. The original code performs cache invalidation from "adr" to "adr + len" in do_write_buffer(). Since len and adr could be updated in the code before invalidation - it causes improper setting of cache invalidation regions. Signed-off-by: Massimo Cirillo Signed-off-by: Giuseppe D'Eliseo Acked-by: Nicolas Pitre Acked-by: Jörn Engel Signed-off-by: David Woohouse Signed-off-by: Linus Torvalds commit 7c48c56e9b5a51263269dd419cc32531db141340 Author: Jeff Garzik Date: Thu Jan 10 23:59:18 2008 -0500 IDE: terminate ACPI DMI list Fix oops reported by Trond. Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 9f9adecd2d0e4f88fa0e8cb06c6ec207748df70a Author: Len Brown Date: Thu Dec 13 17:38:03 2007 -0500 PM: ACPI and APM must not be enabled at the same time ACPI and APM used "pm_active" to guarantee that they would not be simultaneously active. But pm_active was recently moved under CONFIG_PM_LEGACY, so that without CONFIG_PM_LEGACY, pm_active became a NOP -- allowing ACPI and APM to both be simultaneously enabled. This caused unpredictable results, including boot hangs. Further, the code under CONFIG_PM_LEGACY is scheduled for removal. So replace pm_active with pm_flags. pm_flags depends only on CONFIG_PM, which is present for both CONFIG_APM and CONFIG_ACPI. http://bugzilla.kernel.org/show_bug.cgi?id=9194 Signed-off-by: Len Brown Signed-off-by: Rafael J. Wysocki commit e452e94e21e8f4a3c2ff045b301ca21c1f6d03bf Author: Atsushi Nemoto Date: Tue Jan 8 00:41:13 2008 +0900 [MIPS] Replace 40c7869b693b18412491fdcff64682215b739f9e kludge Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 778bc145feb68f365339d6b5c9e35af2a86fb233 Author: WANG Cong Date: Wed Jan 2 14:21:36 2008 +0800 [MIPS] Lasat: Fix built in separate object directory. Signed-off-by: WANG Cong [Ralf: The LDSCRIPT script needed fixing, too] Signed-off-by: Ralf Baechle commit 84c21e254205ecac98f75b01589996440c6a6db0 Author: Dmitri Vorobiev Date: Tue Jan 8 06:44:00 2008 +0300 [MIPS] Malta: Fix software reset on big endian I noticed that the commit f197465384bf7ef1af184c2ed1a4e268911a91e3 (MIPS Tech: Get rid of volatile in core code) broke the software reset functionality for MIPS Malta boards in big-endian mode. According to the MIPS Malta board user's manual, writing the magic 32-bit GORESET value into the SOFTRES register initiates board soft reset. My experimentation has shown that the endianness of the GORESET integer should thereby be the same as the endianness, which has been set for the CPU itself. The writew() function used to write the magic value in the code introduced by the commit mentioned above, however, swaps bytes for big-endian kernels and transfers 16 bits instead of 32. The patch below replaces the writew() function by the __raw_writel() routine, which leaves the byte order intact and transfers the whole MIPS machine word. Trivial code cleanup (replacing spaces by a tab and cutting oversized lines to make checkpatch.pl happy) is also included. The patch was tested using a Malta evaluation board running in both BE and LE modes. For both modes, software reset was fully functional after the change. P.S. I suspect that the same commit broke the "standby" functionality for MIPS Atlas boards. However, I did not touch the Atlas code as I don't have such board at my disposal and also because the linux-mips.org Web site claims that Atlas support is scheduled for removal. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 1b1c5f0d96eb05cf6cd4702dabf4e003eded08c2 Author: Vitaly Wool Date: Thu Jan 10 17:10:05 2008 +0300 [MIPS] pnx8xxx: move to clocksource This patch converts PNX8XXX system timer to clocksource restoring PNX8550 support back to live. Signed-off-by: Vitaly Wool Signed-off-by: Ralf Baechle commit 320167182dc3e351d2608cb7dccde12a47e3f51d Author: Thomas Bogendoerfer Date: Sun Dec 30 12:45:40 2007 +0100 [MIPS] Wrong CONFIG option prevents setup of DMA zone. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit da517164f5b9133ecc7a020342e90452c215ec0f Author: Randy Dunlap Date: Thu Jan 10 19:31:47 2008 -0300 V4L/DVB (7001): av7110: fix section mismatch Fix driver data name to match whitelist of acceptable names that contain pointers init data so that section mismatch warning is placated. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 745a4c9f0ba60a414224f2d5e4f0e8e25efd04e8 Author: Hans Verkuil Date: Thu Jan 10 18:33:16 2008 -0300 V4L/DVB (6999): ivtv: stick to udelay=10 after all Using an udelay of 5 seems to result in problems for several people. For now abandon the udelay value of 5 and stick to 10, even though this will mean a longer load time of the cx2584x firmware. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 11a57153e3377ffdf8cfca2eda9a99063f66b957 Author: Jens Axboe Date: Fri Jan 11 13:37:01 2008 +0100 blktrace: kill the unneeded initcall It just inits the mutex, we can do that with DEFINE_MUTEX() instead. Signed-off-by: Jens Axboe commit 2997c8c4a0b179e8b834a7f30ba4323f2c60ccf4 Author: Ingo Molnar Date: Fri Jan 11 13:35:54 2008 +0100 block: fix blktrace timestamps David Dillow reported broken blktrace timestamps. The reason is cpu_clock() which is not a global time source. Fix bkltrace timestamps by using ktime_get() like the networking code does for packet timestamps. This also removes a whole lot of complexity from bkltrace.c and shrinks the code by 500 bytes: text data bss dec hex filename 2888 124 44 3056 bf0 blktrace.o.before 2390 116 44 2550 9f6 blktrace.o.after Signed-off-by: Ingo Molnar Signed-off-by: Jens Axboe commit a24eab1ed506f3e0bcbcd3f619558935549d4ace Author: Jens Axboe Date: Fri Jan 11 10:14:40 2008 +0100 loop: fix bad bio_alloc() nr_iovec request Don't allocate room for an iovec when it is not needed. Signed-off-by: Jens Axboe commit b801a1e7dbca3f51d0a4b22a750ae257196002cb Author: Rusty Russell Date: Fri Jan 11 10:12:55 2008 +0100 Don't blatt first element of prv in sg_chain() I realize that sg chaining is a ploy to make the rest of the kernel devs feel the pain of the SCSI subsystem. But this was a little unsubtle. Signed-off-by: Rusty Russell Acked-by: Tejun Heo Signed-off-by: Jens Axboe commit aea6ad0ce5e215ce99fe9e3edd9268f696862d8f Author: Christoph Hellwig Date: Thu Jan 10 16:43:26 2008 +1100 [XFS] fix unaligned access in readdir This patch should fix the issue seen on Alpha with unaligned accesses in the new readdir code. By aligning each dirent to sizeof(u64) we'll avoid unaligned accesses. To make doubly sure we're not hitting problems also rearrange struct hack_dirent to avoid holes. SGI-PV: 975411 SGI-Modid: xfs-linux-melb:xfs-kern:30302a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 0ff4d77bd9fe86ca1bc7f44839d79f8a349a62f0 Author: Jan Engelhardt Date: Thu Jan 10 22:41:28 2008 -0800 [NETFILTER]: xt_helper: Do not bypass RCU Use the @helper variable that was just obtained. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8f41f017866bc3dfe4db02582cfd48f0586cb990 Author: Yasuyuki Kozakai Date: Thu Jan 10 22:40:39 2008 -0800 [NETFILTER]: ip6t_eui64: Fixes calculation of Universal/Local bit RFC2464 says that the next to lowerst order bit of the first octet of the Interface Identifier is formed by complementing the Universal/Local bit of the EUI-64. But ip6t_eui64 uses OR not XOR. Thanks Peter Ivancik for reporing this bug and posting a patch for it. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a6ca5f1dbe40470fcb1ecc921769d792a1e77ed9 Author: Patrick McHardy Date: Thu Jan 10 22:39:28 2008 -0800 [MACVLAN]: Prevent nesting macvlan devices Don't allow to nest macvlan devices since it will cause lockdep warnings and isn't really useful for anything. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0fe1e567d0b4f6a98e94d3b9a40f41c801bd157f Author: Jarek Poplawski Date: Thu Jan 10 22:38:31 2008 -0800 [VLAN]: nested VLAN: fix lockdep's recursive locking warning Allow vlans nesting other vlans without lockdep's warnings (max. 2 levels i.e. parent + child). Thanks to Patrick McHardy for pointing a bug in the first version of this patch. Reported-by: Benny Amorsen Signed-off-by: Jarek Poplawski Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0d89d7944fead211422e21fb7ea70ed3b903a79e Author: Eric Dumazet Date: Thu Jan 10 22:35:21 2008 -0800 [DECNET] ROUTE: fix rcu_dereference() uses in /proc/net/decnet_cache In dn_rt_cache_get_next(), no need to guard seq->private by a rcu_dereference() since seq is private to the thread running this function. Reading seq.private once (as guaranted bu rcu_dereference()) or several time if compiler really is dumb enough wont change the result. But we miss real spots where rcu_dereference() are needed, both in dn_rt_cache_get_first() and dn_rt_cache_get_next() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5c5482266537fdb24d6b8462540d8f65a6007a97 Author: Ohad Ben-Cohen Date: Thu Jan 10 22:24:43 2008 -0800 [BLUETOOTH]: Always send explicit hci_ll wake-up acks. In the (rare) event of simultaneous mutual wake up requests, do send the chip an explicit wake-up ack. This is required for Texas Instruments's BRF6350 chip. Signed-off-by: Ohad Ben-Cohen Signed-off-by: David S. Miller commit f951375d470c1a20d92c34377991197e6bf17990 Author: Dave Young Date: Thu Jan 10 22:22:52 2008 -0800 [BLUETOOTH]: rfcomm tty BUG_ON() code fix 1) In tty.c the BUG_ON at line 115 will never be called, because the the before list_del_init in this same function. 115 BUG_ON(!list_empty(&dev->list)); So move the list_del_init to rfcomm_dev_del 2) The rfcomm_dev_del could be called from diffrent path (rfcomm_tty_hangup/rfcomm_dev_state_change/rfcomm_release_dev), So add another BUG_ON when the rfcomm_dev_del is called more than one time. Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 473980a99316c0e788bca50996375a2815124ce1 Author: Michael Neuling Date: Fri Jan 11 14:02:47 2008 +1100 [POWERPC] Fix CPU hotplug when using the SLB shadow buffer Before we register the SLB shadow buffer, we need to invalidate the entries in the buffer, otherwise we can end up stale entries from when we previously offlined the CPU. This does this invalidate as well as unregistering the buffer with PHYP before we offline the cpu. Tested and fixes crashes seen on 970MP (thanks to tonyb) and POWER5. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit d1ec7298fcefd7e4d1ca612da402ce9e5d5e2c13 Author: Zhao Yakui Date: Fri Jan 11 00:24:55 2008 -0500 ACPI: apply quirk_ich6_lpc_acpi to more ICH8 and ICH9 It is important that these resources be reserved to avoid conflicts with well known ACPI registers. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit ecd2ebdea350c40e73c00d400d74c8a09c072082 Author: Jarek Poplawski Date: Thu Jan 10 21:21:20 2008 -0800 [AX25] af_ax25: Possible circular locking. Bernard Pidoux F6BVP reported: > When I killall kissattach I can see the following message. > > This happens on kernel 2.6.24-rc5 already patched with the 6 previously > patches I sent recently. > > > ======================================================= > [ INFO: possible circular locking dependency detected ] > 2.6.23.9 #1 > ------------------------------------------------------- > kissattach/2906 is trying to acquire lock: > (linkfail_lock){-+..}, at: [] ax25_link_failed+0x11/0x39 [ax25] > > but task is already holding lock: > (ax25_list_lock){-+..}, at: [] ax25_device_event+0x38/0x84 > [ax25] > > which lock already depends on the new lock. > > > the existing dependency chain (in reverse order) is: ... lockdep is worried about the different order here: #1 (rose_neigh_list_lock){-+..}: #3 (ax25_list_lock){-+..}: #0 (linkfail_lock){-+..}: #1 (rose_neigh_list_lock){-+..}: #3 (ax25_list_lock){-+..}: #0 (linkfail_lock){-+..}: So, ax25_list_lock could be taken before and after linkfail_lock. I don't know if this three-thread clutch is very probable (or possible at all), but it seems another bug reported by Bernard ("[...] system impossible to reboot with linux-2.6.24-rc5") could have similar source - namely ax25_list_lock held by ax25_kill_by_device() during ax25_disconnect(). It looks like the only place which calls ax25_disconnect() this way, so I guess, it isn't necessary. This patch is breaking the lock for ax25_disconnect(). Reported-and-tested-by: Bernard Pidoux Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit d7587b1445c0087cfcaa03ceae79b52eef4e9e4b Author: Paul Mundt Date: Fri Jan 11 13:18:16 2008 +0900 sh: Force __access_ok() to obey address space limit. When the thread_info->addr_limit changes were introduced, __access_ok() was missed in the conversion, allowing user processes to perform P1/P2 accesses under certain conditions. This has already been corrected with the nommu refactoring in later kernels. Signed-off-by: Paul Mundt commit 014d433f35d7f34b55dcc7b57c7635aaefc3757f Author: Bob Moore Date: Thu Jan 10 23:04:10 2008 -0500 ACPICA: fix acpi_serialize hang regression http://bugzilla.kernel.org/show_bug.cgi?id=8171 Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 96c2a8766bf4fe91abac863749c11637fabcc64f Author: Alan Cox Date: Thu Jan 10 22:49:58 2008 -0500 ACPI : Not register gsi for PCI IDE controller in legacy mode When PCI IDE controller works in legacy mode and no PRT entry is found in ACPI PRT table, OSPM will neither read the irq number from the IDE PCI configuration space nor call the function of acpi_register_gsi to register gsi. http://bugzilla.kernel.org/show_bug.cgi?id=5637 Signed-off-by: Alan Cox Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 9b8e8de7e59b3a2dab3113d620b52dc8ba890fb3 Author: Ondrej Zary Date: Thu Jan 10 17:13:19 2008 -0500 libata and starting/stopping ATAPI floppy devices Prevent libata from starting/stopping non-ATA devices (like ATAPI floppy drives) as they don't seem to like it: sd 1:0:1:0: [sdb] Starting disk ata2.01: configured for PIO2 sd 1:0:1:0: [sdb] Result: hostbyte=0x00 driverbyte=0x08 sd 1:0:1:0: [sdb] Sense Key : 0x2 [current] sd 1:0:1:0: [sdb] ASC=0x3a ASCQ=0x0 Signed-off-by: Ondrej Zary Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 93c0b5608086a103892aa78b7b83d7ecab60f7ab Author: Sergei Shtylyov Date: Thu Jan 10 23:03:42 2008 +0100 trm290: do hook dma_host_{on,off} methods (take 2) Using default methods caused the chip's DMA PRD count registers, inadvertently starting DMA! While fixing it, also do: - get rid of the 'ide_' prefixes in several functions for which the prefix in the method's name has been 'ide_' ectomized already; - align the code hooking the IDE DMA methods in init_hwif_trm290()... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b98f8803ccfe9d156d37a6eb471a620904085c80 Author: George Kibardin Date: Thu Jan 10 23:03:42 2008 +0100 ide: fix cable detection for SATA bridges Signed-off-by: George Kibardin Signed-off-by: Bartlomiej Zolnierkiewicz commit 90494893b5d2bf7533fb65accbfd8cbd6b51b9c3 Author: Shaohua Li Date: Thu Jan 10 23:03:42 2008 +0100 ide: workaround suspend bug for ACPI IDE http://bugzilla.kernel.org/show_bug.cgi?id=9673 ACPI _PS3 cause S4 breaks in the second attempt. The system has a _PS3 method for IDE, which will call into SMM mode. Currently we haven't clue why just the second attempt fails, as it's totally in BIOS code, so blacklist the system so far for 2.6.24. A possible suspect is ACPI NVS isn't save/restore, we will revisit the bug after linux does ACPI NVS save/restore. Bart: - fix scripts/checkpatch.pl complaints - const-ify ide_acpi_dmi_table[] Signed-off-by: Shaohua Li Cc: "Rafael J. Wysocki" Reported-by: Mikko Vinni Signed-off-by: Bartlomiej Zolnierkiewicz commit 13cc546be3060324de9d92ebde3bc9dbd950df23 Author: Gwendal Grignou Date: Thu Jan 10 15:47:56 2008 +0900 sata_sil24: prevent hba lockup when pass-through ATA commands are used Fix commands timeout with Sil3124/3132 based HBA when pass-through ATA commands [where ATA_QCFLAG_RESULT_TF is set] are used while other commands are active on other devices connected to the same port with a Port Multiplier. Due to a hardware bug, these commands must be sent alone, like ATAPI commands. Signed-off-by: Gwendal Grignou Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit fcb71f6f034c6c4f6a3ab4a55404c95db6e32653 Author: FD Cami Date: Sun Jan 6 19:08:56 2008 +0100 Update kernel parameter document for libata DMA mode setting knobs. Signed-off-by: Jeff Garzik commit 4ccd3329a2e51473a86547a55f9e5f98f8f65b33 Author: Tejun Heo Date: Tue Jan 8 20:26:12 2008 +0900 libata: don't normalize UNKNOWN to NONE after reset After non-classifying reset, ehc->classes[] could contain ATA_DEV_UNKNOWN which used to be normalized to ATA_DEV_NONE for consistency. However, this causes unfortunate side effect for drivers which have non-classifying hardresets (e.g. sata_nv) by making hardreset report ATA_DEV_NONE for non-classifying resets and thus makes EH believe that the port is unoccupied and recovery can be skipped. The end result is that after a device is swapped with another one, the new device isn't attached after the old one is detached. This patch makes ata_eh_reset() not normalize UNKNOWN to NONE after non-classifying resets. This fixes the above problem. As UNKNOWN and NONE are handled differently by only EH hotplug logic, this doesn't cause other behavior changes. Signed-off-by: Tejun Heo Cc: Robert Hancock Signed-off-by: Jeff Garzik commit 2695e36616c3ece5e8e30666868fc7c90dc3fc75 Author: Tejun Heo Date: Thu Jan 10 13:41:23 2008 +0900 libata-pmp: propagate timeout to host link Timeout on downstream command may indicate transmission problem on host link. Propagate timeouts to host link. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8048307dbc3cfc30690b131e786fb57157fbdb11 Author: Tejun Heo Date: Thu Jan 10 13:38:46 2008 +0900 libata-pmp: 4726 hates SRST 4726 hates SRST even on non-config ports. Don't use it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit af183748044cefb1050ab47519e6bdcfcecec226 Author: Rod Whitby Date: Sun Jan 6 10:05:28 2008 +0900 pata_ixp4xx_cf: fix compilation introduced by ata_port_desc() conversion Fixes a compilation error caused by ata_port_desc() conversion (cbcdd87593a1d85c5c4b259945a3a09eee12814d). Signed-off-by: Rod Whitby Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 36906d9beab941452cad406cc03f05cc78671256 Author: Alan Cox Date: Fri Jan 4 00:08:49 2008 +0000 pata_pdc202xx_old: Further fixups Turns out distros always enabled burst mode and it is pretty essential so do the same. Also sort out the post DMA mode restore properly. My 20263 card now seems happy but needs some four drive tests done yet (when I've persuaded the kernel not to hang in the edd boot code if I plug them in ..) Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 277d72a37431d200727189693b14488368b7c258 Author: Alan Cox Date: Thu Jan 3 17:22:28 2008 +0000 libata-sff: PCI IRQ handling fix It is legitimate (although annoying and silly) for a PCI IDE controller not to be assigned an interrupt and to be polled. The libata-sff code should therefore not try and request IRQ 0 in this case. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b14dabcdb651ddd9f85c69c9042322c139e7da84 Author: Tejun Heo Date: Fri Jan 4 00:22:19 2008 +0900 sata_qstor: use hardreset instead of softreset During conversion to new EH, sata_qstor was accidentaly changed to use softreset, which is buggy on this chip, instead of hardreset. This patch updates sata_qstor such that it uses hardreset again. This fixes bugzilla bug 9631. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit d0dc3701cb46f73cf8ca393f62e325065b0bbd03 Author: Trond Myklebust Date: Thu Jan 10 16:07:54 2008 -0500 NFSv4: Give the lock stateid its own sequence queue Sharing the open sequence queue causes a deadlock when we try to take both a lock sequence id and and open sequence id. This fixes the regression reported by Dimitri Puzin and Jeff Garzik: See http://bugzilla.kernel.org/show_bug.cgi?id=9712 for details. Reported-and-tested-by: Dimitri Puzin Signed-off-by: Trond Myklebust Tested-by: Jeff Garzik Signed-off-by: Linus Torvalds commit c5d0dc5f0dd66770232d7d360c770d2344b76d52 Author: Ivo van Doorn Date: Sun Jan 6 23:40:27 2008 +0100 rt2x00: Put 802.11 data on 4 byte boundary Check the size of the ieee80211 header during rxdone and make sure the data behind the ieee80211 header is placed on a 4 byte boundary. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd87145d2c3a7b1c8b338e1f6e174b3d2a17cd35 Author: Ivo van Doorn Date: Wed Jan 9 19:18:25 2008 +0100 rt2x00: Corectly initialize rt2500usb MAC mac is a pointer, obviously we shouldn't use the address of a pointer as MAC address. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 62bc060b8ed5fcdafd87da5ab17bdd59a39ebcc9 Author: Mattias Nissler Date: Mon Nov 12 15:03:12 2007 +0100 rt2x00: Allow rt61 to catch up after a missing tx report Sometimes it happens in the tx path that an entry given to the hardware isn't reported in the txdone handler. This ultimately led to the dreaded "non-free entry in the non-full queue" message and the stopping of the tx queue. Work around this issue by allowing the driver to also clear out previos entries in the txdone handler. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 490fe3f05be3f7c87d7932bcb6e6e53e3db2cd9c Author: Herbert Xu Date: Fri Jan 11 08:09:35 2008 +1100 [CRYPTO] padlock: Fix alignment fault in aes_crypt_copy The previous patch fixed spurious read faults from occuring by copying the data if we happen to have a single block at the end of a page. It appears that gcc cannot guarantee 16-byte alignment in the kernel with __attribute__. The following report from Torben Viets shows a buffer that's only 8-byte aligned: > eneral protection fault: 0000 [#1] > Modules linked in: xt_TCPMSS xt_tcpmss iptable_mangle ipt_MASQUERADE > xt_tcpudp xt_mark xt_state iptable_nat nf_nat nf_conntrack_ipv4 > iptable_filter ip_tables x_tables pppoe pppox af_packet ppp_generic slhc > aes_i586 > CPU: 0 > EIP: 0060:[] Not tainted VLI > EFLAGS: 00010292 (2.6.23.12 #7) > EIP is at aes_crypt_copy+0x28/0x40 > eax: f7639ff0 ebx: f6c24050 ecx: 00000001 edx: f6c24030 > esi: f7e89dc8 edi: f7639ff0 ebp: 00010000 esp: f7e89dc8 Since the hardware must have 16-byte alignment, the following patch fixes this by open coding the alignment adjustment. Signed-off-by: Herbert Xu commit 90e6b048365950416419c031f2f2d9a8afb5b70c Author: Russell King Date: Thu Jan 10 17:07:08 2008 +0000 [ARM] vfp: fix fuitod/fsitod instructions These two instructions exceptionally take a single precision register as their operand. This means we can't use vfp_get_dm() to read the register number - we need to use vfp_get_sm() instead. Add a flag to indicate this exception to the general rule. Signed-off-by: Russell King commit 6f4347c969674ed45de7d08d4b26d6326a95b959 Author: Olaf Hering Date: Thu Jan 10 01:06:08 2008 +1100 [POWERPC] efika: add phy-handle property for fec_mpc52xx The new network driver fec_mpc52xx will not work on efika because the firmware does not provide all required properties. http://www.powerdeveloper.org/asset/by-id/46 has a Forth script to create more properties. But only the phy stuff is required to get a working network. This should go into the kernel because its appearently impossible to boot the script via tftp and then load the real boot binary (yaboot or zimage). Signed-off-by: Olaf Hering Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt commit 198a6d5a6189501e2b8abf4e3149ccb337866f65 Author: Russell King Date: Thu Jan 10 12:33:54 2008 +0000 [ARM] pxa: silence warnings from cpu_is_xxx() macros If only a single CPU type is selected, __cpu_is_xxx() doesn't use its argument. This causes the compiler to issue a warning about an unused variable in the parent function. Signed-off-by: Russell King commit 27d1cba21fcc50c37eef5042c6be9fa7135e88fc Author: maximilian attems Date: Thu Jan 10 03:57:29 2008 -0800 [AX25]: Kill user triggable printks. sfuzz can easily trigger any of those. move the printk message to the corresponding comment: makes the intention of the code clear and easy to pick up on an scheduled removal. as bonus simplify the braces placement. Signed-off-by: maximilian attems Signed-off-by: David S. Miller commit 0bcceadceb0907094ba4e40bf9a7cd9b080f13fb Author: Eric Dumazet Date: Thu Jan 10 03:55:57 2008 -0800 [IPV4] ROUTE: fix rcu_dereference() uses in /proc/net/rt_cache In rt_cache_get_next(), no need to guard seq->private by a rcu_dereference() since seq is private to the thread running this function. Reading seq.private once (as guaranted bu rcu_dereference()) or several time if compiler really is dumb enough wont change the result. But we miss real spots where rcu_dereference() are needed, both in rt_cache_get_first() and rt_cache_get_next() Signed-off-by: Eric Dumazet Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9cd40029423701c376391da59d2c6469672b4bed Author: Pavel Emelyanov Date: Thu Jan 10 03:48:38 2008 -0800 [NEIGH]: Fix race between neigh_parms_release and neightbl_fill_parms The neightbl_fill_parms() is called under the write-locked tbl->lock and accesses the parms->dev. The negh_parm_release() calls the dev_put(parms->dev) without this lock. This creates a tiny race window on which the parms contains potentially stale dev pointer. To fix this race it's enough to move the dev_put() upper under the tbl->lock, but note, that the parms are held by neighbors and thus can live after the neigh_parms_release() is called, so we still can have a parm with bad dev pointer. I didn't find where the neigh->parms->dev is accessed, but still think that putting the dev is to be done in a place, where the parms are really freed. Am I right with that? Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b0de8e402dc5d3ee04f4d0f669ae492a3e569933 Author: Mirko Lindner Date: Thu Jan 10 02:12:44 2008 -0800 [NIU]: Support for Marvell PHY From: Mirko Lindner This patch makes necessary changes in the Neptune driver to support the new Marvell PHY. It also adds support for the LED blinking on Neptune cards with Marvell PHY. All registers are using defines in the niu.h header file as is already done for the BCM8704 registers. [ Coding style, etc. cleanups -DaveM ] Signed-off-by: David S. Miller commit 3a43e69ce50d467ded2f17f6e571e831d3677ab5 Author: FUJITA Tomonori Date: Tue Jan 8 23:07:01 2008 +0900 [SCSI] qla1280: fix 32 bit segment code There's an error remaining in the 32 bit descriptor code after the conversion to dma accessors: req_cnt is left uninitialised. qla1280_32bit_start_scsi gives the following warnings: drivers/scsi/qla1280.c: In function 'qla1280_32bit_start_scsi': drivers/scsi/qla1280.c:3044: warning: unused variable 'dma_handle' drivers/scsi/qla1280.c: In function 'qla1280_queuecommand': drivers/scsi/qla1280.c:3060: warning: 'req_cnt' is used uninitialized in this function drivers/scsi/qla1280.c:3042: note: 'req_cnt' was declared here Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit fcfd50afb6e94c8cf121ca4e7e3e7166bae7c6aa Author: Roland McGrath Date: Wed Jan 9 00:03:23 2008 -0800 show_task: real_parent The show_task function invoked by sysrq-t et al displays the pid and parent's pid of each task. It seems more useful to show the actual process hierarchy here than who is using ptrace on each process. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 1c9b7aa1eb40ab708ef3242f74b9a61487623168 Author: Herbert Xu Date: Wed Jan 9 03:51:59 2008 -0800 [ATM]: Check IP header validity in mpc_send_packet Al went through the ip_fast_csum callers and found this piece of code that did not validate the IP header. While root crashing the machine by sending bogus packets through raw or AF_PACKET sockets isn't that serious, it is still nice to react gracefully. This patch ensures that the skb has enough data for an IP header and that the header length field is valid. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1ac4f008857487bf45b709248d71c5b3f4cae7b5 Author: Brian Haley Date: Tue Jan 8 23:52:21 2008 -0800 [IPV6]: IPV6_MULTICAST_IF setting is ignored on link-local connect() Signed-off-by: Brian Haley Acked-by: David L Stevens Signed-off-by: David S. Miller commit cf585ae8ae9ac7287a6d078425ea32f22bf7f1f7 Author: Li Zefan Date: Tue Jan 8 23:44:44 2008 -0800 [CONNECTOR]: Don't touch queue dev after decrement of ref count. cn_queue_free_callback() will touch 'dev'(i.e. cbq->pdev), so it should be called before atomic_dec(&dev->refcnt). Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 9d3e44425e3498eb33f25d94392b4fd0d56a5176 Author: Eric Dumazet Date: Tue Jan 8 23:41:28 2008 -0800 [SOCK]: Adds a rcu_dereference() in sk_filter It seems commit fda9ef5d679b07c9d9097aaf6ef7f069d794a8f9 introduced a RCU protection for sk_filter(), without a rcu_dereference() Either we need a rcu_dereference(), either a comment should explain why we dont need it. I vote for the former. Signed-off-by: Eric Dumazet Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 0f99be0d115a5716292c58dfdb20d2eddd0f3387 Author: Eric Dumazet Date: Tue Jan 8 23:39:06 2008 -0800 [XFRM]: xfrm_algo_clone() allocates too much memory alg_key_len is the length in bits of the key, not in bytes. Best way to fix this is to move alg_len() function from net/xfrm/xfrm_user.c to include/net/xfrm.h, and to use it in xfrm_algo_clone() alg_len() is renamed to xfrm_alg_len() because of its global exposition. Signed-off-by: Eric Dumazet Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2e3884b5b16795c03a7bf295797c1b2402885b88 Author: Björn Steinbrink Date: Mon Jan 7 23:22:53 2008 -0800 [FORCEDETH]: Fix reversing the MAC address on suspend. For cards that initially have the MAC address stored in reverse order, the forcedeth driver uses a flag to signal whether the address was already corrected, so that it is not reversed again on a subsequent probe. Unfortunately this flag, which is stored in a register of the card, seems to get lost during suspend, resulting in the MAC address being reversed again. To fix that, the MAC address needs to be written back in reversed order before we suspend and the flag needs to be reset. The flag is still required because at least kexec will never write back the reversed address and thus needs to know what state the card is in. Signed-off-by: Björn Steinbrink Signed-off-by: David S. Miller commit 1d39da3dcaad4231f0fa75024b1d6d710a2ced74 Author: Russ Dill Date: Mon Jan 7 23:15:41 2008 -0800 [NET]: mcs7830 passes msecs instead of jiffies to usb_control_msg usb_control_msg was changed long ago (2.6.12-pre) to take milliseconds instead of jiffies. Oddly, mcs7830 wasn't added until 2.6.19-rc3. Signed-off-by: Russ Dill Signed-off-by: David S. Miller commit 877364e60edeea06efa8ceb9d29201f195af8a47 Author: Brice Goglin Date: Mon Jan 7 22:09:08 2008 -0800 [LRO] Fix lro_mgr->features checks lro_mgr->features contains a bitmask of LRO_F_* values which are defined as power of two, not as bit indexes. They must be checked with x&LRO_F_FOO, not with test_bit(LRO_F_FOO,&x). Signed-off-by: Brice Goglin Acked-by: Andrew Gallatin Signed-off-by: David S. Miller commit 02f1c89d6e36507476f78108a3dcc78538be460b Author: Paul Moore Date: Mon Jan 7 21:56:41 2008 -0800 [NET]: Clone the sk_buff 'iif' field in __skb_clone() Both NetLabel and SELinux (other LSMs may grow to use it as well) rely on the 'iif' field to determine the receiving network interface of inbound packets. Unfortunately, at present this field is not preserved across a skb clone operation which can lead to garbage values if the cloned skb is sent back through the network stack. This patch corrects this problem by properly copying the 'iif' field in __skb_clone() and removing the 'iif' field assignment from skb_act_clone() since it is no longer needed. Also, while we are here, put the assignments in the same order as the offsets to reduce cacheline bounces. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit d8c9283089287341c85a0a69de32c2287a990e71 Author: Eric Dumazet Date: Mon Jan 7 21:52:14 2008 -0800 [IPV4] ROUTE: ip_rt_dump() is unecessary slow I noticed "ip route list cache x.y.z.t" can be *very* slow. While strace-ing -T it I also noticed that first part of route cache is fetched quite fast : recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202 GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3772 <0.000047> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\234\0\0\0\30\0\2\0\254i\ 202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3736 <0.000042> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\204\0\0\0\30\0\2\0\254i\ 202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3740 <0.000055> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\234\0\0\0\30\0\2\0\254i\ 202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3712 <0.000043> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\204\0\0\0\30\0\2\0\254i\ 202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3732 <0.000053> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202 GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3708 <0.000052> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202 GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3680 <0.000041> while the part at the end of the table is more expensive: recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\204\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3656 <0.003857> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\204\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3772 <0.003891> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3712 <0.003765> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3700 <0.003879> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3676 <0.003797> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"p\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\2\0\2\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3724 <0.003856> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\234\0\0\0\30\0\2\0\254i\202GXm\0\0\2 \0\376\0\0\1\0\2"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 3736 <0.003848> The following patch corrects this performance/latency problem, removing quadratic behavior. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2b2b2e35b71e5be8bc06cc0ff38df15dfedda19b Author: Russ Dill Date: Mon Jan 7 21:48:12 2008 -0800 [NET]: kaweth was forgotten in msec switchover of usb_start_wait_urb Back in 2.6.12-pre, usb_start_wait_urb was switched over to take milliseconds instead of jiffies. kaweth.c was never updated to match. Signed-off-by: Russ Dill Signed-off-by: David S. Miller commit 204246596b8b51c0ba44420e60f60561101b2b31 Author: Auke Kok Date: Mon Jan 7 21:47:25 2008 -0800 [NET] Intel ethernet drivers: update MAINTAINERS Unfortunately Jeb decided to move away from our group. We wish Jeb good luck with his new group! Reordered people a bit so most active team members are on top. Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 53e52c729cc169db82a6105fac7a166e10c2ec36 Author: David S. Miller Date: Mon Jan 7 21:06:12 2008 -0800 [NET]: Make ->poll() breakout consistent in Intel ethernet drivers. This makes the ->poll() routines of the E100, E1000, E1000E, IXGB, and IXGBE drivers complete ->poll() consistently. Now they will all break out when the amount of RX work done is less than 'budget'. At a later time, we may want put back code to include the TX work as well (as at least one other NAPI driver does, but by in large NAPI drivers do not do this). But if so, it should be done consistently across the board to all of these drivers. Signed-off-by: David S. Miller Acked-by: Auke Kok commit fed17f3094b960d3a54b10f17abbe4b57e976eec Author: David S. Miller Date: Mon Jan 7 21:00:40 2008 -0800 [NET]: Stop polling when napi_disable() is pending. This finally adds the code in net_rx_action() to break out of the ->poll()'ing loop when a napi_disable() is found to be pending. Now, even if a device is being flooded with packets it can be cleanly brought down. Signed-off-by: David S. Miller commit d1d08d1265810ef1f165864850416dcbc9725ee7 Author: David S. Miller Date: Mon Jan 7 20:53:33 2008 -0800 [NET]: Fix drivers to handle napi_disable() disabling interrupts. When we add the generic napi_disable_pending() breakout logic to net_rx_action() it means that napi_disable() can cause NAPI poll interrupt events to be disabled. And this is exactly what we want. If a napi_disable() is pending, and we are looping in the ->poll(), we want ->poll() event interrupts to stay disabled and we want to complete the NAPI poll ASAP. When ->poll() break out during device down was being handled on a per-driver basis, often these drivers would turn interrupts back on when '!netif_running()' was detected. And this would just cause a reschedule of the NAPI ->poll() in the interrupt handler before the napi_disable() could get in there and grab the NAPI_STATE_SCHED bit. The vast majority of drivers don't care if napi_disable() might have the side effect of disabling NAPI ->poll() event interrupts. In all such cases, when a napi_disable() is performed, the driver just disabled interrupts or is about to. However there were three exceptions to this in PCNET32, R8169, and SKY2. To fix those cases, at the subsequent napi_enable() points, I added code to ensure that the ->poll() interrupt events are enabled in the hardware. Signed-off-by: David S. Miller Acked-by: Don Fry commit 1706287f6eb58726a9a0e5cbbde87f49757615e3 Author: David S. Miller Date: Mon Jan 7 20:51:29 2008 -0800 [NETXEN]: Fix ->poll() done logic. If work_done >= budget we should always elide the NAPI completion. Signed-off-by: David S. Miller commit 5cdfed54e7200dde2e846e2ef153d1694ce44875 Author: Andrew Lutomirski Date: Thu Jan 3 21:03:19 2008 -0800 mac80211: return an error when SIWRATE doesn't match any rate Currently mac80211 fails silently when trying to set a nonexistent rate. Return an error instead. Signed-Off-By: Andy Lutomirski Signed-off-by: John W. Linville commit 87c4ac841c1d524416ab36c19689550bf302dab1 Author: Michael Buesch Date: Thu Jan 3 18:59:25 2008 +0100 ssb: Fix probing of PCI cores if PCI and PCIE core is available This will make sure that always the correct core is selected, even if there are both a PCI and PCI-E core on a PCI or PCI-E card. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4ec2411980d0fd2995e8dea8a06fe57aa47523cb Author: David S. Miller Date: Mon Jan 7 20:48:21 2008 -0800 [NET]: Do not check netif_running() and carrier state in ->poll() Drivers do this to try to break out of the ->poll()'ing loop when the device is being brought administratively down. Now that we have a napi_disable() "pending" state we are going to solve that problem generically. Signed-off-by: David S. Miller commit a0a46196cd98af5cc015842bba757571f02a8c30 Author: David S. Miller Date: Mon Jan 7 20:35:07 2008 -0800 [NET]: Add NAPI_STATE_DISABLE. Create a bit to signal that a napi_disable() is in progress. This sets up infrastructure such that net_rx_action() can generically break out of the ->poll() loop on a NAPI context that has a pending napi_disable() yet is being bombed with packets (and thus would otherwise poll endlessly and not allow the napi_disable() to finish). Now, what napi_disable() does is first set the NAPI_STATE_DISABLE bit (to indicate that a disable is pending), then it polls for the NAPI_STATE_SCHED bit, and once the NAPI_STATE_SCHED bit is acquired the NAPI_STATE_DISABLE bit is cleared. Here, the test_and_set_bit() provides the necessary memory barrier between the various bitops. napi_schedule_prep() now tests for a pending disable as it's first action and won't try to obtain the NAPI_STATE_SCHED bit if a disable is pending. As a result, we can remove the netif_running() check in netif_rx_schedule_prep() because the NAPI disable pending state serves this purpose. And, it does so in a NAPI centric manner which is what we really want. Signed-off-by: David S. Miller commit bdb95b1792664f25eb2a4d13a587d2020aa93002 Author: David S. Miller Date: Mon Jan 7 20:26:59 2008 -0800 [NET]: Do not grab device reference when scheduling a NAPI poll. It is pointless, because everything that can make a device go away will do a napi_disable() first. The main impetus behind this is that now we can legally do a NAPI completion in generic code like net_rx_action() which a following changeset needs to do. net_rx_action() can only perform actions in NAPI centric ways, because there may be a one to many mapping between NAPI contexts and network devices (SKY2 is one example). We also want to get rid of this because it's an extra atomic in the NAPI paths, and also because it is one of the last instances where the NAPI interfaces care about net devices. The one remaining netdev detail the NAPI stuff cares about is the netif_running() check which will be killed off in a subsequent changeset. Signed-off-by: David S. Miller commit d987160b710c98997015832422a05e18d9f0f925 Author: Michael Buesch Date: Wed Jan 2 18:55:53 2008 +0100 b43: Fix rxheader channel parsing This patch fixes the parsing of the RX data header channel field. The current code parses the header incorrectly and passes a wrong channel number and frequency for each frame to mac80211. The FIXMEs added by this patch don't matter for now as the code where they live won't get executed anyway. They will be fixed later. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9e8d6f8959c356d8294d45f11231331c3e1bcae6 Author: maximilian attems Date: Mon Jan 7 00:30:57 2008 -0800 [IRDA]: irda_create() nuke user triggable printk easy to trigger as user with sfuzz. irda_create() is quiet on unknown sock->type, match this behaviour for SOCK_DGRAM unknown protocol Signed-off-by: maximilian attems Signed-off-by: David S. Miller commit 036b579b1146f52c51398f1ab663cf659094107d Author: Vlad Yasevich Date: Mon Jan 7 00:28:16 2008 -0800 [SCTP]: Add back the code that accounted for FORWARD_TSN parameter in INIT. Some recent changes completely removed accounting for the FORWARD_TSN parameter length in the INIT and INIT-ACK chunk. This is wrong and should be restored. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6df9cfc1ad45839e2a11330ab354330c6128cb73 Author: Vlad Yasevich Date: Mon Jan 7 00:27:45 2008 -0800 [SCTP]: Correctly handle AUTH parameters in unexpected INIT When processing an unexpected INIT chunk, we do not need to do any preservation of the old AUTH parameters. In fact, doing such preservations will nullify AUTH and allow connection stealing. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f691724c4d3b150bfa9cc8a969ea2020e20dfb12 Author: Vlad Yasevich Date: Mon Jan 7 00:27:16 2008 -0800 [SCTP]: Fix the name of the authentication event. The even should be called SCTP_AUTHENTICATION_INDICATION. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 52961955aa180959158faeb9fd6b4f8a591450f5 Author: Chas Williams Date: Mon Jan 7 00:26:22 2008 -0800 [ATM]: [nicstar] delay irq setup until card is configured Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit c6a1b62de9d043f274ec3ae2e207908c6d5feff3 Author: Stephen Hemminger Date: Mon Jan 7 00:23:04 2008 -0800 [TULIP]: NAPI full quantum bug. This should fix the kernel warn/oops reported while routing. The tulip driver has a fencepost bug with new NAPI in 2.6.24 It has an off by one bug if a full quantum is reached. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit edba2a1fefc6296bc527754dee1c72a625bb675a Author: Thomas Bogendoerfer Date: Sun Jan 6 00:21:47 2008 -0800 [METH]: Fix MAC address handling. meth didn't set a valid mac address during probing, but later during open. Newer kernel refuse to open device with 00:00:00:00:00:00 as mac address -> dead ethernet. This patch sets the mac address in the probe function and uses only the mac address from the netdevice struct when setting up the hardware. Signed-off-by: Thomas Bogendoerfer Signed-off-by: David S. Miller commit 9a262d5c24c63d2b7bea05e41d9b3bfbef63e903 Author: Adrian Bunk Date: Sat Jan 5 23:55:13 2008 -0800 [NET]: Fix netx-eth.c compilation. This was missed when commit e2ac455a18806b31c2d0da0a51d8740af5010b7a fixed the compile errors in drivers/net/netx-eth.c caused by commit 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 92ffb85dd33d62ac1dad8b44da62365f2aad413d Author: Amos Waterland Date: Sat Jan 5 23:23:06 2008 -0800 [IPV4] ipconfig: Fix regression in ip command line processing The recent changes for ip command line processing fixed some problems but unfortunately broke some common usage scenarios. In current 2.6.24-rc6 the following command line results in no IP address assignment, which is surely a regression: ip=10.0.2.15::10.0.2.2:255.255.255.0::eth0:off Please find below a patch that works for all cases I can find. Signed-off-by: Amos Waterland Signed-off-by: David S. Miller commit f844c74fe07321953e2dd227fe35280075f18f60 Author: Herbert Xu Date: Sat Jan 5 23:14:44 2008 -0800 [IPV4] raw: Strengthen check on validity of iph->ihl We currently check that iph->ihl is bounded by the real length and that the real length is greater than the minimum IP header length. However, we did not check the caes where iph->ihl is less than the minimum IP header length. This breaks because some ip_fast_csum implementations assume that which is quite reasonable. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cb77df3ec88f07c6141924dfe6fd96a2f541cc09 Author: David S. Miller Date: Sat Jan 5 00:02:59 2008 -0800 [NIU]: Update driver version and release date. Signed-off-by: David S. Miller commit 3ebebccf89b1b6e4fec4de05b245d6c459f27ce8 Author: David S. Miller Date: Fri Jan 4 23:54:06 2008 -0800 [NIU]: Fix potentially stuck TCP socket send queues. It is possible for the TX ring to have packets sit in it for unbounded amounts of time. The only way to defer TX interrupts in the chip is to periodically set "mark" bits, when processing of a TX descriptor with the mark bit set is complete it triggers the interrupt for the TX queue's LDG. A consequence of this kind of scheme is that if packet flow suddenly stops, the remaining TX packets will just sit there. If this happens, since those packets could be charged to TCP socket send queues, such sockets could get stuck. The simplest solution is to divorce the socket ownership of the packet once the device takes the SKB, by using skb_orphan() in niu_start_xmit(). In hindsight, it would have been much nicer if the chip provided two interrupt sources for TX (like basically every other ethernet chip does). Namely, keep the "mark" bit, but also signal the LDG when the TX queue becomes completely empty. That way there is no need to have a deadlock breaker like this. Signed-off-by: David S. Miller commit 792dd90f114a48c210c566f3642b26f699702cb7 Author: David S. Miller Date: Fri Jan 4 23:52:06 2008 -0800 [NIU]: Missing ->last_rx update. Noticed by Paul Lodridge. Signed-off-by: David S. Miller commit 406f353c857e4b2dbddb7cd20c67941d829b8b15 Author: Matheos Worku Date: Fri Jan 4 23:48:26 2008 -0800 [NIU]: Fix slowpath interrupt handling. niu_slowpath_interrupt() expects values to be setup in lp->{v0,v1,v2} but they aren't. That's only done by niu_schedule_napi() which is done later in the interrupt path. If niu_rx_error() returns zero, and v0 is clear, hit the RX_DMA_CTL_STATE register with a RX_DMA_CTL_STAT_MEX. Only emit verbose RX error logs if a fatal channel or port error is signalled. Other cases will be recorded into statistics by niu_log_rxchan_errors(). Signed-off-by: David S. Miller commit cdf71a10c7b6432d9b48e292cca2c62a0b9fa6cf Author: Thomas Gleixner Date: Tue Jan 8 19:47:38 2008 +0100 futex: Prevent stale futex owner when interrupted/timeout Roland Westrelin did a great analysis of a long standing thinko in the return path of futex_lock_pi. While we fixed the lock steal case long ago, which was easy to trigger, we never had a test case which exposed this problem and stupidly never thought about the reverse lock stealing scenario and the return to user space with a stale state. When a blocked tasks returns from rt_mutex_timed_locked without holding the rt_mutex (due to a signal or timeout) and at the same time the task holding the futex is releasing the futex and assigning the ownership of the futex to the returning task, then it might happen that a third task acquires the rt_mutex before the final rt_mutex_trylock() of the returning task happens under the futex hash bucket lock. The returning task returns to user space with ETIMEOUT or EINTR, but the user space futex value is assigned to this task. The task which acquired the rt_mutex fixes the user space futex value right after the hash bucket lock has been released by the returning task, but for a short period of time the user space value is wrong. Detailed description is available at: https://bugzilla.redhat.com/show_bug.cgi?id=400541 The fix for this is the same as we do when the rt_mutex was acquired by a higher priority task via lock stealing from the designated new owner. In that case we already fix the user space value and the internal pi_state up before we return. This mechanism can be used to fixup the above corner case as well. When the returning task, which failed to acquire the rt_mutex, notices that it is the designated owner of the futex, then it fixes up the stale user space value and the pi_state, before returning to user space. This happens with the futex hash bucket lock held, so the task which acquired the rt_mutex is guaranteed to be blocked on the hash bucket lock. We can access the rt_mutex owner, which gives us the pid of the new owner, safely here as the owner is not able to modify (release) it while waiting on the hash bucket lock. Rename the "curr" argument of fixup_pi_state_owner() to "newowner" to avoid confusion with current and add the check for the stale state into the failure path of rt_mutex_trylock() in the return path of unlock_futex_pi(). If the situation is detected use fixup_pi_state_owner() to assign everything to the owner of the rt_mutex. Pointed-out-and-tested-by: Roland Westrelin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit bf5e5834bffc62b50cd4a201804506eb11ef1af8 Author: Alan Cox Date: Tue Jan 8 14:55:51 2008 +0000 pl2303: Fix mode switching regression Cleaning out all the incorrect 'no change made' checks for termios settings showed up a problem with the PL2303. The hardware here seems to lose sync and bits if you tell it to make no changes. This shows up with a real world application. To fix this the driver check for meaningful hardware changes is restored but doing the tests correctly and as a tty layer function so it doesn't get duplicated wrongly everywhere if other drivers turn out to need it. Signed-off-by: Alan Cox Tested-by: Mirko Parthey Signed-off-by: Linus Torvalds commit cf0594625083111ae522496dc1c256f7476939c2 Author: Eric Sandeen Date: Tue Jan 8 15:33:20 2008 -0800 hfs: handle more on-disk corruptions without oopsing hfs seems prone to bad things when it encounters on disk corruption. Many values are read from disk, and used as lengths to memcpy, as an example. This patch fixes up several of these problematic cases. o sanity check the on-disk maximum key lengths on mount (these are set to a defined value at mkfs time and shouldn't differ) o check on-disk node keylens against the maximum key length for each tree o fix hfs_btree_open so that going out via free_tree: doesn't wind up in hfs_releasepage, which wants to follow the very pointer we were trying to set up: HFS_SB(sb)->cat_tree = hfs_btree_open() ... failure gets to hfs_releasepage and tries to follow HFS_SB(sb)->cat_tree Tested with the fsfuzzer; it survives more than it used to. Signed-off-by: Eric Sandeen Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 467bc461d2845f6a04b124bca1ae6ecc554e1ee5 Author: Thomas Bogendoerfer Date: Tue Jan 8 15:33:11 2008 -0800 Fix crash with FLAT_MEMORY and ARCH_PFN_OFFSET != 0 When using FLAT_MEMORY and ARCH_PFN_OFFSET is not 0, the kernel crashes in memmap_init_zone(). This bug got introduced by commit c713216deebd95d2b0ab38fef8bb2361c0180c2d Signed-off-by: Thomas Bogendoerfer Acked-by: Mel Gorman Cc: Bob Picco Cc: Dave Hansen Cc: Andy Whitcroft Cc: Andi Kleen Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: "Keith Mannthey" Cc: "Luck, Tony" Cc: KAMEZAWA Hiroyuki Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22a860a9e22fa077300e1e72170afb82bf695617 Author: Jean Delvare Date: Tue Jan 8 15:33:10 2008 -0800 snd_mixer_oss_build_input(): fix for __you_cannot_kmalloc_that_much failure with gcc-3.2 Rework this functions so that gcc-3.2 can successfully perform constant-folding. Signed-off-by: Jean Delvare Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce8c628abadaf16a44953301c68b9f54cf6898cc Author: Jean Delvare Date: Tue Jan 8 15:33:08 2008 -0800 dmi-id: fix for __you_cannot_kmalloc_that_much failure gcc 3.2 has a hard time coping with the code in dmi_id_init(): drivers/built-in.o(.init.text+0x789e): In function `dmi_id_init': : undefined reference to `__you_cannot_kmalloc_that_much' make: *** [.tmp_vmlinux1] Error 1 Moving half of the code to a separate function seems to help. This is a no-op for gcc 4.1 which will successfully inline the code anyway. Signed-off-by: Jean Delvare Cc: Dave Airlie Tested-by: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83a08e7c6ed533a47631794e7f618a98094b4129 Author: Ken'ichi Ohmichi Date: Tue Jan 8 15:33:05 2008 -0800 vmcoreinfo: add the array length of "free_list" for filtering free pages This patch adds the array length of "free_area.free_list" to the vmcoreinfo data so that makedumpfile (dump filtering command) can exclude all free pages in linux-2.6.24. makedumpfile creates a small dumpfile by excluding unnecessary pages for the analysis. To distinguish unnecessary pages, makedumpfile gets the vmcoreinfo data which has the minimum debugging information only for dump filtering. In 2.6.24-rc1 or later, the free_area.free_list is an array which has one list for each migrate types instead of a single list. makedumpfile needs the array length of "free_area.free_list" and the vmcoreinfo data should contain it. Signed-off-by: Huang Ying Tested-by: Ken'ichi Ohmichi Acked-by: Simon Horman Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caeeeecfdaeada2998eb3c29c3ebd59afb79ef06 Author: Michael Halcrow Date: Tue Jan 8 15:33:02 2008 -0800 eCryptfs: fix dentry handling on create error, unlink, and inode destroy This patch corrects some erroneous dentry handling in eCryptfs. If there is a problem creating the lower file, then there is nothing that the persistent lower file can do to really help us. This patch makes a vfs_create() failure in the lower filesystem always lead to an unconditional do_create failure in eCryptfs. Under certain sequences of operations, the eCryptfs dentry can remain in the dcache after an unlink. This patch calls d_drop() on the eCryptfs dentry to correct this. eCryptfs has no business calling d_delete() directly on a lower filesystem's dentry. This patch removes the call to d_delete() on the lower persistent file's dentry in ecryptfs_destroy_inode(). (Thanks to David Kleikamp, Eric Sandeen, and Jeff Moyer for helping identify and resolve this issue) Signed-off-by: Michael Halcrow Cc: Dave Kleikamp Cc: Eric Sandeen Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c51b1a160b63304720d49479986915e4c475a2cf Author: Akinobu Mita Date: Tue Jan 8 15:32:57 2008 -0800 xip: fix get_zeroed_page with __GFP_HIGHMEM The use of get_zeroed_page() with __GFP_HIGHMEM is invalid. Use alloc_page() with __GFP_ZERO instead of invalid get_zeroed_page(). (This patch is only compile tested) Cc: Carsten Otte Signed-off-by: Akinobu Mita Acked-by: Hugh Dickins Acked-by: Carsten Otte Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f94e87cdeaaac9f0f9a28a5dd2a5070b87cd3e8 Author: Dan Williams Date: Tue Jan 8 15:32:53 2008 -0800 md: fix data corruption when a degraded raid5 array is reshaped We currently do not wait for the block from the missing device to be computed from parity before copying data to the new stripe layout. The change in the raid6 code is not techincally needed as we don't delay data block recovery in the same way for raid6 yet. But making the change now is safer long-term. This bug exists in 2.6.23 and 2.6.24-rc Cc: Signed-off-by: Dan Williams Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b7741b3325d0d94c88b2ad46657a536890aaa2f Author: Sebastian Siewior Date: Tue Jan 8 15:32:47 2008 -0800 KEYS: fix macro Commit 664cceb0093b755739e56572b836a99104ee8a75 changed the parameters of the function make_key_ref(). The macros that are used in case CONFIG_KEY is not defined did not change. Cc: David Howells Signed-off-by: Sebastian Siewior Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f966be8996f2829406324c68e4c67c2d64d864b Author: OGAWA Hirofumi Date: Tue Jan 8 15:32:41 2008 -0800 fat: optimize fat_count_free_clusters() On large partition, scanning the free clusters is very slow if users doesn't use "usefree" option. For optimizing it, this patch uses sb_breadahead() to read of FAT sectors. On some user's 15GB partition, this patch improved it very much (1min => 600ms). The following is the result of 2GB partition on my machine. without patch: root@devron (/)# time df -h > /dev/null real 0m1.202s user 0m0.000s sys 0m0.440s with patch: root@devron (/)# time df -h > /dev/null real 0m0.378s user 0m0.012s sys 0m0.168s Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d52df2e2ea2d881b1439bbdec7f67c27e0f47941 Author: David Brownell Date: Tue Jan 8 15:32:40 2008 -0800 spi_bitbang: always grab lock with irqs blocked Fix a glitch reported by lockdep in the spi_bitbang code: it needs to consistently block IRQs when holding that spinlock. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2b484a29cc9f565b013c0e7f1e0cc22dec12456 Author: Thomas Gleixner Date: Wed Jan 9 00:18:28 2008 +0100 x86: fix do_fork_idle section mismatch With CPU_HOTPLUG=n: WARNING: vmlinux.o(.text+0x104f8): Section mismatch: reference to .init.text:fork_idle (between 'do_fork_idle' and 'lapic_timer_broadcast') do_fork_idle() needs to be __cpuinit. It can be static as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ad696989b4a2fce8494964814376aef41da3ff55 Author: Dave Dillow Date: Thu Jan 3 22:35:41 2008 -0500 IB/srp: Release transport before removing host The documented call sequence for removing a host is to call the transport xxx_remove_host() prior to scsi_remove_host(). The SRP transport used to crash when that order was followed, but as it is now fixed, use the documented order. Signed-off-by: David Dillow Acked-by: FUJITA Tomonori Signed-off-by: Roland Dreier commit e1bb7843e4c25e6e331890a2ca512581e844bbaa Author: Dotan Barak Date: Mon Jan 7 09:01:25 2008 +0200 IB/mlx4: Fix value of pkey_index in QP1 completions Fix the value of pkey_index in completions to get a valid value for GSI QPs. Without this fix, incoming GSI packets on port 2 get an invalid P_Key index in the completion, which prevents the MAD layer from sending back a response, which can make the second port of ConnectX HCAs completely useless. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit d238998fbfa49f30b02f0a5de5294ca53c58348c Author: Linus Torvalds Date: Tue Jan 8 11:46:37 2008 -0800 Revert "hda_intel suspend latency: shorten codec read" This reverts commit 57a04513cb35086d54bcb2cb92e6627fc8fa0fae. Harald Dunkel reports that it broke sound for him: "Alsa stopped working for me. I still can access /dev/dsp, change the volume and so on, but the speakers are quiet." Reverting it fixed things for him. Reported-and-tested-by: Harald Dunkel Acked-by: Takashi Iwai Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ed96f2470bf5d315770dc199f0250c1b8d3c2f3c Author: Sean Hefty Date: Wed Jan 2 12:00:24 2008 -0800 MAINTAINERS: Update Sean Hefty's email address My Unix email account is being discontinued at end of Q1 '08. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit b59f8197c5ddd0d5d74b663650be5449dacd34aa Author: Roland McGrath Date: Mon Jan 7 14:23:34 2008 -0800 acct: real_parent ppid The ac_ppid field reported in process accounting records should match what getppid() would have returned to that process, regardless of whether a debugger is attached. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 45626bb26a6ecd163e5eeddd14a6137052ec4495 Author: Roland McGrath Date: Mon Jan 7 14:22:44 2008 -0800 core dump: real_parent ppid The pr_ppid field reported in core dumps should match what getppid() would have returned to that process, regardless of whether a debugger is attached. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 5b3f0e6c1c9638b11a1063bf93c60a0766550b02 Author: Venki Pallipadi Date: Mon Jan 7 17:50:10 2008 -0500 ACPI: Reintroduce run time configurable max_cstate for !CPU_IDLE case This was writeable in 2.6.23 but the cpuidle merge made it read-only. But some people's scripts (ie: Mark's) were writing to it. As an unhappy compromise, make max_cstate writeable again if the kernel was configured without CONFIG_CPU_IDLE. http://bugzilla.kernel.org/show_bug.cgi?id=9683 Signed-off-by: Venkatesh Pallipadi Cc: Mark Lord Cc: Arjan van de Ven Cc: Ingo Molnar Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit ba820c5c51296343be202c9afb072b7b943099cb Author: Ralf Baechle Date: Mon Jan 7 15:09:50 2008 +0000 [MIPS] Fix CONFIG_BOOT_RAW. This was broken by 017e3a492683b32d17dcd1b13b279745cc656073 (lmo) / 396a2ae08e5080b140330645743ab2567f6bc426 (kernel.org). Signed-off-by: Ralf Baechle commit ce202cbb9e0b623671e8ecb3d53afdd42b8e458f Author: Thomas Bogendoerfer Date: Fri Jan 4 23:38:31 2008 +0100 [MIPS] Assume R4000/R4400 newer than 3.0 don't have the mfc0 count bug This seems as reasonable assumption and gets some SNI machines to work which currently must rely on the cp0 counter as clocksource. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit c990081bf87bf5afcd6d39d8bfce9c6d60b1f2eb Author: Thomas Bogendoerfer Date: Sat Jan 5 12:13:11 2008 +0100 [MIPS] Fix IP32 breakage - suppress master aborts during config read - set io_map_base - only fixup end of iomem resource to avoid failing request_resource in serial driver - killed useless setting of crime_int bit, which caused wrong interrupts - use physcial address for serial port platform device and let 8250 driver do the ioremap Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 9cfacb790f581000a7ec8455785d131aca923ded Author: Sergei Shtylyov Date: Tue Dec 25 21:00:45 2007 +0300 [MIPS] Alchemy: Fix use of __init code bug exposed by modpost warning WARNING: vmlinux.o(.text+0x1ca608): Section mismatch: reference to .init.text: add_wired_entry (between 'config_access' and 'config_read') by refactoring the code calling add_wired_entry() from config_access() to a separate function which is called from aau1x_pci_setup(). While at it: - make some unnecassarily global variables 'static'; - fix the letter case, whitespace, etc. in the comments... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit c4eee283e004751143fb81dbf4f8cfe7b8dcc970 Author: Atsushi Nemoto Date: Mon Nov 12 01:05:16 2007 +0900 [MIPS] Move inclusing of kernel/time/Kconfig menu to appropriate place CONFIG_NO_HZ, CONFIG_HIGH_RES_TIMERS should be selected in "Kernel type" menu, not in "CPU selection" menu. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 89dab3573aa1d95fd222ee4551f964bfa4c16823 Author: Hans Verkuil Date: Mon Jan 7 06:46:26 2008 -0200 V4L/DVB (6916): ivtv: udelay has to be changed *after* the eeprom was read, not before The eeprom decides which Hauppauge model it is, so the decision whether to use an udelay of 5 or 10 needs to be taken after reading the eeprom, not before. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9030f573031244dcffee026cc5e7e2f96f972ce Author: Gregor Jasny Date: Sun Jan 6 11:15:54 2008 -0300 V4L/DVB (6944a): Fix Regression VIDIOCGMBUF ioctl hangs on bttv driver Fix bttv VIDIOCGMBUF locking like done in commit 820eacd84cff23b76693f4be1e28feb672f4488f. Signed-off-by: Gregor Jasny Signed-off-by: Mauro Carvalho Chehab commit 844b43adba74d97f15e56b103c97bfcccaa01aa6 Author: Carmelo Amoroso Date: Mon Jan 7 13:50:18 2008 +0900 sh: Fix argument page dcache flushing regression. In the do_execve() path, argument page handling used to explicitly call flush_dcache_page() for each page, this has since been reworked and uses flush_kernel_dcache_page() instead, which is presently a nop. Doing a simple modprobe/rmmod in a loop under busybox consistently manages to crash without providing a sane flush_kernel_dcache_page() implementation, so, plug in a simple implementation. Signed-off-by: Carmelo Amoroso Signed-off-by: Paul Mundt commit 3ce54450461bad18bbe1f9f5aa3ecd2f8e8d1235 Author: Linus Torvalds Date: Sun Jan 6 13:45:38 2008 -0800 Linux 2.6.24-rc7 commit a263898f628dd21e59210b547986c154788f628e Author: Ingo Molnar Date: Sun Dec 30 11:58:17 2007 +0100 CPU hotplug: fix cpu_is_offline() on !CONFIG_HOTPLUG_CPU make randconfig bootup testing found that the cpufreq code crashes on bootup, if the powernow-k8 driver is enabled and if maxcpus=1 passed on the boot line to a !CONFIG_HOTPLUG_CPU kernel. First lockdep found out that there's an inconsistent unlock sequence: ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- swapper/1 is trying to release lock (&per_cpu(cpu_policy_rwsem, cpu)) at: [] unlock_policy_rwsem_write+0x3c/0x42 but there are no more locks to release! Call Trace: [] unlock_policy_rwsem_write+0x3c/0x42 [] print_unlock_inbalance_bug+0x104/0x12c [] mark_held_locks+0x56/0x94 [] unlock_policy_rwsem_write+0x3c/0x42 [] cpufreq_add_dev+0x2a8/0x5c4 ... then shortly afterwards the cpufreq code crashed on an assert: ------------[ cut here ]------------ kernel BUG at drivers/cpufreq/cpufreq.c:1068! invalid opcode: 0000 [1] SMP [...] Call Trace: [] sysdev_driver_unregister+0x5b/0x91 [] cpufreq_register_driver+0x15d/0x1a2 [] powernowk8_init+0x86/0x94 [...] ---[ end trace 1e9219be2b4431de ]--- the bug was caused by maxcpus=1 bootup, which brought up the secondary core as !cpu_online() but !cpu_is_offline() either, which on on !CONFIG_HOTPLUG_CPU is always 0 (include/linux/cpu.h): /* CPUs don't go offline once they're online w/o CONFIG_HOTPLUG_CPU */ static inline int cpu_is_offline(int cpu) { return 0; } but the cpufreq code uses cpu_online() and cpu_is_offline() in a mixed way - the low-level drivers use cpu_online(), while the cpufreq core uses cpu_is_offline(). This opened up the possibility to add the non-initialized sysdev device of the secondary core: cpufreq-core: trying to register driver powernow-k8 cpufreq-core: adding CPU 0 powernow-k8: BIOS error - no PSB or ACPI _PSS objects cpufreq-core: initialization failed cpufreq-core: adding CPU 1 cpufreq-core: initialization failed which then blew up. The fix is to make cpu_is_offline() always the negation of cpu_online(). With that fix applied the kernel boots up fine without crashing: Calling initcall 0xffffffff80cc0510: powernowk8_init+0x0/0x94() powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ processors (1 cpu cores) (version 2.20.00) powernow-k8: BIOS error - no PSB or ACPI _PSS objects initcall 0xffffffff80cc0510: powernowk8_init+0x0/0x94() returned -19. initcall 0xffffffff80cc0510 ran for 19 msecs: powernowk8_init+0x0/0x94() Calling initcall 0xffffffff80cc328f: init_lapic_nmi_sysfs+0x0/0x39() We could fix this by making CPU enumeration aware of max_cpus, but that would be more fragile IMO, and the cpu_online(cpu) != cpu_is_offline(cpu) possibility was quite confusing and a continuous source of bugs too. Most distributions have kernels with CPU hotplug enabled, so this bug remained hidden for a long time. Bug forensics: The broken cpu_is_offline() API variant was introduced via: commit a59d2e4e6977e7b94e003c96a41f07e96cddc340 Author: Rusty Russell Date: Mon Mar 8 06:06:03 2004 -0800 [PATCH] minor cleanups for hotplug CPUs ( this predates linux-2.6.git, this commit is available from Thomas's historic git tree. ) Then 1.5 years later the cpufreq code made use of it: commit c32b6b8e524d2c337767d312814484d9289550cf Author: Ashok Raj Date: Sun Oct 30 14:59:54 2005 -0800 [PATCH] create and destroy cpufreq sysfs entries based on cpu notifiers + if (cpu_is_offline(cpu)) + return 0; which is a correct use of the subtly broken new API. v2.6.15 then shipped with this bug included. then it took two more years for random-kernel qa to hit it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 57a04513cb35086d54bcb2cb92e6627fc8fa0fae Author: Ingo Molnar Date: Sun Jan 6 21:09:53 2008 +0100 hda_intel suspend latency: shorten codec read not sleeping for every codec read/write but doing a short udelay and a conditional reschedule has cut suspend+resume latency by about 1 second on my T60. The patch also fixes the unexpected codec-connection errors that happen more often in the new power-save mode: http://lkml.org/lkml/2007/11/8/255 http://bugzilla.kernel.org/show_bug.cgi?id=9332 Signed-off-by: Ingo Molnar Acked-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 430cb436103ce1b58cb80e7c3d44f4d4a8110caa Author: Jan Altenberg Date: Mon Dec 10 10:06:40 2007 +0100 [ARM] 4691/1: add missing i2c_board_info struct for at91rm9200 - Add missing i2c_board_info struct for at91rm9200 Signed-off-by: Jan Altenberg Acked-by: Andrew Victor Signed-off-by: Russell King commit 3fee37c1e2579ed3d6090f690e5fd8cf7fa3bb44 Author: Akos Maroy Date: Sun Jan 6 11:15:55 2008 +0100 fix: using joysticks in 32 bit applications on 64 bit systems unfortunately 32 bit apps don't see the joysticks on a 64 bit system. this prevents one playing X-Plane (http://www.x-plane.com/) or other 32-bit games with joysticks. this is a known issue, and already raised several times: http://readlist.com/lists/vger.kernel.org/linux-kernel/28/144411.html http://www.brettcsmith.org/wiki/wiki.cgi?action=browse&diff=1&id=OzyComputer/Joystick unfortunately this is still not fixed in the mainline kernel. it would be nice to have this fixed, so that people can play these games without having to patch their kernel. the following patch solves the problem on 2.6.22. Signed-off-by: Thomas Gleixner Acked-by: Christoph Hellwig Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 7b3d9545f9ac8b31528dd2d6d8ec8d19922917b8 Author: Linus Torvalds Date: Sun Jan 6 10:17:12 2008 -0800 Revert "scsi: revert "[SCSI] Get rid of scsi_cmnd->done"" This reverts commit ac40532ef0b8649e6f7f83859ea0de1c4ed08a19, which gets us back the original cleanup of 6f5391c283d7fdcf24bf40786ea79061919d1e1d. It turns out that the bug that was triggered by that commit was apparently not actually triggered by that commit at all, and just the testing conditions had changed enough to make it appear to be due to it. The real problem seems to have been found by Peter Osterlund: "pktcdvd sets it [block device size] when opening the /dev/pktcdvd device, but when the drive is later opened as /dev/scd0, there is nothing that sets it back. (Btw, 40944 is possible if the disk is a CDRW that was formatted with "cdrwtool -m 10236".) The problem is that pktcdvd opens the cd device in non-blocking mode when pktsetup is run, and doesn't close it again until pktsetup -d is run. The effect is that if you meanwhile open the cd device, blkdev.c:do_open() doesn't call bd_set_size() because bdev->bd_openers is non-zero." In particular, to repeat the bug (regardless of whether commit 6f5391c283d7fdcf24bf40786ea79061919d1e1d is applied or not): " 1. Start with an empty drive. 2. pktsetup 0 /dev/scd0 3. Insert a CD containing an isofs filesystem. 4. mount /dev/pktcdvd/0 /mnt/tmp 5. umount /mnt/tmp 6. Press the eject button. 7. Insert a DVD containing a non-writable filesystem. 8. mount /dev/scd0 /mnt/tmp 9. find /mnt/tmp -type f -print0 | xargs -0 sha1sum >/dev/null 10. If the DVD contains data beyond the physical size of a CD, you get I/O errors in the terminal, and dmesg reports lots of "attempt to access beyond end of device" errors." which in turn is because the nested open after the media change won't cause the size to be set properly (because the original open still holds the block device, and we only do the bd_set_size() when we don't have other people holding the device open). The proper fix for that is probably to just do something like bdev->bd_inode->i_size = (loff_t)get_capacity(disk)<<9; in fs/block_dev.c:do_open() even for the cases where we're not the original opener (but *not* call bd_set_size(), since that will also change the block size of the device). Cc: Peter Osterlund Cc: James Bottomley Cc: Matthew Wilcox Cc: Ingo Molnar Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 911833440b498e3e4fe2f12c1ae2bd44400c7004 Author: Dave Dillow Date: Thu Jan 3 21:34:49 2008 -0500 [SCSI] SRP transport: only remove our own entries The SCSI SRP transport class currently iterates over all children devices of the host that is being removed in srp_remove_host(). However, not all of those children were created by the SRP transport, and removing them will cause corruption and an oops when their creator tries to remove them. Signed-off-by: David Dillow Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 7fde4d779b83898851959f837c9b26fe07ee91c9 Author: Matthias Goebl Date: Fri Jan 4 03:45:28 2008 -0800 [ISDN]: i4l: Fix DLE handling for i4l-audio The DLE handling in i4l-audio seems to be broken. It produces spurious DLEs so asterisk 1.2.24 with chan_modem_i4l gets irritated, the error message is: "chan_modem_i4l.c:450 i4l_read: Value of escape is ^ (17)". -> There shouldn't be a DLE-^. If a spurious DLE-ETX occurs, the audio connection even dies. I use a "AVM Fritz!PCI" isdn card. I found two issues that only appear if ISDN_AUDIO_SKB_DLECOUNT(skb) > 0: - The loop in isdn_tty.c:isdn_tty_try_read() doesn't escape a DLE if it's the last character. - The loop in isdn_common.c:isdn_readbchan_tty() doesn't copy its characters, it only remembers the last one ("last = *p;"). Compare it with the loop in isdn_common.c:isdn_readbchan(), that *does* copy them ("*cp++ = *p;") correctly. The special handling of the "last" character made it more difficult. I compared it to linux-2.4.19: There was no "last"-handling and both loops did escape and copy all characters correctly. Signed-off-by: Matthias Goebl Signed-off-by: David S. Miller commit 00409bb045887ec5e7b9e351bc080c38ab6bfd33 Author: Matthias Goebl Date: Fri Jan 4 02:19:30 2008 -0800 [ISDN] i4l: 'NO CARRIER' message lost after ldisc flush The ISDN tty layer doesn't produce a 'NO CARRIER' message after hangup. I suppose it broke when tty_buffer_flush() has been added to tty_ldisc_flush() in the commit below. For isdn_tty_modem_result(RESULT_NO_CARRIER..) the message inserted via isdn_tty_at_cout() -> tty_insert_flip_char() is flushed immediately by tty_ldisc_flush() -> tty_buffer_flush(). More annoyingly, the audio abort sequence DLE-ETX is also lost. This patch fixes only active audio connections, because I assume that nobody changes the line discipline for audio. For non-audio connections the problem remains. Maybe we can remove the tty_ldisc_flush() in isdn_tty_modem_result() at all because it's done at tty_close? On Mon, May 07, 2007 at 04:05:57PM -0500, Paul Fulghum wrote: > Flush the tty flip buffer when the line discipline > input queue is flushed, including the user call > tcflush(TCIFLUSH/TCIOFLUSH). This prevents unexpected > stale data after a user application calls tcflush(). > > Cc: Alan Cox > Cc: Antonino Ingargiola > Signed-off-by: Paul Fulghum > > --- a/drivers/char/tty_io.c 2007-05-04 05:46:55.000000000 -0500 > +++ b/drivers/char/tty_io.c 2007-05-05 03:23:46.000000000 -0500 > @@ -1240,6 +1263,7 @@ void tty_ldisc_flush(struct tty_struct * > ld->flush_buffer(tty); > tty_ldisc_deref(ld); > } > + tty_buffer_flush(tty); [..] Signed-off-by: Matthias Goebl Signed-off-by: David S. Miller commit 134d99e302618eeb102c2a5be1f9e98696288bdd Author: Li Zefan Date: Fri Jan 4 01:52:02 2008 -0800 [CONNECTOR]: Return proper error code in cn_call_callback() Error code should be set to EINVAL instead of ENODEV if !queue_work(). There's another call of queue_work() which may set err to EINVAL. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 44344b2a85f03326c7047a8c861b0c625c674839 Author: Mark McLoughlin Date: Fri Jan 4 00:56:25 2008 -0800 [INET]: Fix netdev renaming and inet address labels When re-naming an interface, the previous secondary address labels get lost e.g. $> brctl addbr foo $> ip addr add 192.168.0.1 dev foo $> ip addr add 192.168.0.2 dev foo label foo:00 $> ip addr show dev foo | grep inet inet 192.168.0.1/32 scope global foo inet 192.168.0.2/32 scope global foo:00 $> ip link set foo name bar $> ip addr show dev bar | grep inet inet 192.168.0.1/32 scope global bar inet 192.168.0.2/32 scope global bar:2 Turns out to be a simple thinko in inetdev_changename() - clearly we want to look at the address label, rather than the device name, for a suffix to retain. Signed-off-by: Mark McLoughlin Signed-off-by: David S. Miller commit 14be85f555fa53a3b80119569e4c2fe88aa9fd3e Author: David S. Miller Date: Fri Jan 4 00:16:58 2008 -0800 [CASSINI]: Bump driver version and release date. Signed-off-by: David S. Miller commit 86216268b9cdad57f9aa540ebf49cbae2f38b583 Author: David S. Miller Date: Fri Jan 4 00:23:18 2008 -0800 [CASSINI]: Fix two obvious NAPI bugs. 1) close should do napi_disable() not napi_enable 2) remove unused local var 'todo' Signed-off-by: David S. Miller commit d011a231675b240157a3c335dd53e9b849d7d30d Author: David S. Miller Date: Fri Jan 4 00:03:56 2008 -0800 [CASSINI]: Set skb->truesize properly on receive packets. skb->truesize was not being incremented at all to reflect the page based data added to RX SKBs. Signed-off-by: David S. Miller commit 9e1848b60d09a715ff1e19aa6fda47e061d04965 Author: David S. Miller Date: Thu Jan 3 20:11:31 2008 -0800 [CASSINI]: Program parent Intel31154 bridge when necessary. Signed-off-by: David S. Miller commit 9de4dfb4c7176e5bb232a21cdd8df78da2b15cac Author: David S. Miller Date: Thu Jan 3 19:33:50 2008 -0800 [CASSINI]: Revert 'dont touch page_count'. This reverts changeset fa4f0774d7c6cccb4d1fda76b91dd8eddcb2dd6a ([CASSINI]: dont touch page_count) because it breaks the driver. The local page counting added by this changeset did not account for the asynchronous page count changes done by kfree_skb() and friends. The change adds extra atomics and on top of it all appears to be totally unnecessary as well. Signed-off-by: David S. Miller Acked-by: Nick Piggin commit e5e025401f6e926c1d9dc3f3f2813cf98a2d8708 Author: Al Viro Date: Thu Jan 3 18:49:00 2008 -0800 [CASSINI]: Fix endianness bug. Here's proposed fix for RX checksum handling in cassini; it affects little-endian working with half-duplex gigabit, but obviously needs testing on big-endian too. The problem is, we need to convert checksum to fixed-endian *before* correcting for (unstripped) FCS. On big-endian it won't matter (conversion is no-op), on little-endian it will, but only if FCS is not stripped by hardware; i.e. in half-duplex gigabit mode when ->crc_size is set. cassini.c part is that fix, cassini.h one consists of trivial endianness annotations. With that applied the sucker is endian-clean, according to sparse. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2d60abc2a937bf77575c3b8c83faeeb84a84e654 Author: Eric Dumazet Date: Thu Jan 3 20:43:21 2008 -0800 [XFRM]: Do not define km_migrate() if !CONFIG_XFRM_MIGRATE In include/net/xfrm.h we find : #ifdef CONFIG_XFRM_MIGRATE extern int km_migrate(struct xfrm_selector *sel, u8 dir, u8 type, struct xfrm_migrate *m, int num_bundles); ... #endif We can also guard the function body itself in net/xfrm/xfrm_state.c with same condition. (Problem spoted by sparse checker) make C=2 net/xfrm/xfrm_state.o ... net/xfrm/xfrm_state.c:1765:5: warning: symbol 'km_migrate' was not declared. Should it be static? ... Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 76975f8a3186dae501584d0155ea410464f62815 Author: Julia Lawall Date: Tue Jan 1 19:30:30 2008 -0800 [X25]: Add missing x25_neigh_put The function x25_get_neigh increments a reference count. At the point of the second goto out, the result of calling x25_get_neigh is only stored in a local variable, and thus no one outside the function will be able to decrease the reference count. Thus, x25_neigh_put should be called before the return in this case. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * if ((E = x25_get_neigh(...)) == NULL) S ... when != x25_neigh_put(...,(T1)E,...) when != if (E != NULL) { ... x25_neigh_put(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != x25_neigh_put(...,(T2)E,...) when != if (E != NULL) { ... x25_neigh_put(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 2022c1f136067f673964dcaffa1cae1008ddcd74 Author: Russ Anderson Date: Thu Jan 3 10:23:49 2008 -0600 [IA64] Update Altix nofault code Montecito and Montvale behaves slightly differently than previous Itanium processors, resulting in the MCA due to a failed PIO read to sometimes surfacing outside the nofault code. This code is based on discussions with Intel CPU architects and verified at customer sites. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 4ca8ad7e4c38cd7f32b11e60418d06fa912a1a37 Author: Russ Anderson Date: Thu Dec 20 17:46:52 2007 -0600 [IA64] Update Altix BTE error return status patch I neglected to send Tony the most recent version of the patch ("Fix Altix BTE error return status") applied as commit: 64135fa97ce016058f95345425a9ebd04ee1bd2a This patch gets it up to date. Without this patch on shub2, if there is no error xpcBteUnmappedError is returned instead of xpcSuccess. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit ecb77fa96ceda9cae88015bfe3293ffe19006159 Author: Samuel Thibault Date: Thu Jan 3 16:17:54 2008 +0000 Console is utf-8 by default The console is now by default in UTF-8 mode. Fix the documentation on the default value, so that we can explain behaviour that otherwise causes bug-reports like this: http://bugzilla.kernel.org/show_bug.cgi?id=9319 Also add the needed "vt." prefix, so that the boot-time config options to switch back to the legacy 8-bit mode is actually documented correctly. Signed-off-by: Samuel Thibault Signed-off-by: Linus Torvalds commit b0e47c8b79154772a436f25bf7646733e1d6194c Author: David Dillow Date: Thu Jan 3 10:25:27 2008 -0800 IB/srp: Fix list corruption/oops on module reload Add a missing call to srp_remove_host() in srp_remove_one() so that we don't leak SRP transport class list entries. Tested-by: David Dillow Acked-by: FUJITA Tomonori Signed-off-by: Roland Dreier commit 56b11288cb92104d3589930efdc7d0f50b8f4328 Author: Richard Purdie Date: Wed Jan 2 00:54:49 2008 +0100 [ARM] 4735/1: Unbreak pxa25x suspend/resume Suspend/resume on the pxa25x was fairly obviously broken in revision 711be5ccfe9a02ba560aa918a008c31ea4760163. This patch fixes the damage by adding back the missing code. Signed-off-by: Richard Purdie Acked-by: Eric Miao Signed-off-by: Russell King commit ed2fa4dd41adcac0b82dea029bfb7d856a899258 Author: Richard Purdie Date: Thu Jan 3 10:46:21 2008 -0500 Input: pass EV_PWR events to event handlers input_handle_event() used to pass EV_PWR events to event handlers but no longer does so in 2.6.23. Modules to trigger power management events based on input power events exist but rely on the EV_PWR events being passed to the input event handlers. Signed-off-by: Richard Purdie Signed-off-by: Dmitry Torokhov commit 9fe4f2aadc3067e36f211f9d8a01634bbc4f7eb4 Author: Richard Purdie Date: Thu Jan 3 10:46:13 2008 -0500 Input: spitzkbd - fix suspend key handling The spitz keyboard driver reports KEY_SUSPEND events but doesn't register its use of this event in the keybit bitfield, breaking input events for this key. This patch fixes that by registering the key in the keybit bitfield. Signed-off-by: Richard Purdie Signed-off-by: Dmitry Torokhov commit f5ad58675149077b2046905d54fb831873288058 Author: Ivan Kokshaysky Date: Thu Jan 3 10:46:03 2008 -0500 gameport: don't export functions that are static inline This does not make sense and moreover causes build failures on alpha. Signed-off-by: Ivan Kokshaysky Signed-off-by: Dmitry Torokhov commit e6e21970baff4845de74584e2efc8c964a55d574 Author: Trond Myklebust Date: Wed Jan 2 16:27:16 2008 -0500 NFSv4: Fix open_to_lock_owner sequenceid allocation... NFSv4 file locking is currently completely broken since it doesn't respect the OPEN sequencing when it is given an unconfirmed lock_owner and needs to do an open_to_lock_owner. Worse: it breaks the sunrpc rules by doing a GFP_KERNEL allocation inside an rpciod callback. Fix is to preallocate the open seqid structure in nfs4_alloc_lockdata if we see that the lock_owner is unconfirmed. Then, in nfs4_lock_prepare() we wait for either the open_seqid, if the lock_owner is still unconfirmed, or else fall back to waiting on the standard lock_seqid. Signed-off-by: Trond Myklebust commit bb22629ee87eed5054f8b508dbe7c58abad0a324 Author: Trond Myklebust Date: Wed Jan 2 15:19:18 2008 -0500 NFSv4: nfs4_open_confirm must not set the open_owner as confirmed on error RFC3530 states that the open_owner is confirmed if and only if the client sends an OPEN_CONFIRM request with the appropriate sequence id and stateid within the lease period. Signed-off-by: Trond Myklebust commit 3392c34922130d1dca9ad436c358330daa85e94e Author: James Morris Date: Wed Dec 26 11:20:43 2007 +1100 NFS: add newline to kernel warning message in auth_gss code Add newline to kernel warning message in gss_create(). Signed-off-by: James Morris Signed-off-by: Trond Myklebust commit b274b48f3ef6e43e3831e8793c697a9573a607af Author: Trond Myklebust Date: Wed Jan 2 13:52:03 2008 -0500 NFSv4: Fix circular locking dependency in nfs4_kill_renewd Erez Zadok reports: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.24-rc6-unionfs2 #80 ------------------------------------------------------- umount.nfs4/4017 is trying to acquire lock: (&(&clp->cl_renewd)->work){--..}, at: [] __cancel_work_timer+0x83/0x17f but task is already holding lock: (&clp->cl_sem){----}, at: [] nfs4_kill_renewd+0x17/0x29 [nfs] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&clp->cl_sem){----}: [] __lock_acquire+0x9cc/0xb95 [] lock_acquire+0x5f/0x78 [] down_read+0x3a/0x4c [] nfs4_renew_state+0x1c/0x1b8 [nfs] [] run_workqueue+0xd9/0x1ac [] worker_thread+0x7a/0x86 [] kthread+0x3b/0x62 [] kernel_thread_helper+0x7/0x10 [] 0xffffffff -> #0 (&(&clp->cl_renewd)->work){--..}: [] __lock_acquire+0x8bc/0xb95 [] lock_acquire+0x5f/0x78 [] __cancel_work_timer+0xb7/0x17f [] cancel_delayed_work_sync+0xb/0xd [] nfs4_kill_renewd+0x1e/0x29 [nfs] [] nfs_free_client+0x37/0x9e [nfs] [] nfs_put_client+0x5d/0x62 [nfs] [] nfs_free_server+0x75/0xae [nfs] [] nfs4_kill_super+0x27/0x2b [nfs] [] deactivate_super+0x3f/0x51 [] mntput_no_expire+0x42/0x67 [] path_release_on_umount+0x15/0x18 [] sys_umount+0x1a3/0x1cb [] sys_oldumount+0x19/0x1b [] sysenter_past_esp+0x5f/0xa5 [] 0xffffffff Looking at the code, it would seem that taking the clp->cl_sem in nfs4_kill_renewd is completely redundant, since we're already guaranteed to have exclusive access to the nfs_client (we're shutting down). Signed-off-by: Trond Myklebust commit e9cc6c234bfe414ef36f484e3ad8be621854c440 Author: Trond Myklebust Date: Wed Jan 2 13:28:57 2008 -0500 NFS: Fix a possible Oops in fs/nfs/super.c Sigh... commit 4584f520e1f773082ef44ff4f8969a5d992b16ec (NFS: Fix NFS mountpoint crossing...) had a slight flaw: server can be NULL if sget() returned an existing superblock. Fix the fix by dereferencing s->s_fs_info. Thanks to Coverity/Adrian Bunk and Frank Filz for spotting the bug. (See http://bugzilla.kernel.org/show_bug.cgi?id=9647) Also add in the same namespace Oops fix for NFSv4 in both the mountpoint crossing case, and the referral case. Signed-off-by: Trond Myklebust commit 58e6e78119da2bdade9f6f588155f0320072b76b Author: Jean Delvare Date: Thu Jan 3 07:33:31 2008 -0500 hwmon: (w83627ehf) Be more careful when changing VID input level The VID input level change has been reported to cause trouble. Be more careful in this respect: * Only change the level on the W83627EHF/EHG. The W83627DHG is more complex in this respect. * Don't change the level if the VID pins are in output mode. * Only set the level to TTL if VRM 9.x is used. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit b8c9a18712f7b617fda66d878ce3759c9e575ba0 Author: Linus Torvalds Date: Wed Jan 2 13:48:27 2008 -0800 Fix kernel/ptrace.c compile problem (missing "may_attach()") The previous commit missed one use of "may_attach()" that had been renamed to __ptrace_may_attach(). Tssk, tssk, Al. Signed-off-by: Linus Torvalds commit 831830b5a2b5d413407adf380ef62fe17d6fcbf2 Author: Al Viro Date: Wed Jan 2 14:09:57 2008 +0000 restrict reading from /proc//maps to those who share ->mm or can ptrace pid Contents of /proc/*/maps is sensitive and may become sensitive after open() (e.g. if target originally shares our ->mm and later does exec on suid-root binary). Check at read() (actually, ->start() of iterator) time that mm_struct we'd grabbed and locked is - still the ->mm of target - equal to reader's ->mm or the target is ptracable by reader. Signed-off-by: Al Viro Acked-by: Rik van Riel Signed-off-by: Linus Torvalds commit ac40532ef0b8649e6f7f83859ea0de1c4ed08a19 Author: Ingo Molnar Date: Wed Jan 2 17:25:34 2008 +0100 scsi: revert "[SCSI] Get rid of scsi_cmnd->done" This reverts commit 6f5391c283d7fdcf24bf40786ea79061919d1e1d ("[SCSI] Get rid of scsi_cmnd->done") that was supposed to be a cleanup commit, but apparently it causes regressions: Bug 9370 - v2.6.24-rc2-409-g9418d5d: attempt to access beyond end of device http://bugzilla.kernel.org/show_bug.cgi?id=9370 this patch should be reintroduced in a more split-up form to make testing of it easier. Signed-off-by: Ingo Molnar Acked-by: Matthew Wilcox Cc: James Bottomley Signed-off-by: Linus Torvalds commit 158a962422e4a54dc256b6a9b9562f3d30d34d9c Author: Linus Torvalds Date: Wed Jan 2 13:04:48 2008 -0800 Unify /proc/slabinfo configuration Both SLUB and SLAB really did almost exactly the same thing for /proc/slabinfo setup, using duplicate code and per-allocator #ifdef's. This just creates a common CONFIG_SLABINFO that is enabled by both SLUB and SLAB, and shares all the setup code. Maybe SLOB will want this some day too. Reviewed-by: Pekka Enberg Signed-off-by: Linus Torvalds commit 751bf4d7865e4ced406be93b04c7436d866d3684 Author: James Bottomley Date: Wed Jan 2 11:14:30 2008 -0600 [SCSI] scsi_sysfs: restore prep_fn when ULD is removed A recent bug report: http://bugzilla.kernel.org/show_bug.cgi?id=9674 Was caused because the ULDs now set their own prep functions, but don't necessarily reset the prep function back to the SCSI default when they are removed. This leads to panics if commands are sent to the device after the module is removed because the prep_fn is still pointing to the old module code. The fix for this is to implement a bus remove method that resets the prep_fn pointer correctly before calling the ULD specific driver remove method. Signed-off-by: James Bottomley commit 6b6adc22a01941165d5af9a3e69e28e948b28f47 Author: Pekka Enberg Date: Wed Jan 2 13:07:25 2008 +0200 slub: register slabinfo to procfs We need to register slabinfo to procfs when CONFIG_SLUB is enabled to make the file actually visible to user-space. Signed-off-by: Pekka Enberg Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit a5a971129cc6155e26315fd28a450505ccc35fd8 Author: Paul Mackerras Date: Wed Jan 2 15:56:30 2008 +1100 [POWERPC] Fix build failure on Cell when CONFIG_SPU_FS=y Commit aed3a8c9bb1a8623a618232087c5ff62718e3b9a introduced a definition of notify_spus_active in .../cell/spu_syscalls.c, and another definition under #ifndef MODULE in .../cell/spufs/sched.c. The latter is not necessary and causes the build to fail when CONFIG_SPU_FS=y, so this removes it. It also removes the export of do_notify_spus_active, which is unnecessary. Signed-off-by: Paul Mackerras Acked-by: Arnd Bergmann Acked-by: Jeremy Kerr commit 57ed3eda977a215f054102b460ab0eb5d8d112e6 Author: Pekka J Enberg Date: Tue Jan 1 17:23:28 2008 +0100 slub: provide /proc/slabinfo This adds a read-only /proc/slabinfo file on SLUB, that makes slabtop work. [ mingo@elte.hu: build fix. ] Cc: Andi Kleen Cc: Christoph Lameter Cc: Peter Zijlstra Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 476c6c11a9ee4610ff0e4941e3851729f7caf062 Author: Rusty Russell Date: Tue Jan 1 21:48:36 2008 +1100 fix lguest rmmod "bad pgd" After 17d57a9206b4de6ad082ac9f2d2346985abbd2aa ("x86: fix x86-32 early fixmap initialization.") removing lg.ko caused a printk from vunmap: mm/memory.c:115: bad pgd 004b3027. On the second use after module load, the kernel crashes. This fixes the immediate problem (accessed and dirty bits not set as expected in pmd_none_or_clear_bad). I can't see why this would cause a crash, but I haven't been able to reproduce it once this is applied. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 97749cd9adbb2985e4b2aee1a59d6b970fe9c3a7 Author: Alexey Starikovskiy Date: Tue Jan 1 14:27:24 2008 -0500 ACPI: Make sysfs interface in ACPI power optional. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9494 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit c04209a7948b95e8c52084e8595e74e9428653d3 Author: Alexey Starikovskiy Date: Tue Jan 1 14:12:55 2008 -0500 ACPI: EC: Enable boot EC before bus_scan Some _STA methods called during bus_scan() might require EC region handler, which might be enabled later in the scan. Enable it explicitly before scan to avoid errors. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9627 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 56986d4210e5077d67e4eff538a316a6cc4e5158 Author: Mike Frysinger Date: Tue Jan 1 19:12:15 2008 +0100 x86: fix asm-x86/msr.h for user-space export Use __asm__ and __volatile__ in code that is exported to userspace. Wrap kernel functions with __KERNEL__ so they get scrubbed. No code changed: text data bss dec hex filename 9681036 1698924 3407872 14787832 e1a4f8 vmlinux.before 9681036 1698924 3407872 14787832 e1a4f8 vmlinux.after Signed-off-by: Mike Frysinger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e0c4ae06495494a38843da8445e2b6e1f59b9253 Author: Mike Frysinger Date: Tue Jan 1 19:12:15 2008 +0100 x86: fix asm-x86/byteorder.h for userspace export Since asm-x86/byteorder.h is exported to userspace, use __asm__ rather than asm in its code. Signed-Off-By: Mike Frysinger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f115cd580121a169cc964e1b3288f3116c67f3e Author: Richard Purdie Date: Mon Dec 31 23:11:11 2007 +0000 leds: Fix locomo LED driver oops Fix locomo-leds to use the correct struct device to prevent an oops. Signed-off-by: Richard Purdie commit 72f8da329e07ad8a72c1f0e96b8955cfeb7c7329 Author: Richard Purdie Date: Mon Dec 31 23:09:44 2007 +0000 leds: Fix leds_list_lock locking issues Covert leds_list_lock to a rw_sempahore to match previous LED trigger locking fixes, fixing lock ordering. Signed-off-by: Richard Purdie commit 90b2628f1fe94a667330d425a7fb76ec8d2a49ec Author: Ingo Molnar Date: Sun Dec 30 17:24:35 2007 +0100 sched: fix gcc warnings Meelis Roos reported these warnings on sparc64: CC kernel/sched.o In file included from kernel/sched.c:879: kernel/sched_debug.c: In function 'nsec_high': kernel/sched_debug.c:38: warning: comparison of distinct pointer types lacks a cast the debug check in do_div() is over-eager here, because the long long is always positive in these places. Mark this by casting them to unsigned long long. no change in code output: text data bss dec hex filename 51471 6582 376 58429 e43d sched.o.before 51471 6582 376 58429 e43d sched.o.after md5: 7f7729c111f185bf3ccea4d542abc049 sched.o.before.asm 7f7729c111f185bf3ccea4d542abc049 sched.o.after.asm Signed-off-by: Ingo Molnar commit 38b7da09cfdb2202f08476d6fb22a47649a177ec Author: Dave Young Date: Sat Dec 29 19:17:47 2007 -0800 [BLUETOOTH]: put_device before device_del fix Because of workqueue delay, the put_device could be called before device_del, so move it to del_conn. Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 2072c228c9a05c004a230620196da7607cdcc5b6 Author: Gavin McCullagh Date: Sat Dec 29 19:11:21 2007 -0800 [TCP]: use non-delayed ACK for congestion control RTT When a delayed ACK representing two packets arrives, there are two RTT samples available, one for each packet. The first (in order of seq number) will be artificially long due to the delay waiting for the second packet, the second will trigger the ACK and so will not itself be delayed. According to rfc1323, the SRTT used for RTO calculation should use the first rtt, so receivers echo the timestamp from the first packet in the delayed ack. For congestion control however, it seems measuring delayed ack delay is not desirable as it varies independently of congestion. The patch below causes seq_rtt and last_ackt to be updated with any available later packet rtts which should have less (and hopefully zero) delack delay. The rtt value then gets passed to ca_ops->pkts_acked(). Where TCP_CONG_RTT_STAMP was set, effort was made to supress RTTs from within a TSO chunk (!fully_acked), using only the final ACK (which includes any TSO delay) to generate RTTs. This patch removes these checks so RTTs are passed for each ACK to ca_ops->pkts_acked(). For non-delay based congestion control (cubic, h-tcp), rtt is sometimes used for rtt-scaling. In shortening the RTT, this may make them a little less aggressive. Delay-based schemes (eg vegas, veno, illinois) should get a cleaner, more accurate congestion signal, particularly for small cwnds. The congestion control module can potentially also filter out bad RTTs due to the delayed ack alarm by looking at the associated cnt which (where delayed acking is in use) should probably be 1 if the alarm went off or greater if the ACK was triggered by a packet. Signed-off-by: Gavin McCullagh Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit fb445ee5f9bfc7cbef9e397556170c608dc02955 Author: David S. Miller Date: Sat Dec 29 01:19:49 2007 -0800 [SERIAL]: Fix section mismatches in Sun serial console drivers. We're exporting an __init function, oops :-) The core issue here is that add_preferred_console() is marked as __init, this makes it impossible to invoke this thing from a driver probe routine which is what the Sparc serial drivers need to do. There is no harm in dropping the __init marker. This code will actually work properly when invoked from a modular driver, except that init will probably not pick up the console change without some other support code. Then we can drop the __init from sunserial_console_match() and we're no longer exporting an __init function to modules. Signed-off-by: David S. Miller commit 9cecd07c3f7a818a5865daad8cb5be408508dc99 Author: Simon Horman Date: Thu Dec 27 21:19:10 2007 -0800 [IPV4] Fix ip=dhcp regression David Brownell pointed out a regression in my recent "Fix ip command line processing" patch. It turns out to be a fairly blatant oversight on my part whereby ic_enable is never set, and thus autoconfiguration is never enabled. Clearly my testing was broken :-( The solution that I have is to set ic_enable to 1 if we hit ip_auto_config_setup(), which basically means that autoconfiguration is activated unless told otherwise. I then flip ic_enable to 0 if ip=off, ip=none, ip=::::::off or ip=::::::none using ic_proto_name(); The incremental patch is below, let me know if a non-incremental version is prepared, as I did as for the original patch to be reverted pending a fix. Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit ad7edfe0490877864dc0312e5f3315ea37fc4b3a Author: Linus Torvalds Date: Thu Dec 27 21:21:36 2007 -0800 [PCI] Do not enable CRS Software Visibility by default It appears that some PCI-E bridges do the wrong thing in the presense of CRS Software Visibility and MMCONFIG. In particular, it looks like an ATI bridge (device ID 7936) will return 0001 in the vendor ID field of any bridged devices indefinitely. Not enabling CRS SV avoids the problem, and as we currently do not really make good use of the feature anyway (we just time out rather than do any threaded discovery as suggested by the CRS specs), we're better off just not enabling it. This should fix a slew of problem reports with random devices (generally graphics adapters or fairly high-performance networking cards, since it only affected PCI-E) not getting properly recognized on these AMD systems. If we really want to use CRS-SV, we may end up eventually needing a whitelist of systems where this should be enabled, along with some kind of "pcibios_enable_crs()" query to call the system-specific code. Suggested-by: Loic Prylli Tested-by: Kai Ruhnau Cc: Matthew Wilcox Cc: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 2c838197751db19d08a00e633e33dce23a69fb0c Author: Len Brown Date: Thu Dec 27 23:55:13 2007 -0500 increase PNP_MAX_PORT to 40 from 24 a7839e960675b549f06209d18283d5cee2ce9261 (PNP: increase the maximum number of resources) increased PNP_MAX_PORT to 24 from 8. It also added a test and a complaint when a machine exceeded the limit, causing: pnpacpi: exceeded the max number of IO resources: 24 http://bugzilla.kernel.org/show_bug.cgi?id=9535 We should have been squawking about this all along, as this is a potentially serious issue. For now, simply burn some dynamic bytes and increase the limit by another 16 to 40. There is no guarantee that this will satisfy every system on Earth. It probably will not, but it should be an improvement. In the future, PNPACPI should allocate resource structures as needed, rather than max-sized arrays. Signed-off-by: Len Brown commit ec5d2dfe72cf4808ae4ecee03454a4d91dfcbe0c Author: Geoff Levand Date: Mon Dec 24 04:41:01 2007 +1100 [POWERPC] PS3: Fix printing of os-area magic numbers Fix a bug in the printing of the os-area magic numbers which assumed that magic numbers were zero terminated strings. The magic numbers are represented in memory as integers. If the os-area sections are not initialized correctly they could contained random data that would be printed to the display. Also unify the handling of header and db magic numbers and make both of type array of u8. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit aed3a8c9bb1a8623a618232087c5ff62718e3b9a Author: Bob Nelson Date: Sat Dec 15 01:27:30 2007 +1100 [POWERPC] Oprofile: Remove dependency on spufs module This removes an OProfile dependency on the spufs module. This dependency was causing a problem for multiplatform systems that are built with support for Oprofile on Cell but try to load the oprofile module on a non-Cell system. Signed-off-by: Bob Nelson Signed-off-by: Arnd Bergmann Acked-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit d4a7dd8e637b322faaa934ffcd6dd07711af831f Author: Herbert Xu Date: Fri Dec 28 11:05:46 2007 +1100 [CRYPTO] padlock: Fix spurious ECB page fault The xcryptecb instruction always processes an even number of blocks so we need to ensure th existence of an extra block if we have to process an odd number of blocks. Signed-off-by: Herbert Xu commit 49eaaa1a6c950e7a92c4386c199b8ec950f840b9 Author: Christoph Lameter Date: Wed Dec 26 12:43:01 2007 -0800 Revert quicklist need->flush fix Did not fix the reported issue. Apart from other weirdness this causes a bad link between the TLB flushing logic and the quicklists. If there is indeed an issue that an arch needs a tlb flush before free then the arch code needs to set tlb->need_flush before calling quicklist_free. Signed-off-by: Christoph Lameter Signed-off-by: Linus Torvalds commit a6c05c3d064dbb83be88cba3189beb5db9d2dfc3 Author: Simon Horman Date: Tue Dec 25 20:54:42 2007 -0800 [IPV4]: Fix ip command line processing. Recently the documentation in Documentation/nfsroot.txt was update to note that in fact ip=off and ip=::::::off as the latter is ignored and the default (on) is used. This was certainly a step in the direction of reducing confusion. But it seems to me that the code ought to be fixed up so that ip=::::::off actually turns off ip autoconfiguration. This patch also notes more specifically that ip=on (aka ip=::::::on) is the default. Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit ecef969e5b376f98b142e22deb1cec2f23e4f5d6 Author: Stephen Hemminger Date: Tue Dec 25 17:23:59 2007 -0800 [VETH]: move veth.h to include/linux Move veth.h from net/ to linux/ since it is a user api, and add it to user header processing Kbuild. [ Use header-y as suggested by Sam Ravnborg. -DaveM ] Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 75ec533ec3335913009c32de878d5ed7cbe0d41c Author: Stephen Hemminger Date: Mon Dec 24 21:59:24 2007 -0800 [NET] tc_nat: header install iproute2 build needs tc_nat.h header from kernel make install_headers. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c6e991de4bd22dcdf9b9d9035e18b63b0bf2d198 Author: Toyo Abe Date: Mon Dec 24 21:29:35 2007 -0800 [TUNTAP]: Fix wrong debug message. This is a trivial fix of debug message. When a persist flag is set, the message should say "enabled". Signed-off-by: Toyo Abe Signed-off-by: David S. Miller commit fae718ddaf2b00e222dddec6717aca023376723c Author: Patrick McHardy Date: Mon Dec 24 21:09:10 2007 -0800 [NETFILTER]: nf_conntrack_ipv4: fix module parameter compatibility Some users do "modprobe ip_conntrack hashsize=...". Since we have the module aliases this loads nf_conntrack_ipv4 and nf_conntrack, the hashsize parameter is unknown for nf_conntrack_ipv4 however and makes it fail. Allow to specify hashsize= for both nf_conntrack and nf_conntrack_ipv4. Note: the nf_conntrack message in the ringbuffer will display an incorrect hashsize since nf_conntrack is first pulled in as a dependency and calculates the size itself, then it gets changed through a call to nf_conntrack_set_hashsize(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 81100eb80add328c4d2a377326f15aa0e7236398 Author: Johannes Berg Date: Tue Dec 18 15:11:35 2007 +0100 mac80211: warn when receiving frames with unaligned data This patch makes mac80211 warn (once) when the driver passes up a frame in which the payload data is not aligned on a four-byte boundary, with a long comment for people who run into the condition and need to know what to do. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0d17440688ad83de46e94e9fa11edb5a7fb3d180 Author: Johannes Berg Date: Mon Dec 17 15:07:43 2007 +0100 mac80211: round station cleanup timer The station cleanup timer runs every ten seconds, the exact timing is not relevant at all so it can well run together with other things to save power. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bcea1db16ba1c45ccebb3bfb8441642d1342c4d5 Author: David S. Miller Date: Tue Dec 25 02:20:33 2007 -0800 [SPARC64]: Implement pci_resource_to_user() This makes libpciaccess able to mmap() resources of the device properly. Signed-off-by: David S. Miller commit 00684418707c7a1e36ebdedc4b30fbba5d5860b1 Author: Linus Torvalds Date: Tue Dec 25 20:16:16 2007 -0800 Revert "x86: fix show cpuinfo cpu number always zero" This reverts commit fbdcf18df73758b2e187ab94678b30cd5f6ff9f9. As pointed out by Yanmin Zhang, the problem was already fixed differently (and correctly), and rather than fix anything, it actually causes us to create a sub-optimal sched-domains hierarchy (not setting up the domain belonging to the core) when CONFIG_X86_HT=y. Requested-by: Yanmin Zhang Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit deffca117b90dadec395c0cf3ee816de27dfe2fd Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:44 2007 +0100 cmd64x: fix hwif->chipset setup commit 528a572daea90aa41db92683e5a8756acef514c4 ("ide: add ->chipset field to ide_pci_device_t") broke hwif->chipset setup (it is now set to ide_cmd646 for CMD648 instead of CMD646). It seems that the breakage happend while I was moving patches around (cmd64x_chipsets[] entries for CMD646 and CMD648 are identical except for 'name' field). Fix it and bump driver version. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c404c199f71127ebc1929e6657d3d4f0d6c2f08a Author: Borislav Petkov Date: Mon Dec 24 15:23:44 2007 +0100 MAINTAINERS: update ide-cd entry Reopen ide-cd for maintainership. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8606ab094cfe909f83deedf1fac86993d7c9a9ad Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:44 2007 +0100 ide-cd: fix 'ireason' reporting in cdrom_pc_intr() Mask 'ireason' variable so only the valid interrupt reason bits will be reported on "drive appears confused" error. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5744a06134c8f4e77ad14016420aac308c763454 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:44 2007 +0100 ide-cd: fix error message in cdrom_pc_intr() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 52ef2ed08164dbde07203ee245584d59ebf5c487 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:43 2007 +0100 ide-cd: add error message for DMA error to cdrom_read_intr() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b481b23868928443931190c91e7c06e23913149d Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:43 2007 +0100 ide-cd: fix error messages in cdrom_write_intr() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 31a71191650dce1bb4a7de6147f1947795826cda Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:43 2007 +0100 ide-cd: add missing 'ireason' masking to cdrom_write_intr() Mask 'ireason' variable with 0x3 so the valid interrupt reason value is passed to cdrom_write_check_ireason() for checking. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 35379c071a61d025153723f2acb2cc19cc3ca78c Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:43 2007 +0100 ide-cd: fix error messages in cdrom_{read,write}_check_ireason() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 05017db3b3e0f0a294a38c38d7adb7d2c0c9844b Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:43 2007 +0100 ide-cd: use ide_cd_release() in ide_cd_probe() Use ide_cd_release() to do the cleanup if ide_cdrom_setup() fails. It fixes: - the default drive->dsc_overlap value not being restored - the default drive->queue's prep_rq_fn not being restored - struct gendisk 'g' not being freed - wrong function name being reported on unregister_cdrom() error Signed-off-by: Bartlomiej Zolnierkiewicz commit aa5dc8ebd9ef7521461b1b47ec918be841a21313 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:43 2007 +0100 ide-cd: fix ACER/AOpen 24X CDROM speed reporting on big-endian machines * Fix ACER/AOpen 24X CDROM speed reporting on big-endian machines by adding missing le16_to_cpu() calls. While at it: * Replace ntohs() by be16_to_cpu(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3cbd814ef3d4c80392377e6ce5816058258f1484 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 24 15:23:43 2007 +0100 ide-cd: fix SAMSUNG CD-ROM SCR-3231 quirk cdi->mask is cleared by ide_cdrom_register() which is called after the quirk. Fix it by adding new ->no_speed_select flag to struct ide_cd_config_flags and using it in ide_cdrom_register() to set CDC_SELECT_SPEED flag. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a1c6d28c2b3ec919c37cb7026ed8af70fe7cb098 Author: Joe Perches Date: Mon Dec 24 15:23:42 2007 +0100 drivers/ide/: Spelling fixes Signed-off-by: Joe Perches Cc: Andrew Morton , Signed-off-by: Bartlomiej Zolnierkiewicz commit c3c4c839336767da2d0c18e8e9bab33bef64ef8d Author: Hans Verkuil Date: Fri Dec 21 06:35:55 2007 -0300 V4L/DVB (6876): ivtv: mspx4xx needs a longer i2c udelay Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 867fee9b251f808c184a703ed4a56e8fb9afd741 Author: Michael Krufky Date: Wed Dec 19 02:14:44 2007 -0300 V4L/DVB (6871): Kconfig: VIDEO_CX23885 must select DVB_LGDT330X Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c63f702068a445f682d7590c5fadfc266785a071 Author: Al Viro Date: Sun Dec 23 20:01:04 2007 +0000 uml: user of helper_wait() got missed when it got extra arguments Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit db99247ac68fc352100090ad7704fb5efb9327b6 Author: Cory T. Tusar Date: Sun Dec 23 12:34:51 2007 -0800 tty: fix logic change introduced by wait_event_interruptible_timeout() Commit 5a52bd4a2dcb570333ce6fe2e16cd311650dbdc8 introduced a subtle logic change in tty_wait_until_sent(). The original version would only error out of the 'do { ... } while (timeout)' loop if signal_pending() evaluated to true; a timeout or break due to an empty buffer would fall out of the loop and into the tty->driver->wait_until_sent handling. The current implementation will error out on either a pending signal or an empty buffer, falling through to the tty->driver->wait_until_sent handling only on a timeout. The ->wait_until_sent() will not be reached if the buffer empties before timeout jiffies have elapsed. This behavior differs from that prior to commit 5a52bd4a2dcb570333ce6fe2e16cd311650dbdc8. I turned this up while using a little serial download utility to bootstrap an ARM-based eval board. The util worked fine on 2.6.22.x, but consistently failed on 2.6.23.x. Once I'd determined that, I narrowed things down with git bisect, and found the above difference in logic in tty_wait_until_sent() by inspection. This change reverts the logic flow in tty_wait_until_sent() to match that prior to the aforementioned commit. Signed-off-by: Cory T. Tusar Cc: Alan Cox Acked-by: Jiri Slaby Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 870e6f7e15980d1a33615de572078406737ac22e Author: Paul Mundt Date: Sat Dec 22 14:03:30 2007 -0800 kconfig: obey KCONFIG_ALLCONFIG choices with randconfig. Currently when using KCONFIG_ALLCONFIG with randconfig the choice options are clobbered. As recommended by Roman, this adds an is_new test to see whether to select a new option or obey the existing one. This is a resend of the earlier patch a couple of weeks ago, since there was no reply. Original thread is at http://lkml.org/lkml/2007/11/28/94 Signed-off-by: Paul Mundt Cc: Roman Zippel Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bbaac12a6036f55111a54b01908d0f3afe8622d Author: David Brownell Date: Sat Dec 22 14:03:29 2007 -0800 pcmcia: remove pxa2xx_lubbock build warning Init section confusion. There will likely be some other similar issues, introduced by I'm-not-sure-what-patch. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f16b34aa13e8c55085f346bcf07afb2312c56c0a Author: Peter Zijlstra Date: Sat Dec 22 14:03:29 2007 -0800 lib: proportion: fix underflow in prop_norm_percpu() Zhe Jiang noticed that its possible to underflow pl->events in prop_norm_percpu() when the value returned by percpu_counter_read() is less than the error on that read and the period delay > 1. In that case half might not trigger the batch increment and the value will be identical on the next iteration, causing the same half to be subtracted again and again. Fix this by rewriting the division as a single subtraction instead of a subtraction loop and using percpu_counter_sum() when the value returned by percpu_counter_read() is smaller than the error. The latter is still needed if we want pl->events to shrink properly in the error region. [akpm@linux-foundation.org: cleanups] Signed-off-by: Peter Zijlstra Reviewed-by: Jiang Zhe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc295d0e95063809af31971e4aec1d809247f13b Author: Daniel Walker Date: Sat Dec 22 14:03:28 2007 -0800 ps3: vuart: fix error path locking This stray down would cause a permanent sleep which doesn't seem correct. The other uses of this semaphore appear fairly mutex like it's even initialized with init_MUTEX() .. So here a patch for removing this one down(). Signed-off-by: Geoff Levand Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04bdfb9191eaf7330ac88edf83d7b49878c9b2d1 Author: Joe Perches Date: Sat Dec 22 14:03:27 2007 -0800 MAINTAINERS: mailing list archives are web links L: entries should be email addresses Change L:http entries to W:http Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16317ec2e5a85884fea680d24c1b228a5602159f Author: Eric Sandeen Date: Sat Dec 22 14:03:26 2007 -0800 ecryptfs: redo dget,mntget on dentry_open failure Thanks to Jeff Moyer for pointing this out. If the RDWR dentry_open() in ecryptfs_init_persistent_file fails, it will do a dput/mntput. Need to re-take references if we retry as RDONLY. Signed-off-by: Eric Sandeen Acked-by: Mike Halcrow Signed-off-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8161f64ccdcc3ac05c7bbfebc031e7ad5ca6412 Author: Eric Sandeen Date: Sat Dec 22 14:03:26 2007 -0800 ecryptfs: fix unlocking in error paths Thanks to Josef Bacik for finding these. A couple of ecryptfs error paths don't properly unlock things they locked. Signed-off-by: Eric Sandeen Cc: Josef Bacik Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c525460e2754dbb33abe2b37d3d941126b2ea830 Author: Jan Kara Date: Sat Dec 22 14:03:25 2007 -0800 Don't send quota messages repeatedly when hardlimit reached We should send quota message to netlink only once when hardlimit is reached. Otherwise user could easily make the system busy by trying to exceed the hardlimit (and also the messages could be anoying if you cannot stop writing just now). Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22dd483721939b4ea22d5d3925e69112f63c42bc Author: Jan Kara Date: Sat Dec 22 14:03:25 2007 -0800 Fix computation of SKB size for quota messages Fix computation of size of skb needed for quota message. We should use netlink provided functions and not just an ad-hoc number. Also don't print the return value from nla_put_foo() as it is always -1. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b88629060b03adc58639f818fe0968bf5fe81b5d Author: Eric Sandeen Date: Sat Dec 22 14:03:24 2007 -0800 ecryptfs: fix string overflow on long cipher names Passing a cipher name > 32 chars on mount results in an overflow when the cipher name is printed, because the last character in the struct ecryptfs_key_tfm's cipher_name string was never zeroed. Signed-off-by: Eric Sandeen Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed367fc3a7349b17354c7acef551533337764859 Author: Christoph Lameter Date: Sat Dec 22 14:03:23 2007 -0800 quicklists: do not release off node pages early quicklists must keep even off node pages on the quicklists until the TLB flush has been completed. Signed-off-by: Christoph Lameter Cc: Dhaval Giani Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 014840ec57760ec555cd6f694d1f65a4f54e4155 Author: Martin Kusserow Date: Fri Dec 21 12:02:17 2007 +0100 USB: New device ID for the CP2101 driver attached please find a new device ID for CP2101 driver. This device is a usb stick from Dynastream to communicate with ANT wireless devices which I suppose is fairly similar to the ANT dev board having product id 0x1003. From: Martin Kusserow Signed-off-by: Greg Kroah-Hartman commit ed0ccdbb616cd7e1d5570b8078e0deb37c1c3c16 Author: Kevin R Page Date: Thu Dec 13 01:10:48 2007 +0000 USB: VID/PID update for sierra Adds VID/PID for the MC8775 found internally in the Thinkpad X61s laptop (and likely others). For commercial reasons the driver maintainer cannot add VID/PIDs for laptop OEM devices himself. Signed-off-by: Kevin R Page Cc: stable Signed-off-by: Greg Kroah-Hartman commit 3bf44688df34b6cb948d30b85766d0dab6cf6d21 Author: Peter Korsgaard Date: Fri Dec 21 08:33:46 2007 -0800 USB: Unbreak fsl_usb2_udc Commit a4e3ef5... (USB: gadget: gadget_is_{dualspeed,otg} predicates and cleanup) broke fsl_usb2_udc; the build test didn't cover peripheral drivers, just gadget drivers. Signed-off-by: Peter Korsgaard Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d172f4ef31bec924c6ebcb242c9d7d290811e1e5 Author: Greg Kroah-Hartman Date: Sat Dec 22 21:18:25 2007 -0800 Modules: fix memory leak of module names Due to the change in kobject name handling, the module kobject needs to have a null release function to ensure that the name it previously set will be properly cleaned up. All of this wierdness goes away in 2.6.25 with the rework of the kobject name and cleanup logic, but this is required for 2.6.24. Thanks to Alexey Dobriyan for finding the problem, and to Kay Sievers for pointing out the simple way to fix it after I tried many complex ways. Cc: Alexey Dobriyan Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e5f114e97d6e4833e90ca408af9eb1e7a3262b5e Author: Hans-Jürgen Koch Date: Wed Dec 5 15:08:07 2007 +0100 UIO: Add a MAINTAINERS entry for Userspace I/O This patch adds an entry for the Userspace I/O framework to MAINTAINERS. Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit bdcba1511b98f2e728b3a910b8771a0d3fce5bf3 Author: Gregory CLEMENT Date: Wed Dec 19 18:23:44 2007 +0100 MACB: clear transmit buffers properly on transmit underrun Initially transmit buffer pointers were only reset. But buffer descriptors were possibly still set as ready, and buffer in upper layer was not freed. This caused driver hang under big load. Now reset clean properly the buffer descriptor and freed upper layer. Signed-off-by: Gregory CLEMENT Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit 9914cad54c79d0b89b1f066c0894f00e1344131c Author: Al Viro Date: Sat Dec 22 19:44:10 2007 +0000 3c359 endianness annotations and fixes Same story as with olympic - htons(readw()) when swab16(readw()) is needed, missing conversions to le32 when dealing with shared descriptors, etc. Olympic got those fixes in 2.4.0-test2, 3c359 didn't. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit cc154ac64aa8d3396b187f64cef01ce67f433324 Author: Al Viro Date: Sat Dec 22 18:56:53 2007 +0000 fec_mpc52xx: write in C... If you need to find a difference between addresses of two struct members, subtract offsetof() or cast addresses to char * and subtract those if you prefer it that way. Doing that same with s/char */u32/, OTOH... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b1e247ad8e4ff29b5c7fa2b9a081b4a0f483b0d3 Author: Al Viro Date: Sat Dec 22 18:56:13 2007 +0000 3c574 and 3c589 endianness fixes (.24?) Both store MAC address in CIS; there's no decoder for that type (0x88) so the drivers work with raw data. It is byteswapped, so ntohs() works for little-endian, but for big-endian it's wrong. ntohs(le16_to_cpu()) does the right thing on both (and always expands to swab16()). Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit cf96237837ec6d4fc48bc2f735c71027cc0fc5fa Author: Al Viro Date: Sat Dec 22 18:55:29 2007 +0000 rrunner: use offsetof() instead of homegrown insanity Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 95e0918dbb6d83020ef3eb0a4276413264abd14d Author: Al Viro Date: Sat Dec 22 18:55:39 2007 +0000 r8169 endianness missing conversions in a couple of places Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 78ce8d3d1c75c22ae593ad4ccaffa19ee0e2576d Author: Al Viro Date: Sat Dec 22 18:11:18 2007 +0000 dl2k endianness fixes (.24 fodder?) * shift before cpu_to_le64(), not after it * writel() converts to l-e itself * misc missing conversions * in set_multicast() hash_table[] is host-endian; we feed it to card via writel() and populate it as host-endian, so we'd better put the first element into it also in host-endian * pci_unmap_single() et.al. expect host-endian, not little-endian Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit e5a314210087558f21617255754e7687e9a7f81d Author: Al Viro Date: Sat Dec 22 17:53:02 2007 +0000 yellowfin: annotations and fixes (.24 fodder?) pci_unmap_single() and friends getting a little-endian address... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 51bf2976b55d07f9daae9697a0a3ac9f58abcedc Author: Al Viro Date: Sat Dec 22 17:42:36 2007 +0000 asix fixes * usb_control_message() to/from stack (breaks on e.g. arm); some places did kmalloc() for buffer, some just worked from stack. Added kmalloc()/memcpy()/kfree() in asix_read_cmd()/asix_write_cmd(), removed that crap from callers. * Fixed a leak in ax88172_bind() - on success it forgot to kfree() the buffer. * Endianness bug in ax88178_bind() - we read a word from eeprom and work with it without converting to host-endian Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7fd71e58b038a7244c2ac1ee579c43947f3968c4 Author: Al Viro Date: Sat Dec 22 17:27:24 2007 +0000 cycx: annotations and fixes (.24 fodder?) skb->protocol is net-endian, TYVM... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 71f1bb1a8f17db3caba1237dfd478c2a13faf63e Author: Al Viro Date: Fri Dec 21 06:21:14 2007 +0000 typhoon: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 8cc085c7aceb78d26d0a5355e111b2330f089161 Author: Al Viro Date: Fri Dec 21 06:21:03 2007 +0000 typhoon: memory corruptor on big-endian if TSO is enabled txlo_dma_addr should be host-endian; we pass it to typhoon_tso_fill(), which does arithmetics on it, converts to l-e and passes it to card. Unfortunately, we forgot le32_to_cpu() when initializing it from face->txLoAddr, which sits in shared memory and is little-endian. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 8a5ed9efe661dd42bc140e522c2635e0d7b26141 Author: Al Viro Date: Fri Dec 21 06:20:53 2007 +0000 typhoon: missed rx overruns on big-endian rxBuffCleared is little-endian; we miss le32_to_cpu() in checks for rx ring overruns. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b46281f9c5d6ab7b6e412e83f8c62cecf4ebbdfd Author: Al Viro Date: Fri Dec 21 06:20:43 2007 +0000 typhoon: set_settings broken on big-endian One cpu_to_le16() too many when passing argument for TYPHOON_CMD_XCVR_SELECT; we end up passing host-endian while the hardware expects little-endian. The other place doing that (typhoon_start_runtime()) does the right thing, so the card will recover at the next ifconfig up/tx timeout/resume, which limits the amount of mess, but still, WTF? Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit fdcfd77c813ef7997a60856812805f4cfbeb6222 Author: Al Viro Date: Fri Dec 21 06:20:33 2007 +0000 typhoon: missing le32_to_cpu() in get_drvinfo in typhoon_get_drvinfo() .parm2 is little-endian; not critical since we just get the firmware id flipped in get_drvinfo output on big-endian boxen, but... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 73eac0640ebfb30fee99e06ee029444af0d7ae8d Author: Al Viro Date: Fri Dec 21 06:20:23 2007 +0000 typhoon: endianness bug in tx/rx byte counters txBytes and rxBytesGood are both 64bit; using le32_to_cpu() won't work on big-endian for obvious reasons. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 76be895001f2b0bee42a7685e942d3e08d5dd46c Author: Christoph Lameter Date: Fri Dec 21 14:37:37 2007 -0800 SLUB: Improve hackbench speed Increase the mininum number of partial slabs to keep around and put partial slabs to the end of the partial queue so that they can add more objects. Signed-off-by: Christoph Lameter Reviewed-by: Pekka Enberg Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit d883a0367149506e8b7a3f31891d1ea30b9377f3 Author: Denis V. Lunev Date: Fri Dec 21 02:01:53 2007 -0800 [IPV4]: OOPS with NETLINK_FIB_LOOKUP netlink socket [ Regression added by changeset: cd40b7d3983c708aabe3d3008ec64ffce56d33b0 [NET]: make netlink user -> kernel interface synchronious -DaveM ] nl_fib_input re-reuses incoming skb to send the reply. This means that this packet will be freed twice, namely in: - netlink_unicast_kernel - on receive path Use clone to send as a cure, the caller is responsible for kfree_skb on error. Thanks to Alexey Dobryan, who originally found the problem. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ea67db4cdbbf7f4e74150e71da0984e25121f500 Author: Linus Torvalds Date: Thu Dec 20 17:25:48 2007 -0800 Linux 2.6.24-rc6 commit 4743e0ec1217fd00f57461ebdd7979d31af18700 Author: Lachlan McIlroy Date: Fri Dec 21 11:00:23 2007 +1100 [XFS] Initialise current offset in xfs_file_readdir correctly After reading the directory contents into the temporary buffer, we grab each dirent and pass it to filldir witht eh current offset of the dirent. The current offset was not being set for the first dirent in the temporary buffer, which coul dresult in bad offsets being set in the f_pos field result in looping and duplicate entries being returned from readdir. SGI-PV: 974905 SGI-Modid: xfs-linux-melb:xfs-kern:30282a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit bad60fdd14df32459e31cc75ab681e4458bf25cf Author: Christoph Hellwig Date: Fri Dec 21 10:58:56 2007 +1100 [XFS] Fix mknod regression This was broken by my '[XFS] simplify xfs_create/mknod/symlink prototype', which assigned the re-shuffled ondisk dev_t back to the rdev variable in xfs_vn_mknod. Because of that i_rdev is set to the ondisk dev_t instead of the linux dev_t later down the function. Fortunately the fix for it is trivial: we can just remove the assignment because xfs_revalidate_inode has done the proper job before unlocking the inode. SGI-PV: 974873 SGI-Modid: xfs-linux-melb:xfs-kern:30273a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 04fa11ea170afd147b5d1e1ec88ec359a766bf31 Author: Jason Gaston Date: Fri Dec 21 01:27:19 2007 +0100 x86: intel_cacheinfo.c: cpu cache info entry for Intel Tolapai This patch adds a cpu cache info entry for the Intel Tolapai cpu. Signed-off-by: Jason Gaston Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c0a698b7443a9fce76b0a849f06c45ac78f3b0a0 Author: Ingo Molnar Date: Fri Dec 21 01:27:19 2007 +0100 x86: fix die() to not be preemptible Andrew "Eagle Eye" Morton noticed that we use raw_local_save_flags() instead of raw_local_irq_save(flags) in die(). This allows the preemption of oopsing contexts - which is highly undesirable. It also causes CONFIG_DEBUG_PREEMPT to complain, as reported by Miles Lane. this bug was introduced via: commit 39743c9ef717fd4f2b5583f010115c5f2482b8ae Author: Andi Kleen Date: Fri Oct 19 20:35:03 2007 +0200 x86: use raw locks during oopses - spin_lock_irqsave(&die.lock, flags); + __raw_spin_lock(&die.lock); + raw_local_save_flags(flags); that is not a correct open-coding of spin_lock_irqsave(): both the ordering is wrong (irqs should be disabled _first_), and the wrong flags-saving API was used. Signed-off-by: Ingo Molnar commit 1ac70e7ad24a88710cf9b6d7ababaefa2b575df0 Author: Wei Yongjun Date: Thu Dec 20 14:36:44 2007 -0800 [NET]: Fix function put_cmsg() which may cause usr application memory overflow When used function put_cmsg() to copy kernel information to user application memory, if the memory length given by user application is not enough, by the bad length calculate of msg.msg_controllen, put_cmsg() function may cause the msg.msg_controllen to be a large value, such as 0xFFFFFFF0, so the following put_cmsg() can also write data to usr application memory even usr has no valid memory to store this. This may cause usr application memory overflow. int put_cmsg(struct msghdr * msg, int level, int type, int len, void *data) { struct cmsghdr __user *cm = (__force struct cmsghdr __user *)msg->msg_control; struct cmsghdr cmhdr; int cmlen = CMSG_LEN(len); ~~~~~~~~~~~~~~~~~~~~~ int err; if (MSG_CMSG_COMPAT & msg->msg_flags) return put_cmsg_compat(msg, level, type, len, data); if (cm==NULL || msg->msg_controllen < sizeof(*cm)) { msg->msg_flags |= MSG_CTRUNC; return 0; /* XXX: return error? check spec. */ } if (msg->msg_controllen < cmlen) { ~~~~~~~~~~~~~~~~~~~~~~~~ msg->msg_flags |= MSG_CTRUNC; cmlen = msg->msg_controllen; } cmhdr.cmsg_level = level; cmhdr.cmsg_type = type; cmhdr.cmsg_len = cmlen; err = -EFAULT; if (copy_to_user(cm, &cmhdr, sizeof cmhdr)) goto out; if (copy_to_user(CMSG_DATA(cm), data, cmlen - sizeof(struct cmsghdr))) goto out; cmlen = CMSG_SPACE(len); ~~~~~~~~~~~~~~~~~~~~~~~~~~~ If MSG_CTRUNC flags is set, msg->msg_controllen is less than CMSG_SPACE(len), "msg->msg_controllen -= cmlen" will cause unsinged int type msg->msg_controllen to be a large value. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ msg->msg_control += cmlen; msg->msg_controllen -= cmlen; ~~~~~~~~~~~~~~~~~~~~~ err = 0; out: return err; } The same promble exists in put_cmsg_compat(). This patch can fix this problem. Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit c5c0f33d8e5b1219c86757e6afffd6f96823e521 Author: Joe Perches Date: Thu Dec 20 14:05:37 2007 -0800 [ATM]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit e00ccd4a787fe03887f81467babcf8d057f8718d Author: Joe Perches Date: Thu Dec 20 14:05:03 2007 -0800 [NETFILTER] ipv4: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit c82381775062cd8d55579959e1fd710f0e607985 Author: Joe Perches Date: Thu Dec 20 14:04:24 2007 -0800 [NETFILTER]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 7aa1b54b74d813e01c46a5344c52f06037a95da0 Author: Joe Perches Date: Thu Dec 20 14:03:52 2007 -0800 [SCTP]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit e185446ce83f327428624fc4a0392794249311a2 Author: Joe Perches Date: Thu Dec 20 14:03:11 2007 -0800 [NETLABEL]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 9a94b35184bf095b885ca80099381f8547d5be3a Author: Joe Perches Date: Thu Dec 20 14:02:40 2007 -0800 [PKT_SCHED]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 53ccaae1ef749ef87a484a0aa5351c557c0a690e Author: Joe Perches Date: Thu Dec 20 14:02:06 2007 -0800 [NET] net/core/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit bea851954717ebb0dee557a951e28bb277e1cc1d Author: Joe Perches Date: Thu Dec 20 14:01:35 2007 -0800 [IPV6]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit cc53ded272ecf8d62c9f3b48baadc5165a0b6d7b Author: Joe Perches Date: Thu Dec 20 14:00:51 2007 -0800 [IRDA]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 5e8e034cc5154abd639aa5c05d13e24e535c6a9c Author: Joe Perches Date: Thu Dec 20 13:59:39 2007 -0800 [DCCP]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit f4ab2f72e9340207ae95e2a7622a74220a61f46a Author: Joe Perches Date: Thu Dec 20 13:56:32 2007 -0800 [NET] include/net/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 5b2afff23ab7f34222398fc357253c1e5caed363 Author: Joe Perches Date: Thu Dec 20 13:55:45 2007 -0800 [SPARC32]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 33ccc190d1ef5a7ad519c35bb1ef1d0d68a65287 Author: Joe Perches Date: Thu Dec 20 13:55:10 2007 -0800 [SPARC64]: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 91e106259214b40e992a58fb9417da46868e19b2 Author: Milan Broz Date: Thu Dec 13 14:16:10 2007 +0000 dm crypt: use bio_add_page Fix possible max_phys_segments violation in cloned dm-crypt bio. In write operation dm-crypt needs to allocate new bio request and run crypto operation on this clone. Cloned request has always the same size, but number of physical segments can be increased and violate max_phys_segments restriction. This can lead to data corruption and serious hardware malfunction. This was observed when using XFS over dm-crypt and at least two HBA controller drivers (arcmsr, cciss) recently. Fix it by using bio_add_page() call (which tests for other restrictions too) instead of constructing own biovec. All versions of dm-crypt are affected by this bug. Cc: stable@kernel.org Cc: dm-crypt@saout.de Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 91212507f93778c09d4c1335207b6f4b995f5ad1 Author: Neil Brown Date: Thu Dec 13 14:16:04 2007 +0000 dm: merge max_hw_sector Make sure dm honours max_hw_sectors of underlying devices We still have no firm testing evidence in support of this patch but believe it may help to resolve some bug reports. - agk Signed-off-by: Neil Brown Signed-off-by: Alasdair G Kergon commit 69267a30bed1fabec658058c63845528a8b813d4 Author: Alasdair G Kergon Date: Thu Dec 13 14:15:57 2007 +0000 dm: trigger change uevent on rename Insert a missing KOBJ_CHANGE notification when a device is renamed. Cc: Scott James Remnant Signed-off-by: Alasdair G Kergon commit adfe47702c4726b3e045f9f83178def02833be4c Author: Milan Broz Date: Thu Dec 13 14:15:51 2007 +0000 dm crypt: fix write endio Fix BIO_UPTODATE test for write io. Cc: stable@kernel.org Cc: dm-crypt@saout.de Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit d1622e89099b7cdda20d95a68940067bdddda03c Author: Paul Mundt Date: Thu Dec 13 14:15:43 2007 +0000 dm mpath: hp requires scsi With CONFIG_SCSI=n __scsi_print_sense() is never linked in. drivers/built-in.o: In function `hp_sw_end_io': dm-mpath-hp-sw.c:(.text+0x914f8): undefined reference to `__scsi_print_sense' Caught with a randconfig on current git. Signed-off-by: Paul Mundt Signed-off-by: Alasdair G Kergon commit 512875bd9661368da6f993205a61213b79ba1df0 Author: Jun'ichi Nomura Date: Thu Dec 13 14:15:25 2007 +0000 dm: table detect io beyond device This patch fixes a panic on shrinking a DM device if there is outstanding I/O to the part of the device that is being removed. (Normally this doesn't happen - a filesystem would be resized first, for example.) The bug is that __clone_and_map() assumes dm_table_find_target() always returns a valid pointer. It may fail if a bio arrives from the block layer but its target sector is no longer included in the DM btree. This patch appends an empty entry to table->targets[] which will be returned by a lookup beyond the end of the device. After calling dm_table_find_target(), __clone_and_map() and target_message() check for this condition using dm_target_is_valid(). Sample test script to trigger oops: commit 3c378158d4cd2125b42fe2b8bb23d512fdff6fe6 Author: Ivan Kokshaysky Date: Thu Dec 20 11:47:07 2007 +0300 mm: fix exit_mmap BUG() on a.out binary exit The problem was introduced by commit "mm: variable length argument support" (b6a2fea39318e43fee84fa7b0b90d68bed92d2ba) as it didn't update fs/binfmt_aout.c like other binfmt's. I noticed that on alpha when accidentally launched old OSF/1 Acrobat Reader binary. Obviously, other architectures are affected as well. Signed-off-by: Ivan Kokshaysky Cc: Ollie Wild Acked-by: Peter Zijlstra Cc: Andrew Morton Cc: Hugh Dickins Cc: Adrian Bunk Signed-off-by: Linus Torvalds commit 2c3b20e91fe3a083c5d9bc79437c485866ea251c Author: Arjan van de Ven Date: Thu Dec 20 15:01:17 2007 +0100 debug: add end-of-oops marker Right now it's nearly impossible for parsers that collect kernel crashes from logs or emails (such as www.kerneloops.org) to detect the end-of-oops condition. In addition, it's not currently possible to detect whether or not 2 oopses that look alike are actually the same oops reported twice, or are truly two unique oopses. This patch adds an end-of-oops marker, and makes the end marker include a very simple 64-bit random ID to be able to detect duplicate reports. Normally, this ID is calculated as a late_initcall() (in the hope that at that time there is enough entropy to get a unique enough ID); however for early oopses the oops_exit() function needs to generate the ID on the fly. We do this all at the _end_ of an oops printout, so this does not impact our ability to get the most important portions of a crash out to the console first. [ Sidenote: the already existing oopses-since-bootup counter we print during crashes serves as the differentiator between multiple oopses that trigger during the same bootup. ] Tested on 32-bit and 64-bit x86. Artificially injected very early crashes as well, as expected they result in this constant ID after multiple bootups: ---[ end trace ca143223eefdc828 ]--- ---[ end trace ca143223eefdc828 ]--- because the random pools are still all zero. But it all still works fine and causes no additional problems (which is the main goal of instrumentation code). Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 67e2be02328b9a61a9c799fbdd4ec94d7da0c323 Author: Peter Zijlstra Date: Thu Dec 20 15:01:17 2007 +0100 sched: rt: account the cpu time during the tick Realtime tasks would not account their runtime during ticks. Which would lead to: struct sched_param param = { .sched_priority = 10 }; pthread_setschedparam(pthread_self(), SCHED_FIFO, ¶m); while (1) ; Not showing up in top. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 36bb61346d9e64b55285f27363e93a6e96f2abba Author: David S. Miller Date: Thu Dec 20 01:29:45 2007 -0800 [SPARC64]: Fix OOPS in dma_sync_*_for_device() I included these operations vector cases for situations where we never need to do anything, the entries aren't filled in by any implementation, so we OOPS trying to invoke NULL pointer functions. Really make them NOPs, to fix the bug. Signed-off-by: David S. Miller commit c6e6ca712b5cc06a662f900c0484d49d7334af64 Author: David S. Miller Date: Thu Dec 20 00:25:54 2007 -0800 [NET]: Correct two mistaken skb_reset_mac_header() conversions. This operation helper abstracts: skb->mac_header = skb->data; but it was done in two more places which were actually: skb->mac_header = skb->network_header; and those are corrected here. Signed-off-by: David S. Miller commit 1d0691674764098304ae4c63c715f5883b4d3784 Author: Timo Teras Date: Thu Dec 20 00:10:33 2007 -0800 [IPV4] ip_gre: set mac_header correctly in receive path mac_header update in ipgre_recv() was incorrectly changed to skb_reset_mac_header() when it was introduced. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 5951cab136d8b7e84696061dc2e69c402bc94f61 Author: Paul Moore Date: Thu Dec 20 00:00:45 2007 -0800 [XFRM]: Audit function arguments misordered In several places the arguments to the xfrm_audit_start() function are in the wrong order resulting in incorrect user information being reported. This patch corrects this by pacing the arguments in the correct order. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit f398035f2dec0a6150833b0bc105057953594edb Author: Herbert Xu Date: Wed Dec 19 23:44:29 2007 -0800 [IPSEC]: Avoid undefined shift operation when testing algorithm ID The aalgos/ealgos fields are only 32 bits wide. However, af_key tries to test them with the expression 1 << id where id can be as large as 253. This produces different behaviour on different architectures. The following patch explicitly checks whether ID is greater than 31 and fails the check if that's the case. We cannot easily extend the mask to be longer than 32 bits due to exposure to user-space. Besides, this whole interface is obsolete anyway in favour of the xfrm_user interface which doesn't use this bit mask in templates (well not within the kernel anyway). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e0260feddf8a68301c75cdfff9ec251d5851b006 Author: Mark Ryden Date: Wed Dec 19 23:38:11 2007 -0800 [IPV4] ARP: Remove not used code In arp_process() (net/ipv4/arp.c), there is unused code: definition and assignment of tha (target hw address ). Signed-off-by: Mark Ryden Signed-off-by: David S. Miller commit 412e9e7800360ec93b6ba319b30666f6bfc721bd Author: Reinette Chatre Date: Tue Dec 18 22:01:02 2007 -0800 ipw2200: prevent alloc of unspecified size on stack if log_len is larger than 4K then we are killing the stack. allocate on heap instead and limit size to what practically can be used (PAGE_SIZE) Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b24d22b1d12c436a86282347868785207cff8a88 Author: Zhu Yi Date: Wed Dec 19 13:59:52 2007 +0800 iwlwifi: fix possible priv->mutex deadlock during suspend This patch moves _cancel_deferred_work out of mutex protection and removes unnecessary mutex in pci_suspend and pci_resume. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7d2e941b0b741d17e95baf095dbf1c77f2b95b56 Author: Michael Wu Date: Tue Dec 18 18:36:10 2007 -0500 p54: add Kconfig description Some people would like to know what p54 is. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 9934550d7ff69b222d4c751b5712204d5511c39e Author: Matthias Mueller Date: Sun Dec 2 17:17:51 2007 -0500 rtl8187: Add USB ID for Sitecom WL-168 v1 001 Thanks to Matthias Mueller for reporting this device. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 286e310f94b9459f3fa975333781c969b1041522 Author: Al Viro Date: Mon Dec 17 23:00:31 2007 -0800 [TG3]: Endianness bugfix. tg3_nvram_write_block_unbuffered() is reading data from nvram into allocated buffer before overwriting a part of it with user-supplied data. Then it feeds the entire page back to nvram. It should be storing the words it had read as little-endian, not as host-endian. Note that tg3_set_eeprom() does exactly that for padding the same data to full words before it gets passed down to tg3_nvram_write_block() and then to tg3_nvram_write_block_unbuffered(). Moreover, when we get to sending the entire thing back to nvram, we go through it word-by-word, doing essentially writel(swab32(le32_to_cpu(word)), ...) so if we want them to reach the card in host-independent endianness, we'd better really have all that buffer filled with fixed-endian. For user-supplied part we obviously do have that (it's an array of octets memcpy'd in), ditto for padding of user-supplied part to word boundaries (taken care of in tg3_set_eeprom()). The rest of the buffer gets filled by tg3_nvram_write_block_unbuffered() and it would damn better be consistent with that (and with tg3_get_eeprom(), while we are at it - there we also convert the words read from nvram to little-endian before returning the buffer to user). The bug should get triggered on big-endian boxen when set_eeprom is done for less than entire page. Then the words that should've been unaffected at all will actually get byteswapped in place in nvram. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b9fc7dc514566e9788c7f064bb08f8b6e2fe6f72 Author: Al Viro Date: Mon Dec 17 22:59:57 2007 -0800 [TG3]: Endianness annotations. Fixed misannotations, introduced a new helper - tg3_nvram_read_le(). It gets __le32 * instead of u32 * and puts there the value converted to little-endian. A lot of callers of tg3_nvram_read() were doing that; converted them to tg3_nvram_read_le(). At that point the driver is practically endian-clean; the only remaining place is an actual bug, AFAICS; will be dealt with in the next patch. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 20880e8936e467fe30d79aa838c8d24b7073648f Author: Cyrill Gorcunov Date: Thu Dec 13 16:17:03 2007 -0800 NET: mac80211: fix inappropriate memory freeing Fix inappropriate memory freeing in case of requested rate_control_ops was not found. In this case the list head entity is going to be accidentally wasted. Signed-off-by: Cyrill Gorcunov Acked-by: Michael Wu Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 3333590e94262aebb5d0fb767cc7ed8b2359705c Author: Johannes Berg Date: Wed Dec 12 16:31:52 2007 +0100 mac80211: fix header ops When using recvfrom() on a SOCK_DGRAM packet socket, I noticed that the MAC address passed back for wireless frames was always completely wrong. The reason for this is that the header parse function assigned to our virtual interfaces is a function parsing an 802.11 rather than 802.3 header. This patch fixes it by keeping the default ethernet header operations assigned. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2d192d9552881f4cf88e62072047c72ef2b5aa7f Author: Michael Wu Date: Sat Nov 10 00:15:25 2007 -0500 mac80211: Drop out of associated state if link is lost There is no point in staying in IEEE80211_ASSOCIATED if there is no sta_info entry to receive frames with. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit f941b168a4d7281bf49e166f2febc49470c0149f Author: Alan Cox Date: Wed Dec 19 17:50:32 2007 +0000 pata_hpt37x: Fix HPT374 detection Bug #9261 Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fcbe6e9709f90fd83cfa614a4e0efe83174018ea Author: Geoff Levand Date: Wed Dec 19 11:17:31 2007 +0100 ps3fb: Fix ps3fb free_irq() dev_id The dev_id arg passed to free_irq() must match that passed to request_irq(). Fixes this PS3 error message: Trying to free already-free IRQ 44 Signed-off-by: Geoff Levand Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 9ac67a35827ee03d71f2f1c656a725e263b14a7e Author: Geert Uytterhoeven Date: Wed Dec 19 11:16:41 2007 +0100 ps3fb: Update for firmware 2.10 ps3fb: Update for firmware 2.10 As of PS3 firmware version 2.10, the GPU command buffer size must be at least 2 MiB large. Since we use only a small part of the GPU command buffer and don't want to waste precious XDR memory, move the GPU command buffer back to the start of the XDR memory reserved for ps3fb and let the unused part overlap with the actual frame buffer. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit fbdcf18df73758b2e187ab94678b30cd5f6ff9f9 Author: Mike Travis Date: Wed Dec 19 23:20:19 2007 +0100 x86: fix show cpuinfo cpu number always zero when called by setup_arch) after smp_store_cpu_info() had set it to the correct value. The error shows up in 'cat /proc/cpuinfo' will all cpus = 0. Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: Jack Steiner Cc: Suresh B Siddha Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3d054f0fade192b454592817c16e0f49e3e295dc Author: Adrian Bunk Date: Wed Dec 19 23:20:19 2007 +0100 x86_32: disable_pse must be __cpuinitdata CONFIG_HOTPLUG_CPU=y: WARNING: vmlinux.o(.text+0xfa52): Section mismatch: reference to .init.data:disable_pse (between 'identify_cpu' and 'identify_secondary_cpu') [ akpm@linux-foundation.org: initializer fix. ] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3446fa057c33b5464ba6891866c24cd57daf023c Author: Adrian Bunk Date: Wed Dec 19 23:20:18 2007 +0100 x86_32: select_idle_routine() must be __cpuinit CONFIG_HOTPLUG_CPU=y: WARNING: vmlinux.o(.text+0x1199a): Section mismatch: reference to .init.text.5:select_idle_routine (between 'init_intel' and 'init_nexgen') Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f2206ec92c1bd2145a63b2ef1f6abccd6439fe73 Author: Adrian Bunk Date: Wed Dec 19 23:20:18 2007 +0100 x86 smpboot_32.c section fixes CONFIG_HOTPLUG_CPU=y: WARNING: vmlinux.o(.text+0x22c60): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu') WARNING: vmlinux.o(.text+0x22c99): Section mismatch: reference to .init.data:cpu_idle_tasks (between 'do_boot_cpu' and 'do_warm_boot_cpu') WARNING: vmlinux.o(.text+0x2359b): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and 'cpu_exit_clear') WARNING: vmlinux.o(.text+0x235a0): Section mismatch: reference to .init.data:smp_b_stepping (between 'smp_store_cpu_info' and 'cpu_exit_clear') Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d53379832624c0ecab7f46749c8b72e49a88d160 Author: Adrian Bunk Date: Wed Dec 19 23:20:18 2007 +0100 x86 apic_32.c section fix CONFIG_HOTPLUG_CPU=y: WARNING: vmlinux.o(.text+0x2390d): Section mismatch: reference to .init.text.5:setup_local_APIC (between 'start_secondary' and 'check_tsc_warp') Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3a6927906f1b2adf5a31b789322d32eb8559ada0 Author: Linus Torvalds Date: Wed Dec 19 14:05:13 2007 -0800 Do dirty page accounting when removing a page from the page cache Krzysztof Oledzki noticed a dirty page accounting leak on some of his machines, causing the machine to eventually lock up when the kernel decided that there was too much dirty data, but nobody could actually write anything out to fix it. The culprit turns out to be filesystems (cough ext3 with data=journal cough) that re-dirty the page when the "->invalidatepage()" callback is called. Fix it up by doing a final dirty page accounting check when we actually remove the page from the page cache. This fixes bugzilla entry 9182: http://bugzilla.kernel.org/show_bug.cgi?id=9182 Tested-by: Ingo Molnar Tested-by: Krzysztof Oledzki Cc: Andrew Morton Cc: Nick Piggin Cc: Peter Zijlstra Signed-off-by: Linus Torvalds commit ed5d4026ae6f51bec25e03a891a7d59c492577ab Author: Hidetoshi Seto Date: Wed Dec 19 11:42:02 2007 -0800 [IA64] Adjust CMCI mask on CPU hotplug Currently CMCI mask of hot-added CPU is always disabled after CPU hotplug. We should adjust this mask depending on CMC polling state. Signed-off-by: Hidetoshi Seto Signed-off-by: Satoru Takeuchi Signed-off-by: Tony Luck commit 285fbd66330cd5899f4e607e3e65ab5921ddabf0 Author: Jan Beulich Date: Wed Dec 19 12:30:30 2007 -0800 [IA64] make flush_tlb_kernel_range() an inline function This fixes an unused variable warning in mm/vmalloc.c. Tony: also fix resulting fallout in uncached.c with a typo in args to flush_tlb_kernel_range(). Signed-off-by: Jan Beulich Signed-off-by: Tony Luck commit 17fbe0043e9d623e46a57b153aa0b80ee9de7790 Author: Simon Horman Date: Mon Nov 12 13:55:21 2007 +0900 [IA64] Guard elfcorehdr_addr with #if CONFIG_PROC_FS Access to elfcorehdr_addr needs to be guarded by #if CONFIG_PROC_FS as well as the existing #if guards. Fixes the following build problem: arch/ia64/hp/common/built-in.o: In function `sba_init':arch/ia64/hp/common/sba_iommu.c:2043: undefined reference to `elfcorehdr_addr' :arch/ia64/hp/common/sba_iommu.c:2043: undefined reference to `elfcorehdr_addr' Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit 64135fa97ce016058f95345425a9ebd04ee1bd2a Author: Russ Anderson Date: Tue Aug 21 16:45:12 2007 -0500 [IA64] Fix Altix BTE error return status The Altix shub2 BTE error detail bits are in a different location than on shub1. The current code does not take this into account resulting in all shub2 BTE failures mapping to "unknown". This patch reads the error detail bits from the proper location, so the correct BTE failure reason is returned for both shub1 and shub2. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 091062284c05d13b3393f4fcfcedc0f52cb948b4 Author: Hidetoshi Seto Date: Wed Dec 12 16:28:52 2007 +0900 [IA64] Remove assembler warnings on head.S This patch removes the following assembler warning messages. AS arch/ia64/kernel/head.o arch/ia64/kernel/head.S: Assembler messages: arch/ia64/kernel/head.S:1179: Warning: Use of 'ld8' violates RAW dependency 'CR[PTA]' (data) arch/ia64/kernel/head.S:1179: Warning: Only the first path encountering the conflict is reported arch/ia64/kernel/head.S:1178: Warning: This is the location of the conflicting usage arch/ia64/kernel/head.S:1180: Warning: Use of 'ld8' violates RAW dependency 'CR[PTA]' (data) arch/ia64/kernel/head.S:1180: Warning: Only the first path encountering the conflict is reported arch/ia64/kernel/head.S:1178: Warning: This is the location of the conflicting usage : arch/ia64/kernel/head.S:1213: Warning: Use of 'ldf.fill.nta' violates RAW dependency 'CR[PTA]' (data) arch/ia64/kernel/head.S:1213: Warning: Only the first path encountering the conflict is reported arch/ia64/kernel/head.S:1178: Warning: This is the location of the conflicting usage Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 373167e80c52d65e444dfd40652ca227f5e4c227 Author: Kenji Kaneshige Date: Wed Aug 22 19:28:36 2007 +0900 [IA64] Remove compiler warinings about uninitialized variable in irq_ia64.c This patch removes the following compiler warning messages. CC arch/ia64/kernel/irq_ia64.o arch/ia64/kernel/irq_ia64.c: In function 'create_irq': arch/ia64/kernel/irq_ia64.c:343: warning: 'domain.bits[0u]' may be used uninitialized in this function arch/ia64/kernel/irq_ia64.c: In function 'assign_irq_vector': arch/ia64/kernel/irq_ia64.c:203: warning: 'domain.bits[0u]' may be used uninitialized in this function Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit e384f41409cb9e543fbc84b375e2ba46cbcbec6a Author: Ian Wienand Date: Tue Nov 20 14:12:46 2007 +1100 [IA64] set_thread_area fails in IA32 chroot I tried to upgrade an IA32 chroot on my IA64 to a new glibc with TLS. It kept dying because set_thread_area was returning -ESRCH (bugs.debian.org/451939). I instrumented arch/ia64/ia32/sys_ia32.c:get_free_idx() and ended up seeing output like [pid] idx desc->a desc->b ----------------------------- [2710] 0 -> c6b0ffff 40dff31b [2710] 1 -> 0 0 [2710] 2 -> 0 0 [2710] 0 -> c6b0ffff 40dff31b [2710] 1 -> c6b0ffff 40dff31b [2710] 2 -> 0 0 [2711] 0 -> c6b0ffff 40dff31b [2711] 1 -> c6b0ffff 40dff31b [2711] 2 -> 48c0ffff 40dff317 which suggested to me that TLS pointers were surviving exec() calls, leading to GDT pointers filling up and the eventual failure of get_free_idx(). I think the solution is flushing the tls array on exec. Signed-Off-By: Ian Wienand Signed-off-by: Tony Luck commit ee211b37aa98123b1d9b19d228011e632a4bbe75 Author: Luck, Tony Date: Tue Dec 18 11:46:38 2007 -0800 [IA64] print kernel release in OOPS to make kerneloops.org happy The ia64 oops message doesn't include the kernel version, which makes it hard to automatically categorize oops messages scraped from mailing lists and bug databases. Signed-off-by: Tony Luck commit 313d8e57b074d5f03dfed2755f21ae41a6f0fd5a Author: Joe Perches Date: Tue Dec 18 17:02:21 2007 -0800 [IA64] Two trivial spelling fixes s/addres/address/ s/performanc/performance/ Signed-off-by: Joe Perches Signed-off-by: Tony Luck commit aec103bfa60e9f72bd66a144236592f54b986a03 Author: de Dinechin, Christophe (Integrity VM) Date: Thu Dec 13 15:03:07 2007 +0000 [IA64] Avoid unnecessary TLB flushes when allocating memory Improve performance of memory allocations on ia64 by avoiding a global TLB purge to purge a single page from the file cache. This happens whenever we evict a page from the buffer cache to make room for some other allocation. Test case: Run 'find /usr -type f | xargs cat > /dev/null' in the background to fill the buffer cache, then run something that uses memory, e.g. 'gmake -j50 install'. Instrumentation showed that the number of global TLB purges went from a few millions down to about 170 over a 12 hours run of the above. The performance impact is particularly noticeable under virtualization, because a virtual TLB is generally both larger and slower to purge than a physical one. Signed-off-by: Christophe de Dinechin Signed-off-by: Tony Luck commit 3cdc7fc7fd5bd1ead75758dfadef609a6e9fd3de Author: Nick Piggin Date: Thu Dec 13 15:58:27 2007 -0800 [IA64] ia32 nopage Convert ia64's ia32 support from nopage to fault. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 2018df76d276bb4fe97b175bd5db0cdd128dfeb4 Author: Shi Weihua Date: Thu Dec 13 15:58:26 2007 -0800 [IA64] signal: remove redundant code in setup_sigcontext() This patch removes some redundant code in the function setup_sigcontext(). The registers ar.ccv,b7,r14,ar.csd,ar.ssd,r2-r3 and r16-r31 are not restored in restore_sigcontext() when (flags & IA64_SC_FLAG_IN_SYSCALL) is true. So we don't need to zero those variables in setup_sigcontext(). Signed-off-by: Shi Weihua Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit a3ebdb6c423dff420168a3faf25c76e9e5f59258 Author: Christoph Lameter Date: Tue Dec 18 16:22:46 2007 -0800 IA64: Slim down __clear_bit_unlock __clear_bit_unlock does not need to perform atomic operations on the variable. Avoid a cmpxchg and simply do a store with release semantics. Add a barrier to be safe that the compiler does not do funky things. Tony: Use intrinsic rather than inline assembler Signed-off-by: Christoph Lameter Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit a169e63740779f62a9a5ddf0aa61091a393a03c5 Author: Boaz Harrosh Date: Mon Dec 17 18:08:59 2007 +0200 [SCSI] initio: bugfix for accessors patch patch: [SCSI] initio: convert to use the data buffer accessors had a small but fatal bug in that it didn't increment the pointer into the initio scatterlist descriptors as it looped over the block generated ones. Fixed here. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit cd81621c5c5c869b848818b506962dab4499e0d9 Author: FUJITA Tomonori Date: Sat Dec 15 15:51:55 2007 +0900 [SCSI] st: fix kernel BUG at include/linux/scatterlist.h:59! This is caused by a missing scatterlist initialisation (it only shows up when sg list handling debugging is turned on). Signed-off-by: FUJITA Tomonori Cc: Kai Makisara Signed-off-by: James Bottomley commit 99f1f534922a2f2251ba05b14657a1c62882a80e Author: Alan Cox Date: Thu Dec 13 16:14:05 2007 -0800 [SCSI] initio: fix conflict when loading driver > I have a scanner connected to a Initio INI-950 SCSI card and I recently > upgraded from SuSE 10.2 to 10.3. The new kernel doesn't see any of my > devices. I get the following in /var/log/messages: > > ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 16 > initio: I/O port range 0x0 is busy. > ACPI: PCI interrupt for device 0000:00:0a.0 disabled Humm not a collision - thats a bug in the driver updating. Looks like the changes I made and combined with Christoph's lost a line somewhere when I was merging it all. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit cedefa13db502432905c29819c195f46805b13eb Author: Tony Battersby Date: Fri Dec 14 15:45:16 2007 -0500 [SCSI] sym53c8xx: fix "irq X: nobody cared" regression The patch described by the following excerpt from ChangeLog-2.6.24-rc1 eventually causes a "irq X: nobody cared" error after a while: commit 99c9e0a1d6cfe1ba1169a7a81435ee85bc00e4a1 Author: Matthew Wilcox Date: Fri Oct 5 15:55:12 2007 -0400 [SCSI] sym53c8xx: Make interrupt handler capable of returning IRQ_NONE After this happens, the kernel disables the IRQ, causing the SCSI card to stop working until the next reboot. The problem is caused by the interrupt handler returning IRQ_NONE instead of IRQ_HANDLED after handling an interrupt-on-the-fly (INTF) condition. The following patch fixes the problem. Signed-off-by: Tony Battersby Acked-by: Matthew Wilcox Signed-off-by: James Bottomley commit c80ddf00cde4c21018dbd0ea2872736c90c7dda2 Author: James Bottomley Date: Wed Dec 12 15:06:21 2007 -0500 [SCSI] dpt_i2o: driver is only 32 bit so don't set 64 bit DMA mask This fixes a potential corruption bug where the truncation would cause reading or writing to the wrong memory area on machines with >4GB of main memory. Cc: Stable Kernel Tree Signed-off-by: James Bottomley commit 7ee2413ca0da80c819f2388c0faeffce1ac8513b Author: Tony Battersby Date: Tue Nov 6 14:40:54 2007 -0500 [SCSI] sym53c8xx: fix free_irq() regression The following commit changed the pointer passed to request_irq(), but failed to change the pointer passed to free_irq(): commit 99c9e0a1d6cfe1ba1169a7a81435ee85bc00e4a1 Author: Matthew Wilcox Date: Fri Oct 5 15:55:12 2007 -0400 [SCSI] sym53c8xx: Make interrupt handler capable of returning IRQ_NONE ... The result is that free_irq() doesn't actually take any action. This patch fixes it. Signed-off-by: Tony Battersby Acked-by: Christoph Hellwig Signed-off-by: James Bottomley commit 4aae07025265151e3f7041dfbf0f529e122de1d8 Author: Ingo Molnar Date: Tue Dec 18 18:05:58 2007 +0100 x86: fix "Kernel panic - not syncing: IO-APIC + timer doesn't work!" this is the tale of a full day spent debugging an ancient but elusive bug. after booting up thousands of random .config kernels, i finally happened to generate a .config that produced the following rare bootup failure on 32-bit x86: | ..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1 | ..MP-BIOS bug: 8254 timer not connected to IO-APIC | ...trying to set up timer (IRQ0) through the 8259A ... failed. | ...trying to set up timer as Virtual Wire IRQ... failed. | ...trying to set up timer as ExtINT IRQ... failed :(. | Kernel panic - not syncing: IO-APIC + timer doesn't work! Boot with apic=debug | and send a report. Then try booting with the 'noapic' option this bug has been reported many times during the years, but it was never reproduced nor fixed. the bug that i hit was extremely sensitive to .config details. First i did a .config-bisection - suspecting some .config detail. That led to CONFIG_X86_MCE: enabling X86_MCE magically made the bug disappear and the system would boot up just fine. Debugging my way through the MCE code ended up identifying two unlikely candidates: the thing that made a real difference to the hang was that X86_MCE did two printks: Intel machine check architecture supported. Intel machine check reporting enabled on CPU#1. Adding the same printks to a !CONFIG_X86_MCE kernel made the bug go away! this left timing as the main suspect: i experimented with adding various udelay()s to the arch/x86/kernel/io_apic_32.c:check_timer() function, and the race window turned out to be narrower than 30 microseconds (!). That made debugging especially funny, debugging without having printk ability before the bug hits is ... interesting ;-) eventually i started suspecting IRQ activities - those are pretty much the only thing that happen this early during bootup and have the timescale of a few dozen microseconds. Also, check_timer() changes the IRQ hardware in various creative ways, so the main candidate became IRQ0 interaction. i've added a counter to track timer irqs (on which core they arrived, at what exact time, etc.) and found that no timer IRQ would arrive after the bug condition hits - even if we re-enable IRQ0 and re-initialize the i8259A, but that we'd get a small number of timer irqs right around the time when we call the check_timer() function. Eventually i got the following backtrace triggered from debug code in the timer interrupt: ...trying to set up timer as Virtual Wire IRQ... failed. ...trying to set up timer as ExtINT IRQ... Pid: 1, comm: swapper Not tainted (2.6.24-rc5 #57) EIP: 0060:[] EFLAGS: 00000246 CPU: 0 EIP is at _spin_unlock_irqrestore+0x5/0x1c EAX: c0634178 EBX: 00000000 ECX: c4947d63 EDX: 00000246 ESI: 00000002 EDI: 00010031 EBP: c04e0f2e ESP: f7c41df4 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 CR0: 8005003b CR2: ffe04000 CR3: 00630000 CR4: 000006d0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 [] setup_IO_APIC+0x9c3/0xc5c the spin_unlock() was called from init_8259A(). Wait ... we have an IRQ0 entry while we are in the middle of setting up the local APIC, the i8259A and the PIT?? That is certainly not how it's supposed to work! check_timer() was supposed to be called with irqs turned off - but this eroded away sometime in the past. This code would still work most of the time because this code runs very quickly, but just the right timing conditions are present and IRQ0 hits in this small, ~30 usecs window, timer irqs stop and the system does not boot up. Also, given how early this is during bootup, the hang is very deterministic - but it would only occur on certain machines (and certain configs). The fix was quite simple: disable/restore interrupts properly in this function. With that in place the test-system now boots up just fine. (64-bit x86 io_apic_64.c had the same bug.) Phew! One down, only 1500 other kernel bugs are left ;-) Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 971e5b35fb02c5088d49e6c024aab73582a35b71 Author: Steven Rostedt Date: Tue Dec 18 18:05:58 2007 +0100 genirq: revert lazy irq disable for simple irqs In commit 76d2160147f43f982dfe881404cfde9fd0a9da21 lazy irq disabling was implemented, and the simple irq handler had a masking set to it. Remy Bohmer discovered that some devices in the ARM architecture would trigger the mask, but never unmask it. His patch to do the unmasking was questioned by Russell King about masking simple irqs to begin with. Looking further, it was discovered that the problems Remy was seeing was due to improper use of the simple handler by devices, and he later submitted patches to fix those. But the issue that was uncovered was that the simple handler should never mask. This patch reverts the masking in the simple handler. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Acked-by: Russell King commit 213fde71024223abcdd7d9e5349d1ea2679227b5 Author: Jan Beulich Date: Tue Dec 18 18:05:58 2007 +0100 x86: also define AT_VECTOR_SIZE_ARCH The patch introducing this left out 64-bit x86 despite it also having extra entries. this solves Xen guest troubles. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0b0122faf4833548072d23f3c3063c23bc289746 Author: Masami Hiramatsu Date: Tue Dec 18 18:05:58 2007 +0100 x86: kprobes bugfix Kprobes for x86-64 may cause a kernel crash if it inserted on "iret" instruction. "call absolute" is invalid on x86-64, so we don't need treat it. - Change the processing order as same as x86-32. - Add "iret"(0xcf) case. - Remove next_rip local variable. Signed-off-by: Masami Hiramatsu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 29b6cd794e73eea7600541d06288a09861ffecb0 Author: Masami Hiramatsu Date: Tue Dec 18 18:05:58 2007 +0100 x86: jprobe bugfix jprobe for x86-64 may cause kernel page fault when the jprobe_return() is called from incorrect function. - Use jprobe_saved_regs instead getting it from stack. (Especially on x86-64, it may get incorrect data, because pt_regs can not be get by using container_of(rsp)) - Change the type of stack pointer to unsigned long *. Signed-off-by: Masami Hiramatsu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b4be625852618636a6b54908c4f9d90fb29dc549 Author: Adrian Bunk Date: Tue Dec 18 18:05:58 2007 +0100 timer: kernel/timer.c section fixes This patch fixes the following section mismatches with CONFIG_HOTPLUG=n, CONFIG_HOTPLUG_CPU=y: ... WARNING: vmlinux.o(.text+0x41cd3): Section mismatch: reference to .init.data:tvec_base_done.22610 (between 'timer_cpu_notify' and 'run_timer_softirq') WARNING: vmlinux.o(.text+0x41d67): Section mismatch: reference to .init.data:tvec_base_done.22610 (between 'timer_cpu_notify' and 'run_timer_softirq') ... Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b019e57321f3e006c0ec7a54f13efc377bcb6451 Author: Kevin Hilman Date: Tue Dec 18 18:05:58 2007 +0100 genirq: add unlocked version of set_irq_handler() Add unlocked version for use by irq_chip.set_type handlers which may wish to change handler to level or edge handler when IRQ type is changed. The normal set_irq_handler() call cannot be used because it tries to take irq_desc.lock which is already held when the irq_chip.set_type hook is called. Signed-off-by: Kevin Hilman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cdc6f27d9e3c2f7ca1a3e19c6eabb1ad6a2add5d Author: Thomas Gleixner Date: Tue Dec 18 18:05:58 2007 +0100 clockevents: fix reprogramming decision in oneshot broadcast Resolve the following regression of a choppy, almost unusable laptop: http://lkml.org/lkml/2007/12/7/299 http://bugzilla.kernel.org/show_bug.cgi?id=9525 A previous version of the code did the reprogramming of the broadcast device in the return from idle code. This was removed, but the logic in tick_handle_oneshot_broadcast() was kept the same. When a broadcast interrupt happens we signal the expiry to all CPUs which have an expired event. If none of the CPUs has an expired event, which can happen in dyntick mode, then we reprogram the broadcast device. We do not reprogram otherwise, but this is only correct if all CPUs, which are in the idle broadcast state have been woken up. The code ignores, that there might be pending not yet expired events on other CPUs, which are in the idle broadcast state. So the delivery of those events can be delayed for quite a time. Change the tick_handle_oneshot_broadcast() function to check for CPUs, which are in broadcast state and are not woken up by the current event, and enforce the rearming of the broadcast device for those CPUs. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bd87f1f028ddaad45d4a9a3621dfe688c840ba41 Author: Barry Kasindorf Date: Tue Dec 18 18:05:58 2007 +0100 oprofile: op_model_athlon.c support for AMD family 10h barcelona performance counters This patch is for controlling the upper 32bits of the event ctrl msrs. This includes the upper 4 bits of the event select and the Guest Only and Host Only bits This patch is necessary to make Event Based Profiling work reliably on a Family 10h processor [akpm@linux-foundation.org: checkpatch.pl fixes] Signed-off-by: Barry Kasindorf Signed-off-by: Robert Richter Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6cbf1c126cf6a727287d61b122fde00a8b827bfe Author: Ingo Molnar Date: Tue Dec 18 15:21:13 2007 +0100 sched: do not hurt SCHED_BATCH on wakeup measurements by Yanmin Zhang have shown that SCHED_BATCH tasks benefit if they run the same place_entity() logic as SCHED_OTHER tasks - so uniformize behavior in this area. Signed-off-by: Ingo Molnar commit 2bacec8c318ca0418c0ee9ac662ee44207765dd4 Author: Ingo Molnar Date: Tue Dec 18 15:21:13 2007 +0100 sched: touch softlockup watchdog after idling touch softlockup watchdog after idling. Signed-off-by: Ingo Molnar commit 73c4efd2c88a41c8a4810904266a34423b5584e5 Author: Eric Dumazet Date: Tue Dec 18 15:21:13 2007 +0100 sched: sysctl, proc_dointvec_minmax() expects int values for min_sched_granularity_ns, max_sched_granularity_ns, min_wakeup_granularity_ns and max_wakeup_granularity_ns are declared "unsigned long". This is incorrect since proc_dointvec_minmax() expects plain "int" guard values. This bug only triggers on big endian 64 bit arches. Signed-off-by: Eric Dumazet Signed-off-by: Ingo Molnar commit c7af77b584b02d3e321b00203a618a9c93782121 Author: Livio Soares Date: Tue Dec 18 15:21:13 2007 +0100 sched: mark rwsem functions as __sched for wchan/profiling This following commit http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=fdf8cb0909b531f9ae8f9b9d7e4eb35ba3505f07 un-inlined a low-level rwsem function, but did not mark it as __sched. The result is that it now shows up as thread wchan (which also affects /proc/profile stats). The following simple patch fixes this by properly marking rwsem_down_failed_common() as a __sched function. Also in this patch, which is up for discussion, marks down_read() and down_write() proper as __sched. For profiling, it is pretty much useless to know that a semaphore is beig help - it is necessary to know _which_ one. By going up another frame on the stack, the information becomes much more useful. In summary, the below change to lib/rwsem.c should be applied; the changes to kernel/rwsem.c could be applied if other kernel hackers agree with my proposal that down_read()/down_write() in the profile is not enough. [ akpm@linux-foundation.org: build fix ] Signed-off-by: Livio Soares Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 051a1d1afa47206e23ae03f781c6795ce870e3d5 Author: Dmitry Adamushko Date: Tue Dec 18 15:21:13 2007 +0100 sched: fix crash on ia64, introduce task_current() Some services (e.g. sched_setscheduler(), rt_mutex_setprio() and sched_move_task()) must handle a given task differently in case it's the 'rq->curr' task on its run-queue. The task_running() interface is not suitable for determining such tasks for platforms with one of the following options: #define __ARCH_WANT_UNLOCKED_CTXSW #define __ARCH_WANT_INTERRUPTS_ON_CTXSW Due to the fact that it makes use of 'p->oncpu == 1' as a criterion but such a task is not necessarily 'rq->curr'. The detailed explanation is available here: https://lists.linux-foundation.org/pipermail/containers/2007-December/009262.html Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Tested-by: Dhaval Giani Tested-by: KAMEZAWA Hiroyuki commit 458cf5e9b666c251b04cb5242fb19fd5114645ba Author: Randy Dunlap Date: Mon Dec 17 20:24:20 2007 +0100 Cleanup umem driver: fix most checkpatch warnings, conform to kernel coding style. linux-2.6.24-rc5-git3> checkpatch.pl-next patches/block-umem-ckpatch.patch total: 0 errors, 5 warnings, 530 lines checked All of these are line-length warnings. Only change in generated object file is due to not initializing a static global variable to 0. Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit 2fdd82bd8852ec8ebad5c69c45138da25c6f9273 Author: Adrian Bunk Date: Wed Dec 12 18:51:56 2007 +0100 block: let elv_register() return void elv_register() always returns 0, and there isn't anything it does where it should return an error (the only error condition is so grave that it's handled with a BUG_ON). Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 49565124b13bb16607e7f8fc8fb1d9c5c355a1a3 Author: Aaron Carroll Date: Wed Dec 5 21:07:07 2007 +1100 as-iosched: fix write batch start point New write batches currently start from where the last one completed. We have no idea where the head is after switching batches, so this makes little sense. Instead, start the next batch from the request with the earliest deadline in the hope that we avoid a deadline expiry later on. Signed-off-by: Aaron Carroll Acked-by: Nick Piggin Signed-off-by: Jens Axboe commit 8896f3c039b0834ba695d154299b724ee5710b97 Author: Aaron Carroll Date: Wed Dec 5 21:06:50 2007 +1100 as-iosched: fix incorrect comments Two comments refer to deadlines applying to reads only. This is not the case. Signed-off-by: Aaron Carroll Acked-by: Nick Piggin Signed-off-by: Jens Axboe commit 24bb8fb99a062213424d3e88842eb07f693378be Author: Tejun Heo Date: Wed Dec 5 21:28:24 2007 +0100 block: use jiffies conversion functions in scsi_ioctl.c Use msecs_to_jiffies() and jiffies_to_msecs() in scsi_ioctl(). Sometimes callers use very large values for e.g. vendor specific media clear command and calculation can overflow. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 041388b54ed95cd169546bd83bacd08ee32bd7ea Author: Lachlan McIlroy Date: Tue Dec 18 16:19:34 2007 +1100 [XFS] Put the correct offset in dirent d_off The recent filldir regression fix was not putting the correct d_off in each dirent. This was resulting in incorrect cookies being passed to dmapi ioctls and the wrong offset appearing in the dirents. readdir was unaffected as the filp->f_pos was being updated with the correct offset and this was being written into the last dirent in each buffer. Fix the XFS code to do the right thing. SGI-PV: 973746 SGI-Modid: xfs-linux-melb:xfs-kern:30240a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit c734c79bc397eace039bea406997efa89f879c14 Author: Lachlan McIlroy Date: Tue Dec 18 16:17:41 2007 +1100 [XFS] Don't wait for pending I/Os when purging blocks beyond eof. On last close of a file we purge blocks beyond eof. The same code is used when we truncate the file size down. In this case we need to wait for any pending I/Os for dirty pages beyond the new eof. For the last close case we are not changing the file size and therefore do not need to wait for any I/Os to complete. This fixes a performance bottleneck where writes into the page cache and cache flushes can become mutually exclusive. SGI-PV: 964002 SGI-Modid: xfs-linux-melb:xfs-kern:30220a Signed-off-by: Lachlan McIlroy Signed-off-by: Peter Leckie commit 64396accc2831fcbdc7d793edc25481a5ebc75b2 Author: Eric W. Biederman Date: Mon Dec 17 16:20:28 2007 -0800 sysctl: fix ax25 checks Fix: sysctl table check failed: /net/ax25/ax0/ax25_default_mode .3.9.1.2 Unknown sysctl binary path Pid: 2936, comm: kissattach Not tainted 2.6.24-rc5 #1 [] set_fail+0x3b/0x43 [] sysctl_check_table+0x408/0x456 [] sysctl_check_table+0x41c/0x456 [] sysctl_check_table+0x41c/0x456 ... Signed-off-by: Eric W. Biederman Cc: Bernard Pidoux Cc: "David S. Miller" Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 421d99193537a6522aac2148286f08792167d5fd Author: Christoph Lameter Date: Mon Dec 17 16:20:27 2007 -0800 quicklist: Set tlb->need_flush if pages are remaining in quicklist 0 This ensures that the quicklists are drained. Otherwise draining may only occur when the processor reaches an idle state. Fixes fatal leakage of pgd_t's on 2.6.22 and later. Signed-off-by: Christoph Lameter Reported-by: Dhaval Giani Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3811dbf67162bd08412f1b0e02e554f353e93bdb Author: Christoph Lameter Date: Mon Dec 17 16:20:27 2007 -0800 SLUB: remove useless masking of GFP_ZERO Remove a recently added useless masking of GFP_ZERO. GFP_ZERO is already masked out in new_slab() (See how it calls allocate_slab). No need to do it twice. This reverts the SLUB parts of 7fd272550bd43cc1d7289ef0ab2fa50de137e767. Cc: Matt Mackall Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 087ee8d5bec1aa6d0a1dfe3067c7298375462ceb Author: Jan Kara Date: Mon Dec 17 16:20:26 2007 -0800 Fix compilation warning in dquot.c Fix compilation warning about discarded const. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5dbac87b4343d98ae509fb787efb77f8ddc484b Author: Nishanth Aravamudan Date: Mon Dec 17 16:20:25 2007 -0800 Documentation: update hugetlb information The hugetlb documentation has gotten a bit out of sync with the current code. Updated the sysctl file to refer to Documentation/vm/hugetlbpage.txt. Update that file to contain the current state of affairs (with the newer named sysctl in place). Signed-off-by: Nishanth Aravamudan Acked-by: Adam Litke Cc: William Lee Irwin III Cc: Dave Hansen Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 368d2c6358c3c62b3820a8a73f9fe9c8b540cdea Author: Nishanth Aravamudan Date: Mon Dec 17 16:20:22 2007 -0800 Revert "hugetlb: Add hugetlb_dynamic_pool sysctl" This reverts commit 54f9f80d6543fb7b157d3b11e2e7911dc1379790 ("hugetlb: Add hugetlb_dynamic_pool sysctl") Given the new sysctl nr_overcommit_hugepages, the boolean dynamic pool sysctl is not needed, as its semantics can be expressed by 0 in the overcommit sysctl (no dynamic pool) and non-0 in the overcommit sysctl (pool enabled). (Needed in 2.6.24 since it reverts a post-2.6.23 userspace-visible change) Signed-off-by: Nishanth Aravamudan Acked-by: Adam Litke Cc: William Lee Irwin III Cc: Dave Hansen Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1c3fb1f8f29c41b0d098d7cfb3c32939043631f Author: Nishanth Aravamudan Date: Mon Dec 17 16:20:12 2007 -0800 hugetlb: introduce nr_overcommit_hugepages sysctl hugetlb: introduce nr_overcommit_hugepages sysctl While examining the code to support /proc/sys/vm/hugetlb_dynamic_pool, I became convinced that having a boolean sysctl was insufficient: 1) To support per-node control of hugepages, I have previously submitted patches to add a sysfs attribute related to nr_hugepages. However, with a boolean global value and per-mount quota enforcement constraining the dynamic pool, adding corresponding control of the dynamic pool on a per-node basis seems inconsistent to me. 2) Administration of the hugetlb dynamic pool with multiple hugetlbfs mount points is, arguably, more arduous than it needs to be. Each quota would need to be set separately, and the sum would need to be monitored. To ease the administration, and to help make the way for per-node control of the static & dynamic hugepage pool, I added a separate sysctl, nr_overcommit_hugepages. This value serves as a high watermark for the overall hugepage pool, while nr_hugepages serves as a low watermark. The boolean sysctl can then be removed, as the condition nr_overcommit_hugepages > 0 indicates the same administrative setting as hugetlb_dynamic_pool == 1 Quotas still serve as local enforcement of the size of the pool on a per-mount basis. A few caveats: 1) There is a race whereby the global surplus huge page counter is incremented before a hugepage has allocated. Another process could then try grow the pool, and fail to convert a surplus huge page to a normal huge page and instead allocate a fresh huge page. I believe this is benign, as no memory is leaked (the actual pages are still tracked correctly) and the counters won't go out of sync. 2) Shrinking the static pool while a surplus is in effect will allow the number of surplus huge pages to exceed the overcommit value. As long as this condition holds, however, no more surplus huge pages will be allowed on the system until one of the two sysctls are increased sufficiently, or the surplus huge pages go out of use and are freed. Successfully tested on x86_64 with the current libhugetlbfs snapshot, modified to use the new sysctl. Signed-off-by: Nishanth Aravamudan Acked-by: Adam Litke Cc: William Lee Irwin III Cc: Dave Hansen Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a3f595cc8298df14a7c71b0d876bafd8e9e1cbf Author: Eric Sandeen Date: Mon Dec 17 16:20:10 2007 -0800 ecryptfs: fix fsx data corruption problems ecryptfs in 2.6.24-rc3 wasn't surviving fsx for me at all, dying after 4 ops. Generally, encountering problems with stale data and improperly zeroed pages. An extending truncate + write for example would expose stale data. With the changes below I got to a million ops and beyond with all mmap ops disabled - mmap still needs work. (A version of this patch on a RHEL5 kernel ran for over 110 million fsx ops) I added a few comments as well, to the best of my understanding as I read through the code. Signed-off-by: Eric Sandeen Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8998979cc1f90da5a48b2e8a13833217c63f7c4a Author: Nathan Lynch Date: Mon Dec 17 16:20:09 2007 -0800 fix bloat-o-meter for ppc64 bloat-o-meter assumes that a '.' anywhere in a symbol's name means that it is static and prepends 'static.' to the first part of the symbol name, discarding the portion of the name that follows the '.'. However, the names of function entry points begin with '.' in the ppc64 ABI. This causes all function text size changes to be accounted to a single 'static.' entry in the output when comparing ppc64 kernels. Change getsizes() to ignore the first character of the symbol name when searching for '.'. Signed-off-by: Nathan Lynch Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb8e8bcce7eceacb52eb0a3ebb64202ad6bcc438 Author: Shannon Nelson Date: Mon Dec 17 16:20:08 2007 -0800 I/OAT: fix null device in call to dev_err() We can't use the device in a dev_err() after a kzalloc failure or after the kfree, so simplify it to the pdev that was originally passed in. Cc: Eric Sesterhenn Signed-off-by: Shannon Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 711924b1052a280bd2452c3babb9816e4a77c723 Author: Shannon Nelson Date: Mon Dec 17 16:20:08 2007 -0800 I/OAT: fixups from code comments A few fixups from Andrew's code comments. - removed "static inline" forward-declares - changed use of min() to min_t() - removed some unnecessary NULL initializations - removed a couple of BUG() calls Fixes this: drivers/dma/ioat_dma.c: In function `ioat1_tx_submit': drivers/dma/ioat_dma.c:177: sorry, unimplemented: inlining failed in call to '__ioat1_dma_memcpy_issue_pending': function body not available drivers/dma/ioat_dma.c:268: sorry, unimplemented: called from here Signed-off-by: Shannon Nelson Cc: "Williams, Dan J" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c9e70efbfc3186674d93451e0fbf18365347b4d Author: Eric Sandeen Date: Mon Dec 17 16:20:07 2007 -0800 ecryptfs: set s_blocksize from lower fs in sb eCryptfs wasn't setting s_blocksize in it's superblock; just pick it up from the lower FS. Having an s_blocksize of 0 made things like "filefrag" which call FIGETBSZ unhappy. Signed-off-by: Eric Sandeen Acked-by: Mike Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81eabcbe0b991ddef5216f30ae91c4b226d54b6d Author: Mel Gorman Date: Mon Dec 17 16:20:05 2007 -0800 mm: fix page allocation for larger I/O segments In some cases the IO subsystem is able to merge requests if the pages are adjacent in physical memory. This was achieved in the allocator by having expand() return pages in physically contiguous order in situations were a large buddy was split. However, list-based anti-fragmentation changed the order pages were returned in to avoid searching in buffered_rmqueue() for a page of the appropriate migrate type. This patch restores behaviour of rmqueue_bulk() preserving the physical order of pages returned by the allocator without incurring increased search costs for anti-fragmentation. Signed-off-by: Mel Gorman Cc: James Bottomley Cc: Jens Axboe Cc: Mark Lord Signed-off-by: Linus Torvalds commit 8d936626dd00bd47cf574add458fea8a23b79611 Author: Adam Jackson Date: Mon Dec 17 16:20:04 2007 -0800 apm_event{,info}_t are userspace types These types define the size of data read from /dev/apm_bios. They should not be hidden behind #ifdef __KERNEL__. This is killing my xserver compile, apm_event_t is used in the xserver source. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a33234735b2bcfb23cf1facb1f0d8656b8edab8f Author: Adrian Bunk Date: Mon Dec 17 16:20:03 2007 -0800 drivers/cpufreq/cpufreq_stats.c section fix cpufreq_stats_free_table() mustn't be __cpuexit since it's called by the __cpuinit cpufreq_stat_cpu_callback(). This patch fixes the following section mismatch reported by Chris Clayton: WARNING: vmlinux.o(.init.text+0x143dd): Section mismatch: reference to .exit.text:cpufreq_stats_free_table (between 'cpufreq_stat_cpu_callback' and 'cpufreq_stats_init') Signed-off-by: Adrian Bunk Cc: Chris Clayton Acked-by: Dave Jones Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 771cceb464874d4a22efd4a600e4597ad3f2fc9e Author: Julia Lawall Date: Mon Dec 17 16:20:02 2007 -0800 drivers/macintosh/via-pmu.c: Added a missing iounmap The error handling code should undo the ioremap as well. The problem was detected using the following semantic match (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2; constant C; int ret; @@ T E; ... * E = ioremap(...); if (E == NULL) S ... when != iounmap(E) when != if (E != NULL) { ... iounmap(E); ...} when != x1 = (T1)E if (...) { ... when != iounmap(E) when != if (E != NULL) { ... iounmap(E); ...} when != x2 = (T2)E ( * return; | * return C; | * return ret; ) } // Signed-off-by: Julia Lawall Cc: Johannes Berg Cc: Olaf Hering Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d17a18dd92c91c784fcf7c785fa6bbf178fd0a6d Author: Dave Young Date: Mon Dec 17 16:20:00 2007 -0800 pktcdvd: add kobject_put when kobject register fails In kobject_register, the kobject reference is get in kobject_init, and then kobject_add. If kobject_add fail, it will only cleanup the reference got by itself. Signed-off-by: Dave Young Reviewed-by: Pekka Enberg Cc: Greg KH Cc: Peter Osterlund Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbd0682596f7a434467ee551fee18d5f0b818539 Author: WANG Cong Date: Mon Dec 17 16:19:59 2007 -0800 mm/sparse.c: improve the error handling for sparse_add_one_section() Improve the error handling for mm/sparse.c::sparse_add_one_section(). And I see no reason to check 'usemap' until holding the 'pgdat_resize_lock'. [geoffrey.levand@am.sony.com: sparse_index_init() returns -EEXIST] Cc: Christoph Lameter Acked-by: Dave Hansen Cc: Rik van Riel Acked-by: Yasunori Goto Cc: Andy Whitcroft Signed-off-by: WANG Cong Signed-off-by: Geoff Levand Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af0cd5a7c3cded50c25e98acd94912d17a0eb914 Author: WANG Cong Date: Mon Dec 17 16:19:58 2007 -0800 mm/sparse.c: check the return value of sparse_index_alloc() Since sparse_index_alloc() can return NULL on memory allocation failure, we must deal with the failure condition when calling it. Signed-off-by: WANG Cong Cc: Christoph Lameter Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd6cba53c524dccf72900435d29722b22f61d835 Author: Dave Jones Date: Mon Dec 17 16:19:58 2007 -0800 cpufreq: fix missing unlocks in cpufreq_add_dev error paths. Ingo hit some BUG_ONs that were probably caused by these missing unlocks causing an unbalance. He couldn't reproduce the bug reliably, so it's unknown that it's definitly fixing the problem he hit, but it's a fairly good chance, and this fixes an obvious bug. [ Dave: "Ingo followed up that he hit some lockdep related output with this applied, so it may not be right. I'll look at it after xmas if no-one has it figured out before then." Akpm: "It looks pretty correct to me though." ] Signed-off-by: Dave Jones Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9548b209a37397f3036aa5bd3d5b4d3b725aa11a Author: Ivan Kokshaysky Date: Mon Dec 17 16:19:57 2007 -0800 alpha: build fixes This fixes some of the alpha-specific build problems, except a) modpost warning about COMMON symbol "saved_config" and b) nasty final link failure with gcc-4.x, -Os and scsi-disk driver configured built-in (due to jump table in .rodata referencing discarded .exit.text). - build failure with gcc-4.2.x: fix up casts in cia_io* routines to avoid warnings ('discards qualifiers from pointer target type'), which are failures, thanks to -Werror; - modpost warnings: add missing __init qualifier for titan and marvel; for non-generic build, move machine vectors from .data to .data.init.refok section; - unbreak CPU-specific optimization: rearrange cpuflags-y assignments so that extended -mcpu value (ev56, pca56, ev67) overrides basic one (ev5, ev6) and not vice versa. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b47b6f38e5202c924bfe7632dce5dda4e3d40731 Author: Andries E. Brouwer Date: Mon Dec 17 16:19:55 2007 -0800 ext3, ext4: avoid divide by zero As it turns out, the kernel divides by EXT3_INODES_PER_GROUP(s) when mounting an ext3 filesystem. If that number is zero, a crash follows. Below a patch. This crash was reported by Joeri de Ruiter, Carst Tankink and Pim Vullers. Cc: Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e2de407bec98fb07040f658f55fb71ba1b594f5 Author: Uwe Kleine-König Date: Mon Dec 17 16:19:54 2007 -0800 fs/Kconfig: grammar fix This was introduced in 4af8e944c22d8af92a7548354a9567250cc1a782 Signed-off-by: Uwe Kleine-König Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5ee6daa525c04079baee6f393c0b2dab3f61253 Author: Geoff Levand Date: Mon Dec 17 16:19:53 2007 -0800 sparsemem: make SPARSEMEM_VMEMMAP selectable SPARSEMEM_VMEMMAP needs to be a selectable config option to support building the kernel both with and without sparsemem vmemmap support. This selection is desirable for platforms which could be configured one way for platform specific builds and the other for multi-platform builds. Signed-off-by: Miguel Botón Signed-off-by: Geoff Levand Acked-by: Yasunori Goto Cc: Christoph Lameter Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e12a7fb0d79d011ff9e0b09b53ca4438e5604de Author: Sheela Date: Mon Dec 17 16:19:53 2007 -0800 Fix lguest documentation Share net is not supported, Rusty is an "idiot" . Signed-off-by: Sheela Sequeira Reviewed-by: James Morris Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 459e216429a04779216b61f0fb61938a459fd1ca Author: Eric Sandeen Date: Mon Dec 17 16:19:52 2007 -0800 ecryptfs: initialize new auth_tokens before teardown ecryptfs_destroy_mount_crypt_stat() checks whether each auth_tok->global_auth_tok_key is nonzero and if so puts that key. However, in some early mount error paths nothing has initialized the pointer, and we try to key_put() garbage. Running the bad cipher tests in the testsuite exposes this, and it's happy with the following change. Signed-off-by: Eric Sandeen Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60af880339aae440293a0c8e93178fdcb41f8a29 Author: Eric Dumazet Date: Mon Dec 17 16:19:51 2007 -0800 parport: "dev->timeslice" is an unsigned long, not an int While auditing proc_doulongvec_ms_jiffies_minmax() usage in kernel, I found a bug in drivers/parport/procfs.c, incorrectly using sizeof(int) instead of sizeof(unsigned long) Only 64bit arches are affected by this old bug. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d431dbef4e63d54f1965c3ed6ca5f91ee4512de Author: David Brownell Date: Mon Dec 17 16:19:50 2007 -0800 rtc-at32ap700x: fix irq init oops Reorder at32_rtc_probe() so that it's safe (no oopsing) to fire the IRQ handler the instant that it's registered. (Bug noted via "Debug shared IRQ handlers" kernel debug option.) Signed-off-by: David Brownell Cc: Alessandro Zummo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe4304baf26e9580ada52e4579b1b7273434d8dd Author: Ivan Kokshaysky Date: Mon Dec 17 16:19:48 2007 -0800 alpha: strncpy/strncat fixes First of all, thanks to Bob Tracy and Michael Cree for testing. Especially to Bob, as he has done titanic multi-day git-bisect work that finally helped to reproduce and nail down the bug (http://bugzilla.kernel.org/show_bug.cgi?id=9457). [ev6-]stxncpy.S: it's t12, not t2 register that is supposed to contain the last byte offset upon return. As a result of wrong register use (which was my fault back in 2003, IIRC), under some circumstances extra terminating zero bytes were added to destination string. This particularly led to incorrect DEVPATH strings generated in uevent and therefore to udev problems. strncpy.S: unrelated bug I found while testing the above fix - destination is not properly zero-padded then a byte count exceeds source length. Actually this is addition to strncpy fix from last year. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Cc: Bob Tracy Cc: Michael Cree Cc: Kay Sievers Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4dbed85a35ed37d9608f4f32e5d69efa775d6223 Author: Stanislaw Gruszka Date: Mon Dec 17 16:19:46 2007 -0800 uml: stop gdb from deleting breakpoints when running UML Sometimes when UML is debugged gdb miss breakpoints. When process traced by gdb do fork, debugger remove breakpoints from child address space. There is possibility to trace more than one fork, but this not work with UML, I guess (only guess) there is a deadlock - gdb waits for UML and UML waits for gdb. When clone() is called with SIGCHLD and CLONE_VM flags, gdb see this as PTRACE_EVENT_FORK not as PTRACE_EVENT_CLONE and remove breakpoints from child and at the same time from traced process, because either have the same address space. Maybe it is possible to do fix in gdb, but I'm not sure if there is easy way to find out if traced and child processes share memory. So I do fix for UML, it simply do not call clone() with both SIGCHLD and CLONE_VM flags together. Additionally __WALL flag is used for waitpid() to assure not miss clone and normal process events. [ jdike - checkpatch fixes ] Signed-off-by: Stanislaw Gruszka Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5867a78f41f84e5388448da62c183255dc22601f Author: Andrew Morton Date: Mon Dec 17 16:19:45 2007 -0800 revert "Hibernation: Use temporary page tables for kernel text mapping on x86_64" Revert commit efa4d2fb047b25a6be67fe92178a2a78da6b3f6a ("Hibernation: Use temporary page tables for kernel text mapping on x86_64") because it causes my t61p to reboot right at the end of resume-from-disk. For reasons unknown at this time. Cc: Pavel Machek Cc: Andi Kleen Cc: Thomas Gleixner Cc: Ingo Molnar Acked-by: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 755271358cc401eb3db0db52b2c8fb8d71ae4d8f Author: Andrew Morton Date: Mon Dec 17 16:19:44 2007 -0800 fix headers_install make[3]: *** No rule to make target `/usr/src/devel/include/linux/ticable.h', needed by `/usr/src/devel/usr/include/linux/ticable.h'. Stop. Signed-off-by: Andrew Morton Acked-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 140b5e59119a172a91b5fa13d54ca4f79bbefee1 Author: Tejun Heo Date: Wed Dec 12 12:21:52 2007 +0900 libata: fix ATAPI draining With ATAPI transfer chunk size properly programmed, libata PIO HSM should be able to handle full spurious data chunks. Also, it's a good idea to suppress trailing data warning for misc ATAPI commands as there can be many of them per command - for example, if the chunk size is 16 and the drive tries to transfer 510 bytes, there can be 31 trailing data messages. This patch makes the following updates to libata ATAPI PIO HSM implementation. * Make it drain full spurious chunks. * Suppress trailing data warning message for misc commands. * Put limit on how many bytes can be drained. * If odd, round up consumed bytes and the number of bytes to be drained. This gets the number of bytes to drain right for drivers which do 16bit PIO. This patch is partial backport of improve-ATAPI-data-xfer patchset pending for #upstream. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f2dfc1a12bb1a029df62b018a8e1882e91041025 Author: Tejun Heo Date: Wed Dec 12 12:12:46 2007 +0900 libata: update atapi_eh_request_sense() such that lbam/lbah contains buffer size While updating lbam/h for ATAPI commands, atapi_eh_request_sense() was left out. Update it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3264a8d8f95348e05cc6ac1ce747a8339ed7ab08 Author: Tejun Heo Date: Sat Dec 15 15:05:06 2007 +0900 libata-acpi: implement _GTF command filtering Implement _GTF command filtering which can be controlled by libata.acpi_filter kernel parameter. Currently SETXFER and LOCK commands are filtered. libata configures transfer mode by itself and _GTF SETXFER commands can potentially disrupt device configuration. _GTM/_STM mechanism can't handle hotplugging too well and when _GTF is executed, controller is in PIO0 rather than the mode _STM configured. Note that detecting SET MAX LOCK requires looking at the previous command. This adds a bit to code complexity. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0e8634bf8e48e50aa96c7e7becafcf9d98c1a28d Author: Tejun Heo Date: Sat Dec 15 15:05:05 2007 +0900 libata-acpi: improve _GTF execution error handling and reporting As _GTF commands can't transfer data, device error never signals transfer error. It indicates that the device vetoed the operation, so it's meaningless to retry. This patch makes libata-acpi to report and continue on device errors when executing _GTF commands. Also commands rejected by device don't contribute to the number of _GTF commands executed. While at it, update _GTF execution reporting such that all successful commands are logged at KERN_DEBUG and rename taskfile_load_raw() to ata_acpi_run_tf() for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 66fa7f2158e84530aa4a1839a3500d6bdb231301 Author: Tejun Heo Date: Sat Dec 15 15:05:04 2007 +0900 libata-acpi: improve ACPI disabling * If _GTF evalution fails, it's pointless to retry. If nothing else is wrong, just ignore the error. * After disabling ACPI, return success iff the number of executed _GTF command equals zero. Otherwise, tell EH to retry. This change fixes bogus 1 return bug where ata_acpi_on_devcfg() expects the caller to reload IDENTIFY data and continue but the caller interprets it as an error. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 398e07826b24cbeb5ff2f0a178367fc9d24cd475 Author: Tejun Heo Date: Sat Dec 15 15:05:03 2007 +0900 libata-acpi: implement dev->gtf_cache and evaluate _GTF right after _STM during resume On certain implementations, _GTF evaluation depends on preceding _STM and both can be pretty picky about the configuration. Using _GTM result cached during controller initialization satisfies the most neurotic _STM implementation. However, libata evaluates _GTF after reset during device configuration and the hardware state can be different from what _GTF expects and can cause evaluation failure. This patch adds dev->gtf_cache and updates ata_dev_get_GTF() such that it uses the cached value if available. Cache is cleared with a call to ata_acpi_clear_gtf(). Because for SATA ACPI nodes _GTF must be evaluated after _SDD which can't be done till IDENTIFY is complete, _GTF caching from ata_acpi_on_resume() is used only for IDE ACPI nodes. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c05e6ff035c1b25d17364a685432b33937d3dc23 Author: Tejun Heo Date: Sat Dec 15 15:05:02 2007 +0900 libata-acpi: implement and use ata_acpi_init_gtm() _GTM fetches currently configured transfer mode while _STM configures controller according to _GTM parameter and prepares transfer mode configuration TFs for _GTF. In many cases _GTM and _STM implementations are quite brittle and can't cope with configuration changed by libata. libata does not depend on ATA ACPI to configure devices. The only reason libata performs _GTM and _STM are to make _GTF evaluation succeed and libata also doesn't care about how _GTF TFs configure transfer mode. It overrides that configuration anyway, so from libata's POV, it doesn't matter what value is feeded to _STM as long as evaluation succeeds for _STM and following _GTF. This patch adds dev->__acpi_init_gtm and store initial _GTM values on host initialization before modified by reset and mode configuration. If the field is valid, ata_acpi_init_gtm() returns pointer to the saved _GTM structure; otherwise, NULL. This saved value is used for _STM during resume and peek at BIOS/firmware programmed initial timing for later use. The accessor is there to make building w/o ACPI easy as dev->__acpi_init doesn't exist if ACPI is not enabled. On driver detach, the initial BIOS configuration is restored by executing _STM with the initial _GTM values such that the next driver can also use the initial BIOS configured values. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 562f0c2d771ee7be6b37fe015f94a929f8056120 Author: Tejun Heo Date: Sat Dec 15 15:05:01 2007 +0900 libata-acpi: add new hooks ata_acpi_dissociate() and ata_acpi_on_disable() Add two hooks - ata_acpi_dissociate() which is called during driver detach after the whole host is shutdown and ata_acpi_on_disable() which is called when a device is disabled. Signed-off-by: Tejun heo Signed-off-by: Jeff Garzik commit 7f9ad9b8b96855f529f4fe9db0bf32cd3f14c01b Author: Tejun Heo Date: Sat Dec 15 15:05:00 2007 +0900 libata: ata_dev_disable() should be called from EH context ata_port_detach() calls ata_dev_disable() with host lock held but ata_dev_disable() should be called from EH context. ata_port_detach() steals EH context by setting ATA_PFLAG_UNLOADAING and flushing EH. Drop locking around ata_dev_disable() and note that ata_port_detach() owns EH context at that point. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ce2e0abbd31b047ac7be740d28ef710f5bbdb105 Author: Tejun Heo Date: Sat Dec 15 15:04:59 2007 +0900 libata: add more opcodes to ata.h Add constants for DEVICE CONFIGURATION OVERLAY and SET_MAX to include/linux/ata.h. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c2e366a107e511ad00c2181c52e4150fc086ec0f Author: Tejun Heo Date: Sat Dec 15 15:04:58 2007 +0900 libata: update ata_*_printk() macros such that level can be a variable Make prink helpers format @lv together rather than prepending to the format string as constant. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0d02f0b22b678b9d6c8ac8cad7b4cfbbdf6fab18 Author: Tejun Heo Date: Sat Dec 15 15:04:57 2007 +0900 libata-acpi: adjust constness in ata_acpi_gtm/stm() parameters * No internal function uses const ata_port. Drop const from @ap. * Make ata_acpi_stm() copy @stm before using it and change @stm to const. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4e5200334e03e5620aa19d538300c13db270a063 Author: Mark Lord Date: Tue Dec 11 12:58:05 2007 -0500 sata_mv: improve warnings about Highpoint RocketRAID 23xx cards Improve the existing boot/load time warnings from sata_mv for Highpoint RocketRAID 23xx cards, based on new knowledge about where the BIOS likes to overwrite sectors with metadata. Harmless to us, but very useful for end users. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit e41bd3e854e3536de847d5831c0e25a47f394885 Author: Tejun Heo Date: Sun Dec 9 19:45:39 2007 +0900 libata: add ST3160023AS / 3.42 to NCQ blacklist Like ST380817AS / 3.42, ST3160023AS / 3.42 times out commands if NCQ is used. Blacklist it. This is reported by Matheus Izvekov in the following thread. http://thread.gmane.org/gmane.linux.ide/24202 Signed-off-by: Tejun Heo Cc: Matheus Izvekov Signed-off-by: Jeff Garzik commit f7fe7ad4bcaba17f05d5cbf1119772c645783b08 Author: Tejun Heo Date: Sat Dec 8 08:47:01 2007 +0900 libata: clear link->eh_info.serror from ata_std_postreset() link->eh_info.serror is used to cache SError for controllers which need it cleared from interrupt handler to clear IRQ. It also should be cleared after reset just like SError itself. Make ata_std_postreset() clear link->eh_info.serror too and update sata_sil such that it doesn't care about bookkeeping the value. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8cf32ac6578a70025be1103466da9d1d6141429e Author: Tejun Heo Date: Sat Dec 8 08:45:27 2007 +0900 sata_sil: fix spurious IRQ handling Interestingly, sata_sil raises spurious interrupts if it's coupled with Sil SATA_PATA bridge. Currently, sata_sil interrupt handler is strict about spurious interrupts and freezes the port when it occurs. This patch makes it more forgiving. * On SATA PHY event interrupt, serror value is checked to see whether it really is PHYRDY CHG event. If not, SATA PHY event interrupt is ignored. * If ATA interrupt occurs while no command is in progress, it's cleared and ignored. This fixes bugzilla bug 9505. http://bugzilla.kernel.org/show_bug.cgi?id=9505 Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 53e490936a91940a153e231c3b8288e3ecfcc5aa Author: Zhu Yi Date: Thu Dec 6 16:08:44 2007 +0800 iwlwifi: fix rf_kill state inconsistent during suspend and resume The patch fixes the STATUS_RF_KILL_HW state is not cleared problem if the device goes to suspend when the rf_kill switch is enabled. The bug causes the driver always thinks the rf_kill switch is enabled (although it is disabled) after resume. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1a8d122782bdabe4475f29d022c9a0c092ac9878 Author: Larry Finger Date: Fri Dec 14 13:59:11 2007 +0100 b43: Fix rfkill radio LED This fixes Bug #9414 Since addition of the rfkill callback, the LED associated with the off switch on the radio has not worked for several reasons: (1) Essential data in the rfkill structure were missing. (2) The rfkill structure was initialized after the LED initialization. (3) There was a minor memory leak if the radio LED structure was inited. Once the above problems were fixed, additional difficulties were noted: (4) The radio LED was in the wrong state at startup. (5) The radio switch had to be manipulated twice for each state change. (6) A circular mutex locking situation existed. (7) If rfkill-input is built as a module, it is not automatically loaded. This patch fixes all of the above. Signed-off-by: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit cb935cb4bd155d50ac98617b580aadd9d7ef3a0f Author: Andrew Morton Date: Thu Dec 13 15:52:13 2007 -0800 bcm43xx_debugfs sscanf fix ia64: drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c: In function `tsf_write_file': drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c:237: warning: long long int format, u64 arg (arg 3) drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c:237: warning: long long int format, u64 arg (arg 3) We do not know what type was used to implement u64 and we can never use u64 in printk(), sscanf(), etc. Cc: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit aaf44a06b7c4864d93660e04701a72153197932c Author: Dan Williams Date: Thu Dec 13 15:52:12 2007 -0800 libertas: select WIRELESS_EXT Ensure that libertas selects WIRELESS_EXT, since selecting other stuff that should depend on WEXT, like IEEE80211, doesn't seem to drag that in for us. Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit a5acc379e52c78db407c73537daff387b179202c Author: Cyrill Gorcunov Date: Thu Dec 13 15:52:12 2007 -0800 iwlwifi3945/4965: fix rate control algo reference leak Fix rate control algo reference leak in case if network device has been failed to register. In this case special flag priv->mac80211_registered is not set and the rate algo reference is not freeing on module unload. That leads to OOPs in further ieee80211 rate register/unregister procedure (by any callee). It should fix the bug #9470 http://bugzilla.kernel.org/show_bug.cgi?id=9470 [akpm@linux-foundation.org: build fix] Signed-off-by: Cyrill Gorcunov Acked-by: Zhu Yi Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit b808ab16a9c99c00e3d8c3b351977fce62781dd0 Author: Cyrill Gorcunov Date: Thu Dec 13 15:52:11 2007 -0800 ieee80211_rate: missed unlock Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 2ef19e63e698d740661e04bd6d62ac3305435c61 Author: Adrian Bunk Date: Tue Dec 11 23:20:22 2007 +0100 wireless/ipw2200.c: add __dev{init,exit} annotations This patch adds __dev{init,exit} annotations. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 9313794371ad39e6bf88e1fbef8dfb3bd1ae3fe7 Author: Ulrich Kunitz Date: Sat Dec 1 11:26:05 2007 +0100 zd1211rw: Fix alignment problems Shaddy Baddah found an alignment problem with zd1211rw driver at 2007-11-19. This patch fixes it, it is based on the patch proposed by Herbert Xu. The alignment 4 has been the agreed value on the linux-wireless mailing list. Notify that the problem does only affect the old zd1211rw softmac driver and not the zd1211rw-mac80211 driver. Daniel Drake has already provided a patch for the replacement of the softmac driver, which this patch will break. Signed-off-by: Ulrich Kunitz Signed-off-by: John W. Linville commit 74cda169fe65ca1dedad6d4a905b13c6ccd87351 Author: Stefano Brivio Date: Mon Nov 19 20:27:46 2007 +0100 libertas: add Dan Williams as maintainer Add Dan Williams as maintainer for libertas driver. Signed-off-by: Stefano Brivio Cc: Dan Williams Signed-off-by: John W. Linville commit 961994a0c2a24d9622eea7144b30ac773169659f Author: Al Viro Date: Sat Dec 15 01:44:33 2007 +0000 sis190 endianness Check in sis190_rx_interrupt() is broken on big-endian (desc->status is little-endian and everything else actually uses it correctly, including other checks for OWNbit. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 87e417b2f3a061d5eb85906288738f4313f1d924 Author: Anton Vorontsov Date: Mon Dec 17 14:54:35 2007 +0300 ucc_geth: really fix section mismatch Commit ed7e63a51d46e835422d89c687b8a3e419a4212a has tried to fix section mismatch: WARNING: vmlinux.o(.init.text+0x17278): Section mismatch: reference to .exit.text:uec_mdio_exit (between 'ucc_geth_init' and 'uec_mdio_init') But that mismatch still happens. This patch actually fixing section mismatch by removing __exit from the header file. Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik commit 7a1fd330571530d44261bf8e9ee63b880f2bb4db Author: Komuro Date: Mon Dec 17 22:22:31 2007 +0900 pcnet_cs: add new id add new id: Planex CF-10T Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit e8aed3450c0afd6fdb79ec233f806e3e69454dfe Author: Mark Fasheh Date: Mon Dec 3 16:43:01 2007 -0800 ocfs2: Re-journal buffers after transaction extend ocfs2_extend_trans() might call journal_restart() which will commit dirty buffers and then restart the transaction. This means that any buffers which still need changes should be passed to journal_access() again. Some paths during extend weren't doing this right. Signed-off-by: Mark Fasheh commit 0879c584ffcccd50a8d0f72cab3a51702613f901 Author: Mark Fasheh Date: Mon Dec 3 16:42:19 2007 -0800 ocfs2: Allow for debugging of transaction extends The nastiest cases of transaction extends are also the rarest. We can expose them more quickly at the expense of performance by going straight to the journal_restart() in ocfs2_extend_trans(). Wrap things in OCFS2_DEBUG_FS so that we only do this when "expensive debugging" is turned on. Signed-off-by: Mark Fasheh commit 92295d8054289eff0d52b4d12349f9b9df0f58e4 Author: Mark Fasheh Date: Mon Dec 3 15:02:10 2007 -0800 ocfs2: Don't panic when truncating an empty extent This BUG_ON() was unintentionally left in after the sparse file support was written. Signed-off-by: Mark Fasheh commit a86370fbb65a0a2cb21d28bf25a748f6cc04385b Author: Mark Fasheh Date: Mon Dec 3 14:06:23 2007 -0800 ocfs2: fix exit-while-locked bug in ocfs2_queue_orphans() We're holding the cluster lock when a failure might happen in ocfs2_dir_foreach() so it needs to be released. Signed-off-by: Mark Fasheh commit e70e7690b66dc06fe2ad9058e696e18fe7f3faa6 Author: Greg Kroah-Hartman Date: Fri Dec 14 19:18:31 2007 -0500 USB: revert portions of "UNUSUAL_DEV: Sync up some reported devices from Ubuntu" This reverts one change from 67fa10627ec0d8aa16f1cf38cf527e67d8097d3c that prevented userspace from seing the "driver disk" lun in a san disk device. The kernel shouldn't do this, it's up to userspace to handle this properly, if it somehow wants to filter this away. Cc: Ben Collins Cc: Alan Stern Cc: Phil Dibowitz Cc: Kyle McMartin Cc: Matthew Dharm Cc: Hans de Goede Signed-off-by: Greg Kroah-Hartman commit 565227c08226e458da191518251dbff6831624c2 Author: Benjamin Herrenschmidt Date: Thu Dec 6 13:28:25 2007 -0800 usb: Remove broken optimisation in OHCI IRQ handler The OHCI IRQ handler has an optimisation that avoids reading some chip registers when the controller reports that the interrupt was triggered *only* because completed requests were written into the controller's "done list" and handed to the host. This mechanism can't be used on some controllers. Among others, it fails for the SA1111 and the AMCC 440EP PowerPC processor. This patch removes the optimisation and makes the code clearer. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 08cbc706acd2dd601b0663e28fa97ffb0564e105 Author: Nicolas Ferre Date: Thu Dec 13 15:52:58 2007 -0800 USB: at91_udc: correct hanging while disconnecting usb cable Correct hanging while disconnecting the USB device cable. Prevent a race between vbus and UDP interrupts. This bug was tracked on at91sam9260ek boards. A usb resume interrupt was firing after the vbus interrupt : the IP was then already stoped and not able to deal with it (no more clock). A simple interrupt disabling is ok as the "end of bus reset" irq is non maskable and ok to resume the USB device IP. Signed-off-by: Nicolas Ferre Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 442258e2ff69276ff767f3703b30ce6a31fdd181 Author: Alan Stern Date: Thu Dec 6 14:47:08 2007 -0500 USB: use IRQF_DISABLED for HCD interrupt handlers Host controller IRQs are supposed to be serviced with interrupts disabled. This patch (as1026) adds an IRQF_DISABLED flag to all the controller drivers that lack it. It also replaces the spin_lock_irqsave() and spin_unlock_irqrestore() calls in uhci_irq() with simple spin_lock() and spin_unlock(). This fixes Bugzilla #9335. Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d48bd977e0dd8c17081d12242bfc09d743ea0d26 Author: Alan Stern Date: Tue Dec 11 16:02:23 2007 -0500 USB: fix locking loop by avoiding flush_scheduled_work This patch (as1027) replaces a call to flush_scheduled_work() -- a dangerous routine to invoke, especially while holding any sort of lock -- with calls to cancel_work_sync() and cancel_delayed_work_sync(). This fixes Bugzilla #9532. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit f88ed90d8627d0d3d93b330d6d2012c2934fb54e Author: Randy Dunlap Date: Mon Dec 3 14:14:16 2007 -0800 usb.h: fix kernel-doc warning Fix kernel-doc warning in usb.h: Warning(linux-2.6.24-rc3-git7//include/linux/usb.h:166): No description found for parameter 'sysfs_files_created' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit b5ce18afecda8ce1a9ed5fb8ec6362df6f6f85b8 Author: Jaime Velasco Juan Date: Fri Nov 30 16:30:11 2007 +0000 USB: option: Bind to the correct interface of the Huawei E220 This fixes a bunch of problems we are having with the Huawei devices... Signed-off-by: Oliver Neukum Signed-off-by: Jaime Velasco Juan Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 8be27c2de64e95c3da12a4b002f623570b039874 Author: Jeff Long Date: Wed Nov 28 11:02:09 2007 -0500 USB: cp2101: new device id This adds a device ID for the Aerocomm Radio Modem, which uses the cp2102. I'm sure changing num_bulk_in/num_bulk_out to NUM_DONT_CARE is the wrong fix, but this is the only device I have with a cp2102, so I have no idea what a good global value would be, if there is one. Zero didn't work with this device. From: Jeff Long Signed-off-by: Greg Kroah-Hartman commit 33abc04f0420dceed0ebc2d1094019d3bb2b5c29 Author: Doug Maxey Date: Wed Dec 5 23:36:45 2007 -0600 usb-storage: Fix devices that cannot handle 32k transfers When a device cannot handle the smallest previously limited transfer size (64 blocks) without stalling, limit the device to the amount of packets that fit in a platform native page. The lowest possible limit is PAGE_CACHE_SIZE, so if the device is ever used on a platform that has larger than 8K pages, you lose unless you can convince the device firmware folks to fix the issue. Cc: Mathew Dharm Cc: Alan Stern Cc: Pete Zaitcev Signed-off-by: Doug Maxey Signed-off-by: Greg Kroah-Hartman commit b9e13ac30f850313be9232497ff98e90c43bc6b6 Author: agilmore@wirelessbeehive.com Date: Tue Dec 4 11:37:12 2007 -0700 USB: sierra: fix product id Attached is a patch to fix the addition of the new product ids I sent. It is against 2.6.24-rc4, as Linus included the broken version of the patch I sent you in that tree. :( Not sure if this is the right method to go about this, but hopefully I got it right this time. Signed-off-by: Andrew Gilmore CC: Kevin Lloyd Cc: stable Signed-off-by: Greg Kroah-Hartman commit bb44609361fe87c5e136c2b8dfde59bcbdbabf61 Author: Gary Hade Date: Tue Dec 11 17:09:13 2007 -0800 PCI: Restore PCI expansion ROM P2P prefetch window creation Restore PCI expansion ROM P2P prefetch window creation. This patch reverts previous "Avoid creating P2P prefetch window for expansion ROMs" change due to regressions that were spotted on some systems. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit ba3882a9178585289614c16a3b3f9b5f321d27b2 Author: barrios Date: Fri Dec 14 12:21:15 2007 +0900 HOWTO: update misspelling and word incorrected Signed-off-by: barrios Signed-off-by: Greg Kroah-Hartman commit 83f88044b45c71df6af72053a3eb9383bb9291d6 Author: barrios Date: Sat Dec 15 10:21:33 2007 +0900 add stable_api_nonsense.txt in korean Signed-off-by: barrios Signed-off-by: Greg Kroah-Hartman commit 57e1fd1f589414258dbbac8e0ea7bc2af8344ec3 Author: minchan kim Date: Thu Dec 13 11:47:17 2007 +0900 HOWTO: change addresses of maintainer and lxr url for Korean HOWTO So sorry. again My mail is set with EUC-kR. I'll resend with UTF-8. Signed-off-by: barrios Signed-off-by: Greg Kroah-Hartman commit 0594fe069df5a10686a3b923b36a0e7a6aed2393 Author: Dhaval Giani Date: Wed Dec 12 11:18:59 2007 +0530 Add Documentation for FAIR_USER_SCHED sysfs files This patch adds documentation about /sys/kernel/uids//cpu_share to Documentation/ABI. Signed-off-by: Dhaval Giani Cc: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit e11d044efdd2e5c837c4d470fc447b49a9aebfe1 Author: Tsugikazu Shibata Date: Fri Nov 30 18:59:18 2007 +0900 HOWTO: Change man-page maintainer address for Japanese HOWTO Below is a patch to change email address of man-page maintainer for Japanese HOWTO document (Documentation/ja_JP/HOWTO). This is for sync to Documentation/HOWTO that Michael Kerrisk mentioned to me. From: Tsugikazu Shibata Signed-off-by: Greg Kroah-Hartman commit cb8c9b6de076d981ca22801dbd6bce12b0758468 Author: Romain Liévin Date: Sat Dec 1 08:51:58 2007 +0100 tipar: remove obsolete module tipar: remove obsolete module The tipar character driver was used to implement bit-banging access to Texas Instruments parallel link cable. A user-land method now exists thru PPDEV & PARPORT. Signed-off-by: Romain Liévin Signed-off-by: Greg Kroah-Hartman commit 8c4606b1a4f6eb09344294b7f11641f36cd402af Author: Greg Kroah-Hartman Date: Tue Dec 4 14:45:47 2007 +0800 kobject: fix the documentation of how kobject_set_name works Thanks to Dave Young for pointing out that I forgot to update the comment when I rewrote kobject_set_name. Cc: Dave Young Signed-off-by: Greg Kroah-Hartman commit 553876c802249b21267b78a9b3857d1341a3df87 Author: Kevin Hilman Date: Wed Dec 12 00:32:58 2007 +0100 [ARM] 4694/1: IXP4xx: Update clockevent support for shutdown and resume Add proper support for CLOCK_EVT_MODE_RESUME and in the process fix CLOCK_EVT_MODE_SHUTDOWN so that only the enable bits are toggled for both. Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit 41a9e680717e82c745b1ead979ea008e9134ea68 Author: Uwe Kleine-König Date: Thu Dec 13 09:31:34 2007 +0100 [ARM] 4710/1: Fix coprocessor 14 usage for debug messages via ICEDCC According to ARM7TDMI Technical Reference Manual (ARM DDI 0210C) writing to the DCC data write register coproc dest registers are 1 and 0, not 0 and 1. ARM920T TRM (ARM DDI 0151C) agrees on that. Cc: Ben Dooks Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 0d01792300c4d7425eabac9095c603cdb411d2a5 Author: Martin Schwidefsky Date: Mon Dec 17 16:25:48 2007 +0100 [S390] pud_present/pmd_present bug. Git commit 3610cce87af0693603db171d5b6f6735f5e3dc5b (yeah my own :-/) introduced a bug in regard to pud/pmd table entries. If the address of the page table refered to by a pud/pmd value happens to have zeroes in the lower 32 bits, pud_present and pmd_present return false. The obvious effect is that this triggers the BUG_ON in exit_mmap because some ptes will not get released on process end. Worse is that the next fault for memory covered by that pud/pmd will allocate another pmd/pte table and populate the pud/pmd entry. The old page table entries hanging below this entry are lost! The fix is simple, properly check against 0. The check is added for pud_none/pmd_none as well even if these two functions work because the invalid bit is in the lower 32 bits. Signed-off-by: Martin Schwidefsky commit a26e01d71622a4cecad06ce85bcab3ed878e7f83 Author: Richard Knutsson Date: Sun Dec 16 14:10:33 2007 -0800 [IRDA]: irda parameters warning fixes. This patch fixes: CHECK /home/kernel/src/net/irda/parameters.c /home/kernel/src/net/irda/parameters.c:466:2: warning: Using plain integer as NULL pointer /home/kernel/src/net/irda/parameters.c:520:2: warning: Using plain integer as NULL pointer /home/kernel/src/net/irda/parameters.c:573:2: warning: Using plain integer as NULL pointer Signed-off-by: Richard Knutsson Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit ea332912b8a2e0b2f51ac3b6c197b71d3a18cbb7 Author: Olaf Hartmann Date: Sun Dec 16 14:09:44 2007 -0800 [IRDA]: stir4200 fixes. From: Olaf Hartmann The attached patch observes the stir4200 fifo size and will clear the fifo, if the size is increasing, while it should be transmitting bytes Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 2638698df30b7b57a8dad7029a0c89fe6c4f6783 Author: Hinko Kocevar Date: Sun Dec 16 14:08:58 2007 -0800 [IRDA]: irlmp_unregister_link() needs to free lsaps. While testing the mcs7780 based IrDA USB dongle I've stumbled upon memory leak in irlmp_unregister_link(). Hashbin for lsaps is created in irlmp_register_link and should probably be freed in irlmp_unregister_link(). Signed-off-by: Hinko Kocevar Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 0ff804348d66550e7dd1d6781c65403b312e2da2 Author: Hinko Kocevar Date: Sun Dec 16 14:08:22 2007 -0800 [IRDA]: mcs7780 needs to free allocated rx buffer. While testing the mcs7780 based IrDA USB dongle I've stumbled upon memory leak in mcs_net_close(). Patch below fixes it. Signed-off-by: Hinko Kocevar Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 497ba7f4c8113ed699a4fd793d1437f0c8f2da5e Author: Oliver Neukum Date: Sun Dec 16 14:07:36 2007 -0800 [IRDA]: Race between open and disconnect in irda-usb. It seems to me that irda_usb_net_open() must set self->netopen under spinlock or disconnect() may fail to kill all URBs, if it is called while an interface is opened. Signed-off-by: Oliver Neukum Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit ef5d4cf2f9aae4e09883d2d664e367a16b47d857 Author: Vlad Yasevich Date: Sun Dec 16 14:05:45 2007 -0800 [SCTP]: Flush fragment queue when exiting partial delivery. At the end of partial delivery, we may have complete messages sitting on the fragment queue. These messages are stuck there until a new fragment arrives. This can comletely stall a given association. When clearing partial delivery state, flush any complete messages from the fragment queue and send them on their way up. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 215f7b08f2a142ec19f4bd3d6de263e68b877955 Author: Jarek Poplawski Date: Sun Dec 16 14:02:07 2007 -0800 [AX25]: Locking dependencies fix in ax25_disconnect(). Bernard Pidoux reported these lockdep warnings: [ INFO: possible irq lock inversion dependency detected ] 2.6.23.1 #1 --------------------------------------------------------- fpac/4933 just changed the state of lock: (slock-AF_AX25){--..}, at: [] ax25_disconnect+0x46/0xaf [ax25] but this lock was taken by another, soft-irq-safe lock in the past: (ax25_list_lock){-+..} and interrupts could create inverse lock ordering between them. [...] [ INFO: inconsistent lock state ] 2.6.23.1 #1 --------------------------------- inconsistent {in-softirq-W} -> {softirq-on-W} usage. ax25_call/4005 [HC0[0]:SC0[0]:HE1:SE1] takes: (slock-AF_AX25){-+..}, at: [] ax25_disconnect+0x46/0xaf [ax25] [...] This means slock-AF_AX25 could be taken both from softirq and process context with softirqs enabled, so it's endangered itself, but also makes ax25_list_lock vulnerable. It was not 100% verified if the real lockup can happen, but this fix isn't very costly and looks safe anyway. (It was tested by Bernard with 2.6.23.9 and 2.6.24-rc5 kernels.) Reported_by: Bernard Pidoux Tested_by: Bernard Pidoux Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 488faa2ae32c2f8b1ffda5c7fae5eb7c979acc15 Author: Satoru SATOH Date: Sun Dec 16 14:00:19 2007 -0800 [IPV4]: Make tcp_input_metrics() get minimum RTO via tcp_rto_min() tcp_input_metrics() refers to the built-time constant TCP_RTO_MIN regardless of configured minimum RTO with iproute2. Signed-off-by: Satoru SATOH Signed-off-by: David S. Miller commit cf6fc4a92400decda932e5ab97b46916919142b1 Author: Wei Yongjun Date: Sun Dec 16 13:39:57 2007 -0800 [IPV6]: Fix the return value of ipv6_getsockopt If CONFIG_NETFILTER if not selected when compile the kernel source code, ipv6_getsockopt will returen an EINVAL error if optname is not supported by the kernel. But if CONFIG_NETFILTER is selected, ENOPROTOOPT error will be return. This patch fix to always return ENOPROTOOPT error if optname argument of ipv6_getsockopt is not supported by the kernel. Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 3ae412544cde6d987e0e48778bd87bc96a5749df Author: Stephen Hemminger Date: Sun Dec 16 13:35:51 2007 -0800 [BRIDGE]: Assign random address. Assigning a valid random address to bridge device solves problems when bridge device is brought up before adding real device to bridge. When the first real device is added to the bridge, it's address will overide the bridges random address. Note: any device added to a bridge must already have a valid ethernet address. br_add_if -> br_fdb_insert -> fdb_insert -> is_valid_ether_addr Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f33e1d9fa20381afa3be7e7f560c59845bfa5cec Author: Amos Waterland Date: Fri Dec 14 11:30:22 2007 -0800 [IPV4]: Updates to nfsroot documentation The difference between ip=off and ip=::::::off has been a cause of much confusion. Document how each behaves, and do not contradict ourselves by saying that "off" is the default when in fact "any" is the default and is descibed as being so lower in the file. Signed-off-by: Amos Waterland Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f58adb757be48068e2bded3dd77ba072c22a10ff Author: Tom "spot" Callaway Date: Thu Dec 13 09:33:50 2007 -0800 [ATM]: Fix compiler warning noise with FORE200E driver gcc throws these warnings with: CONFIG_ATM_FORE200E=m # CONFIG_ATM_FORE200E_PCA is not set drivers/atm/fore200e.c:2695: warning: 'fore200e_pca_detect' defined but not used drivers/atm/fore200e.c:2748: warning: 'fore200e_pca_remove_one' defined but not used By moving the #ifdef CONFIG_ATM_FORE200E_PCA around those two functions, the compiler warnings are silenced. Signed-off-by: Tom "spot" Callaway Signed-off-by: David S. Miller commit 4a9ecd5960e6a7814f6e3405807d49010ffe3a88 Author: Patrick McHardy Date: Thu Dec 13 09:32:04 2007 -0800 [NETFILTER]: bridge: fix missing link layer headers on outgoing routed packets As reported by Damien Thebault, the double POSTROUTING hook invocation fix caused outgoing packets routed between two bridges to appear without a link-layer header. The reason for this is that we're skipping the br_nf_post_routing hook for routed packets now and don't save the original link layer header, but nevertheless tries to restore it on output, causing corruption. The root cause for this is that skb->nf_bridge has no clearly defined lifetime and is used to indicate all kind of things, but that is quite complicated to fix. For now simply don't touch these packets and handle them like packets from any other device. Tested-by: Damien Thebault Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6f229d76b4c4a7fae601ea9398b23c2b426ab3b9 Author: Al Viro Date: Wed Dec 12 18:50:18 2007 -0800 [SYNCPPP]: Endianness and 64bit fixes. * trivial annotations * long != 32bit, use __be32 * wrong endianness in sending CISCO_ADDR_REPLY Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 98eb5683fb94c458b3c8d121797bc9aa1baf4e7e Author: Andrew Morton Date: Wed Dec 12 11:24:19 2007 -0800 [TIPC]: Fix semaphore handling. As noted by Kevin, tipc's release() does down_interruptible() and ignores the return value. So if signal_pending() we'll end up doing up() on a non-downed semaphore. Fix. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit cbebc51f7b77d26ec23145d6ef22ac2b209f7955 Author: Eric Dumazet Date: Wed Dec 12 11:11:28 2007 -0800 [NETFILTER]: xt_hashlimit should use time_after_eq() In order to avoid jiffies wraparound and its effect, special care must be taken when doing comparisons ... Signed-off-by: Eric Dumazet Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ab4c954ce2b2b3c485bee7e425fda05946893be Author: Paul Moore Date: Wed Dec 12 11:10:16 2007 -0800 [XFRM]: Display the audited SPI value in host byte order. Currently the IPsec protocol SPI values are written to the audit log in network byte order which is different from almost all other values which are recorded in host byte order. This patch corrects this inconsistency by writing the SPI values to the audit record in host byte order. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit a18aa31b7774d8b36048e256a02d9d689533fc96 Author: Patrick McHardy Date: Wed Dec 12 10:35:16 2007 -0800 [NETFILTER]: ip_tables: fix compat copy race When copying entries to user, the kernel makes two passes through the data, first copying all the entries, then fixing up names and counters. On the second pass it copies the kernel and match data from userspace to the kernel again to find the corresponding structures, expecting that kernel pointers contained in the data are still valid. This is obviously broken, fix by avoiding the second pass completely and fixing names and counters while dumping the ruleset, using the kernel-internal data structures. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f2a89004da23a5ed2d78ac5550ccda5b714fe7d0 Author: Pablo Neira Ayuso Date: Wed Dec 12 10:34:29 2007 -0800 [NETFILTER]: ctnetlink: set expected bit for related conntracks This patch is a fix. It sets IPS_EXPECTED for related conntracks. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3fd7131feacc01c1e23e46c416228f36ebdcc0d4 Author: Matheos Worku Date: Fri Dec 14 11:48:29 2007 -0800 ixgb: make sure jumbos stay enabled after reset Currently a device reset (ethtool -r ethX) would cause the adapter to fall back to regular MTU sizes. Signed-off-by: Matheos Worku Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 470738758db2c209481fdf92ca09f60e690a62d3 Author: Jiri Slaby Date: Thu Dec 13 16:02:57 2007 -0800 Net: ibm_newemac, remove SPIN_LOCK_UNLOCKED SPIN_LOCK_UNLOCKED is deprecated, use DEFINE_SPINLOCK instead Signed-off-by: Jiri Slaby Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b173079feaed7664a3407eb17e102010d687a051 Author: Paul Mundt Date: Thu Dec 13 16:02:59 2007 -0800 net: smc911x: shut up compiler warnings Trivial fix to shut up gcc. Signed-off-by: Paul Mundt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4b8fdefa090c8b9582f58a93f73938f9b86c264a Author: Andrew Morton Date: Thu Dec 13 16:02:55 2007 -0800 ucc_geth: minor whitespace fix The zombie whitespace from outer space that will not die! Cc: "David S. Miller" Cc: Emil Medve Cc: Jeff Garzik Cc: Kumar Gala Cc: Li Yang Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 33390a700129aa03f3808c35de017650a688f82a Author: Adrian Bunk Date: Tue Dec 11 23:23:06 2007 +0100 drivers/net/s2io.c section fixes Code used by the non-__devinit s2io_open() mustn't be __devinit. This patch fixes the following section mismatch with CONFIG_HOTPLUG=n: <-- snip --> ... WARNING: vmlinux.o(.text+0x6f6e3e): Section mismatch: reference to .init.text.20:s2io_test_intr (between 's2io_open' and 's2io_ethtool_sset') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit c2b75f0cd7cb14874f179d2c09c81f77ad784df2 Author: Adrian Bunk Date: Tue Dec 11 23:23:56 2007 +0100 drivers/net/sis190.c section fix This patch fixes the following section mismatch with CONFIG_HOTPLUG=n: <-- snip --> ... WARNING: vmlinux.o(.init.text.20+0x4cb25): Section mismatch: reference to .exit.text:sis190_mii_remove (between 'sis190_init_one' and 'read_eeprom') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 8e9859184031ac1b0a0234b8671a90cfcd333666 Author: Al Viro Date: Mon Dec 10 18:39:29 2007 +0000 hamachi endianness fixes badly broken on big-endian * passing little-endian to pci_unmap_single() et.al. * cpu_to_le32() before passing value to writel() * worse, cpu_to_le64() and shifting/masking result before the same * hmp->tx_ring[i].status_n_length = cpu_to_le32( DescEndRing | (hmp->tx_ring[i].status_n_length & 0x0000FFFF)); is obviously bogus on big-endian. Not hard to untangle, fortunately... * poisoning addresses in rx_ring is better done after we'd done pci_unmap_single() on them, not before that. [this one affects little-endian as well, obviously, provided that pci_unmap_single() is not a no-op on target in question] Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 8543da6672b0994921f014f2250e27ae81645580 Author: Auke Kok Date: Wed Dec 12 16:30:42 2007 -0800 e100: free IRQ to remove warningwhenrebooting Adapted from Ian Wienand Explicitly free the IRQ before removing the device to remove a warning "Destroying IRQ without calling free_irq" Signed-off-by: Auke Kok Cc: Ian Wienand Signed-off-by: Jeff Garzik commit 813820b9b9adb98d4ad3cd7434eb662b0fc15684 Author: Al Viro Date: Sun Dec 9 17:00:54 2007 +0000 starfire VLAN fix Recognized VLAN ids are set via writew(), should go in host-endian. That's a long-standing bug, BTW - see http://lkml.org/lkml/2004/2/27/180 for example. What happens is that card gets VLAN id table populated by byteswapped values on little-endian boxen (so 257 works as expected, 256 and 258 do not, etc.). Bug is easily reproduced, patch fixes it. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 14c9d9b03bb8ec63c77aebddea9a6f730f1b62d5 Author: Al Viro Date: Sun Dec 9 16:50:47 2007 +0000 sundance fixes * all places where we assign ->addr get cpu_to_le32(pci_map_single(....)), so we ought to convert back to host-endian before doing pci_unmap_single() et.al. * poisoning addresses in netdev_close() should be done _after_ unmapping them, not before it... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 798fdd07fcc131f396e521febb4a7d42559bf4b5 Author: Stephen Hemminger Date: Fri Dec 7 15:22:15 2007 -0800 sky2: RX lockup fix I'm using a Marvell 88E8062 on a custom PPC64 blade and ran into RX lockups while validating the sky2 driver. The receive MAC FIFO would become stuck during testing with high traffic. One port of the 88E8062 would lockup, while the other port remained functional. Re-inserting the sky2 module would not fix the problem - only a power cycle would. I looked over Marvell's most recent sk98lin driver and it looks like they had a "workaround" for the Yukon XL that the sky2 doesn't have yet. The sk98lin driver disables the RX MAC FIFO flush feature for all revisions of the Yukon XL. According to skgeinit.c of the sk98lin driver, "Flushing must be enabled (needed for ASF see dev. #4.29), but the flushing mask should be disabled (see dev. #4.115)". Nice. I implemented this same change in the sky2 driver and verified that the RX lockup I was seeing was resolved. Signed-off-by: Peter Tyser Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5a21e4fe587ebb793bf3a1c02755f8a845170328 Author: Alexey Starikovskiy Date: Sat Dec 8 13:02:46 2007 +0300 ACPI: SBS: Return rate in mW if capacity in mWh klaptopd assumes rate to be in same units as capacity. http://bugzilla.kernel.org/show_bug.cgi?id=9362 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit c2d00f2d1bf8dd721f5557b0df23729addc1898d Author: Alexey Starikovskiy Date: Sat Dec 8 13:02:40 2007 +0300 ACPI: SBS: Ignore alarms coming from unknown devices http://bugzilla.kernel.org/show_bug.cgi?id=9362 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 09f1fb41ad45bc18abe07c62f7b56560571584d1 Author: Alexey Starikovskiy Date: Sat Dec 8 13:02:33 2007 +0300 ACPI: SBS: Reset alarm bit Alarm bit should be cleared in order for other alarms to be sent. http://bugzilla.kernel.org/show_bug.cgi?id=9362 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e6e0a94573fb33e6e62b848a24864e6864c45464 Author: Martin Habets Date: Fri Dec 14 10:59:50 2007 -0800 [SPARC32]: Silence sparc32 warnings on missing syscalls. Silence sparc32 warnings on missing syscalls, these won't be added. This patch is based on this mail: http://www.mail-archive.com/linux-arch@vger.kernel.org/msg02571.html Signed-off-by: Martin Habets Signed-off-by: David S. Miller commit bbaf238b5f910f8f3dda4b96cf844f50b2dcc6fa Author: Chris Dearman Date: Thu Dec 13 22:42:19 2007 +0000 [MIPS] Ensure that ST0_FR is never set on a 32 bit kernel Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 4037500ebcfd172a15aed40caa847c52e9906712 Author: Ralf Baechle Date: Fri Dec 14 00:05:34 2007 +0000 [MIPS] time: Delete weak definition of plat_time_init() due to gcc bug. Frank Rowand reports: > In linux-2.6.24-rc4 the Toshiba RBTX4927 hangs on boot. > > The cause is that plat_time_init() from arch/mips/tx4927/common/ > tx4927_setup.c does not override the __weak plat_time_init() from > arch/mips/kernel/time.c. This is due to a compiler bug in gcc 4.1.1. The > bug is reported to not exist in earlier versions of gcc, and to be fixed in > 4.1.2. The problem is that the __weak plat_time_init() is empty and thus > gets optimized out of existence (thus the linker is never given the option > to replace the __weak function). [ He meant the call to plat_time_init() from time_init() gets optimized away ] > For more info on the gcc bug see > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781 > > The attached patch is one workaround. Another possible workaround [ His patch adds -fno-unit-at-a-time for time.c ] > would be to change the __weak plat_time_init() to be a non-empty > function. The __weak definition of plat_time_init was only ever meant to be a migration helper to keep platforms that don't have a plat_time_init compiling. A few greps says that all platforms now supply their own plat_time_init() so the weak definition is no longer needed. So I instead delete it. Signed-off-by: Ralf Baechle commit d20e47e153dcfddca5a066ff0f8da2d1104d08ea Author: Ralf Baechle Date: Tue Dec 11 19:49:24 2007 +0000 [MIPS] PCI: Make pcibios_fixup_device_resources ignore legacy resources. There might be other reasons why a resource might be marked as fixed such as a PCI UART holding the system console but until we use IORESOURCE_PCI_FIXED that way also this will work. Signed-off-by: Ralf Baechle commit 40c7869b693b18412491fdcff64682215b739f9e Author: Ralf Baechle Date: Tue Dec 11 19:38:12 2007 +0000 [MIPS] Atlas, Malta: Don't free firmware memory on free_initmem. A proper fix for this needs to turn a few MIPS-generic bits which I don't want at this stage. Signed-off-by: Ralf Baechle commit b87bb40b62310328e908d580e013e0575b05886c Author: Sergei Shtylyov Date: Mon Dec 10 20:36:50 2007 +0300 [MIPS] Alchemy: fix off by two error in __fixup_bigphys_addr() the PCI specific code in this function doesn't check for the address range being under the upper bound of the PCI memory window correctly -- fix this, somewhat beautifying the code around the check, while at it... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit dd99d9661c72fe251b842705f2e7cfaa4918a13c Author: Sergei Shtylyov Date: Mon Dec 10 20:28:51 2007 +0300 [MIPS] Alchemy: fix PCI resource conflict ... by getting the PCI resources back into the 32-bit range -- there's no need therefore for CONFIG_RESOURCES_64BIT either. This makes Alchemy PCI work again while currently the kernel skips the bus scan. Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 18ca38d26f65c849af109eb911295c7dde71ce3b Author: Yoichi Yuasa Date: Sun Dec 9 21:22:04 2007 +0900 [MIPS] time: Set up Cobalt's mips_hpt_frequency Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4c64681effcbf349cf9137b8a120badc72340dd4 Author: Kristoffer Ericson Date: Fri Dec 14 01:21:14 2007 -0500 Input: jornada680_kbd - fix default keymap This patch fixes the HP Jornada 6xx keyboard default keymap which had some bad keymap values. This resulted in wrong key being returned when pressed (for example, key 'y' returned 'r'). Also, while we are at it lets arrange the include files in alphabetical order. Signed-off-by: Kristoffer Ericson Signed-off-by: Dmitry Torokhov commit 22d1c398e852e7f0ace3482e662886386ef15725 Author: Dmitry Baryshkov Date: Fri Dec 14 01:21:03 2007 -0500 Input: Handle EV_PWR type of input caps in input_set_capability. Signed-off-by: Dmitry Baryshkov Signed-off-by: Dmitry Torokhov commit eb8dc843fc3c0dbac553ec79d7e5b4d8339aeb3d Author: Michael Ellerman Date: Mon Dec 10 15:17:43 2007 +1100 [POWERPC] Make PS3_SYS_MANAGER default y, not m Currently it's impossible to build a ps3_defconfig which will reboot without modules installed. This makes it all too easy to find yourself with a PS3 that won't reboot. This is because the system manager driver, which provides the reboot mechanism, is only selectable if PS3_ADVANCED is set, else it defaults to m. In ps3_defconfig PS3_ADVANCED is not set, therefore the system manager is built as a module. It would be desirable IMHO for the defconfig to produce a kernel that boots and reboots, without needing modules to be installed. Signed-off-by: Michael Ellerman Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit c89686210542f6946e48a907772a356b9fce03f0 Author: Liu Yu Date: Mon Dec 10 13:00:52 2007 +0800 [POWERPC] Fix rounding bug in emulation for double float operating This patch fixes rounding bug in emulation for double float operating on PowerPC platform. When pack double float operand, it need to truncate the tail due to the limited precision. If the truncated part is not zero, the last bit of work bit (totally 3 bits) need to '|' 1. This patch is completed in _FP_FRAC_SRS_2(X,N,sz) (arch/powerpc/math-emu/op-2.h). Originally the code leftwards rotates the operand to just keep the truncated part, then check whether it is zero. However, the number it rotates is not correct when N is not smaller than _FP_W_TYPE_SIZE, and it will cause the work bit '|' 1 in the improper case. This patch fixes this issue. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit 88f0178e6ec2c73167de973e4af86905b4dbfd45 Author: Stephen Rothwell Date: Wed Dec 12 14:58:12 2007 +1100 [POWERPC] iSeries: don't printk with HV spinlock held Printk was observed to hang during module unload due to a limited window of characters that may be sent to the hypervisor. The window only reexpands when we receive an ack from the HV and the spinlock here prevents us from ever processing that ack. This fixes it by dropping the lock before doing the printk, then looping back to the top to reacquire the lock. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit e8b5f43f7b572a898c7b17e9949b26e7362e7f31 Author: Scott Wood Date: Mon Dec 10 11:10:45 2007 -0600 [POWERPC] 82xx: mpc8272ads, pq2fads: Update defconfig with CONFIG_FS_ENET_MDIO_FCC This was recently made configurable, and needs to be set for these boards. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit cd2150bca97822609fabbb77063a1a20149f5657 Author: Scott Wood Date: Wed Dec 12 16:54:32 2007 -0600 [POWRPC] CPM2: Eliminate section mismatch warning in cpm2_reset(). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 9ac68d379e73e469b62149ee2dcc19547d3d992c Author: Jochen Friedrich Date: Thu Nov 22 17:53:54 2007 +0100 [POWERPC] Kill non-existent symbols from ksyms and commproc.h Remove exports of __res and cpm_install_handler/cpm_free_handler. Remove cpm_install_handler/cpm_free_handler from the commproc.h as well. Both were used for ARCH=ppc and aren't defined for ARCH=powerpc. CC arch/powerpc/kernel/ppc_ksyms.o arch/powerpc/kernel/ppc_ksyms.c:180: error: '__res' undeclared here (not in a function) arch/powerpc/kernel/ppc_ksyms.c:180: warning: type defaults to 'int' in declaration of '__res' make[1]: *** [arch/powerpc/kernel/ppc_ksyms.o] Error 1 make: *** [arch/powerpc/kernel] Error 2 LD .tmp_vmlinux1 arch/powerpc/kernel/built-in.o:(__ksymtab+0x198): undefined reference to `cpm_free_handler' arch/powerpc/kernel/built-in.o:(__ksymtab+0x1a0): undefined reference to `cpm_install_handler' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Jochen Friedrich Signed-off-by: Andrew Morton Signed-off-by: Vitaly Bordug Signed-off-by: Kumar Gala commit 075b9cd66236191e8f5ce1668e0a601caa8c3570 Author: Jochen Friedrich Date: Thu Nov 22 17:53:47 2007 +0100 [POWERPC] Fix typo #ifdef -> #ifndef fpi->cp_command should be overwritten only if CONFIG_PPC_CPM_NEW_BINDING is NOT set. Otherwise it is already set from the device tree. Signed-off-by: Jochen Friedrich Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Vitaly Bordug Signed-off-by: Kumar Gala commit 56a185b43be05e48da7428e6a1d3e2585b232b1d Author: Henrique de Moraes Holschuh Date: Thu Dec 13 12:14:09 2007 -0200 ACPI: thinkpad-acpi: fix lenovo keymap for brightness Starting in 2.6.23... Several reports from X60 users complained that the default Lenovo keymap issuing EV_KEY KEY_BRIGHTNESS_UP/DOWN input events caused major issues when the proper brightness support through ACPI video.c was loaded. Therefore, remove the generation of these events by default, which is the right thing for T60, X60, R60, T61, X61 and R61 with their latest BIOSes. Distros that want to misuse these events into OSD reporting (which requires an ugly hack from hell in HAL) are welcome to set up the key map they need through HAL. That way, we don't break everyone else's systems. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit ffada8913e39e6fd35e95d7040ccac57b45812c9 Author: Jan Beulich Date: Thu Dec 13 08:32:26 2007 +0000 ACPI: fix modpost warnings for sn2_defconfig: WARNING: vmlinux.o(.text+0x4b8601): Section mismatch: reference to .init.data:node_to_pxm_map (between '__acpi_map_pxm_to_node' and 'acpi_get_pxm') WARNING: vmlinux.o(.text+0x4b8741): Section mismatch: reference to .init.data:pxm_to_node_map (between 'acpi_map_pxm_to_node' and 'acpi_get_node') Signed-off-by: Jan Beulich Signed-off-by: Len Brown commit 98934def70b48dac74fac3738b78ab2d1a28edda Author: William Lee Irwin III Date: Wed Dec 12 03:56:55 2007 -0800 ACPI: video_device_list corruption The ->cap fields of struct acpi_video_device and struct acpi_video_bus are 1B each, not 4B. The oversized memset()'s corrupted the subsequent list_head fields. This resulted in silent corruption without CONFIG_DEBUG_LIST and BUG's with it. This patch uses sizeof() to pass the proper bounds to the memset() calls and thereby correct the bugs. Signed-off-by: William Irwin Acked-by: Mikael Pettersson Signed-off-by: Len Brown commit 2300317f30770abd625fb051b0e5d373ce55a6ad Author: Steven Toth Date: Wed Dec 12 22:14:00 2007 -0300 V4L/DVB (6820): s5h1409: QAM SNR related fixes QAM SNR values were incorrect when the cable was disconnected. This patch extends the lookup tables to ensure correct values are being returned. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4b5ae10c815941fab8e0e3b3801b4cb60ee2383a Author: Andrew Morton Date: Thu Dec 13 02:30:26 2007 -0300 V4L/DVB (6819): i2c: fix drivers/media/video/bt866.c usage_count got removed. Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 1c1a8b9cbec2b6a75b8fa0abf6ccfd948229998a Author: Adrian Bunk Date: Wed Dec 12 15:40:32 2007 -0300 V4L/DVB (6814): Makefile: always enter video/ Since not all code under drivers/media/video/ depends on CONFIG_VIDEO_DEV we cannot only enter it depending on CONFIG_VIDEO_DEV. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit b3aa2269bd06681fbd0c47d2007381c35258ce0c Author: Michael Krufky Date: Sun Dec 9 21:13:38 2007 -0300 V4L/DVB (6798): saa7134: enable LNA in analog mode for Hauppauge WinTV HVR-1110 Thanks to Hermann Pitton for noticing that this was missing. Signed-off-by: Michael Krufky Cc: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 971edcfc8bee41c0b41e21bf10751c5b22028a82 Author: Guillaume Chazarain Date: Tue Dec 11 13:22:08 2007 +0100 kbuild: re-enable Makefile generation in a new O=... directory The commit: 18c32dac75b187d1a4e858f3cfdf03e844129f5e "kbuild: fix building with O=.. options" disabled the creation of a Makefile in a new O=... directory. Restore it. Signed-off-by: Guillaume Chazarain Signed-off-by: Sam Ravnborg commit 3d758a4a48682639d3996968499913ecb1552e06 Author: Joachim Fenkes Date: Thu Dec 13 13:35:57 2007 +0100 IB/ehca: Fix lock flag variable location, bump version number Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 8f361453d8e9a67c85b2cf9b93c642c2d8fe0462 Author: David S. Miller Date: Thu Dec 13 06:13:38 2007 -0800 [SPARC64]: Fix two kernel linear mapping setup bugs. This was caught and identified by Greg Onufer. Since we setup the 256M/4M bitmap table after taking over the trap table, it's possible for some 4M mapping to get loaded in the TLB beforhand which later will be 256M mappings. This can cause illegal TLB multiple-match conditions. Fix this by setting up the bitmap before we take over the trap table. Next, __flush_tlb_all() was not doing anything on hypervisor platforms. Fix by adding sun4v_mmu_demap_all() and calling it. Signed-off-by: David S. Miller commit 3f84307a10b4d9039c5c8f718bcdd0928c9994c1 Author: Adrian Bunk Date: Wed Dec 12 16:44:54 2007 -0300 V4L/DVB (6803): buf-core.c locking fixes After commit 19fb1457990b6b7e15586ec7331541a184233acc the callers in videobuf-core.c that already hold the lock must call __videobuf_read_start() instead of videobuf_read_start(). Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 78f5815368837ae7e3a0d3709c9f95f74e4d8537 Author: Trond Myklebust Date: Wed Dec 12 20:16:06 2007 -0500 MAINTAINERS: update the NFS CLIENT entry Add in the new NFS mailing list on vger, website, and git tree info, and update my email address to reflect the fact that I've been working for netapp for the past 2 years. Signed-off-by: Trond Myklebust commit 644a9d764b4747af057b3db73ccba28a168b1f4f Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:32:00 2007 +0100 ide: fix ->io_32bit race in set_io_32bit() set_io_32bit() (ide_procset_t function) can race against running PIO transfers. Fix it by using ide_spin_wait_hwgroup(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bbe4d6d86565bfd9edbc3f19bc23f816af66240d Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:32:00 2007 +0100 ide: remove stale changelog from ide-probe.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fedda1e13125153d502e84856a2640acdb4c38f0 Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:32:00 2007 +0100 ide: remove stale changelog from ide-disk.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3f3e6e21845259854d862bfa3c39f6a84356fc3d Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:32:00 2007 +0100 ide: remove dead code from __ide_dma_test_irq() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 809b53c4ef7188dc284498ef6e4ec2d4d587a275 Author: Sergei Shtylyov Date: Wed Dec 12 23:31:58 2007 +0100 hpt366: fix HPT37x PIO mode timings (take 2) After looking into the HPT370 manual (now that I have it) and re-checking all the timing tables, here's what I have discovered: - at 33 MHz clock, PIO mode 0 timings turned to be overclocked, and all other PIO modes underclocked; - at 50 MHz clock, PIO modes 0 to 2 turned to be overclocked; - at 66 MHz clock, PIO mode 0 was overclocked too. Finally, the taskfile timing (matching PIO mode 0) turned to be overclocked at all clock frequencies (and in all manuals)... The new timings have been tested on HPT370 chip (at 33 MHz PCI clock) and on HPT371N chip (at both 50 and 66 MHz DPLL clock). Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit eadb6ecf761166aa55ad44f05b7a29b10ddaba34 Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:31:58 2007 +0100 pdc202xx_new: fix Promise TX4 support In case of Promise TX4 the first PCI device is located at slot 1 and the second one is at slot 2 so the offset used by pci_get_slot() should be "+1" and not "+2". Thanks goes out to Markus Dietz for bugreport and testing this patch. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c86ae7df90a26708e9e54e3a362046873d874e6c Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:31:58 2007 +0100 ide-cd: remove dead post_transform_command() post_transform_command() call in cdrom_newpc_intr() has no effect because it is done after the request has already been fully completed (rq->bio and rq->data are always NULL). It was verified to be true regardless whether INQUIRY command is using DMA or PIO to transfer data (by using modified Tejun Heo's test-shortsg.c utility and adding a few printk()-s to ide-cd). This was uncovered thanks to the "blk_end_request: full I/O completion handler (take 3)" patch series from Kiyoshi Ueda. Cc: jens.axboe@oracle.com Cc: bharrosh@panasas.com Cc: Kiyoshi Ueda Cc: Tejun Heo Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ab7efe8e2cbcca2d401b43cfcc2fa9a7dac2299 Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:31:58 2007 +0100 ide: DMA reporting and validity checking fixes (take 3) * ide_xfer_verbose() fixups: - beautify returned mode names - fix PIO5 reporting - make it return 'const char *' * Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode(). * Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid DMA info in identify block. * Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update(). As a result DMA won't be tuned or will be disabled after tuning if device reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the same checks while the IDE device is probed by ide-{cd,disk} device driver). * Remove no longer needed ide_dma_verbose(). This patch should fix the following problem with out-of-sync IDE messages reported by Nick Warne: hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd: skipping word 93 validity check , UDMA(66) and later debugged by Mark Lord to be caused by: ide_dma_verbose() printk( ... "2048kB Cache"); eighty_ninty_three() printk(KERN_DEBUG "%s: skipping word 93 validity check\n"); ide_dma_verbose() printk(", UDMA(66)" Please note that as a result ide-{cd,disk} device drivers won't report the DMA speed used but this is intended since now DMA mode being used is always reported by IDE core code. v2: * fixes suggested by Randy: - use KERN_CONT for printk()-s in ide-{cd,disk}.c - don't remove argument name from ide_xfer_verbose() declaration v3: * Remove incorrect check for (id->field_valid & 1) from ide_id_dma_bug() (spotted by Sergei). * "XFER SLOW" -> "PIO SLOW" in ide_xfer_verbose() (suggested by Sergei). * Fix ide_find_dma_mode() to report the correct mode ('mode' after being limited by 'req_mode'). Cc: Sergei Shtylyov Cc: Nick Warne Cc: Mark Lord Cc: Randy Dunlap Signed-off-by: Bartlomiej Zolnierkiewicz commit e11b9035a47da66fcd4bafd3a5f6b14f51ca667e Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:31:58 2007 +0100 ide: add /sys/bus/ide/devices/*/{model,firmware,serial} sysfs entries Cc: Dan Kegel Cc: Kay Sievers Cc: Xavier Bestel Cc: Andrey Borzenkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1b7d3477a7b0d52406d68b01bc8931f43112677f Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:31:57 2007 +0100 ide: coding style fixes for drivers/ide/setup-pci.c * remove trailing whitespaces * 'if()' -> 'if ()' * remove extra new-line before EXPORT_SYMBOL_GPL() * add extra new-line after 'id' definition * respect 80-columns limit There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 125a8191dcbc927441263a332826989cc2925681 Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:31:57 2007 +0100 ide: fix ide_scan_pcibus() error message Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 46255d4083ca6c6e3c40cb4d2f3198c77bca7e24 Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:31:57 2007 +0100 ide: deprecate CONFIG_BLK_DEV_OFFBOARD Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ad0e74d3851e440e0882424577bc984c89019f52 Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:31:57 2007 +0100 ide: add missing checks for control register existence Add missing checks for control register existence (some legacy m68k specific IDE controllers don't have it). Also use drive->ctl while at it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 69ae6fee4f95c0535e49e338ce0ed3b27fd485b5 Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 12 23:31:57 2007 +0100 ide-scsi: add ide_scsi_hex_dump() helper Cc: Andrew Morton Cc: Denis Cheng Cc: Randy Dunlap Signed-off-by: Bartlomiej Zolnierkiewicz commit 4faf7757955239c1b259e7dab224d4638a99b456 Author: Joachim Fenkes Date: Mon Dec 10 18:59:10 2007 +0100 IB/ehca: Serialize HCA-related hCalls if necessary Several pSeries firmware versions share a rare locking issue in the HCA-related hCalls. Check for a feature flag that indicates the issue being fixed and serialize all HCA hCalls if not. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 1457edc72d187f452be1374c7d9281f1dfa16f32 Author: Joachim Fenkes Date: Mon Dec 10 12:20:57 2007 +0100 IB/ehca: Return correct number of SGEs for SRQ Firmware would round up the number of SGEs to four, because the WQE structure holds four SGEs. For SRQ, only three are supported, so return a fixed value instead. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit cc3000e4ef13fa9f388f5a37f11c0fa3cc68112b Author: Nicolas Pitre Date: Thu Dec 6 23:12:46 2007 -0500 mmc: remove unused 'mode' from the mmc_host structure This field and corresponding defines are simply never used anywhere in the code. But its mere presence is enough to confuse some host driver authors who attempt to rely on it. Let's eliminate the possibility for confusion and remove it entirely. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 84c46a53fc4ea4ff36df783a20187b2f65dd21cc Author: Pierre Ossman Date: Sun Dec 2 19:58:16 2007 +0100 sdhci: support JMicron JMB38x chips The JMicron JMB38x chip doesn't support transfers that aren't 32-bit aligned (both size and start address). It also doesn't like switching between PIO and DMA mode, so it needs to be reset after each request. Signed-off-by: Pierre Ossman commit c9fddbc4f844f5a16b5957c61fe2cfcb5c12f990 Author: Pierre Ossman Date: Sun Dec 2 19:52:11 2007 +0100 sdhci: use PIO when DMA can't satisfy the request Some controllers have been designed on the assumption that all transfers will be 32-bit aligned, both in start address and in size. This is not a guarantee the SDHCI specification provides and not one we can provide. Revert back to PIO for individual requests in order to work around the hardware bug. Signed-off-by: Pierre Ossman commit c6573c94670882079174e2ea0da4abf1a0da51fe Author: Pierre Ossman Date: Sun Dec 2 19:46:49 2007 +0100 sdhci: don't warn about sdhci 2.0 controllers We support 2.0 controllers, even though we don't use anything in the new feature set. Signed-off-by: Pierre Ossman commit dc93441b3f5879a096dd117a81df541b0855ebbb Author: Pierre Ossman Date: Sun Dec 2 19:45:19 2007 +0100 sdhci: describe quirks Add a comment for each quirk to describe what it does and why. Signed-off-by: Pierre Ossman commit a10db50a4ae813fcb2f431f2fb039933c109a925 Author: Trond Myklebust Date: Wed Dec 12 11:12:15 2007 -0500 NFS: Fix an Oops in NFS unmount Ensure that the dummy 'root dentry' is invisible to d_find_alias(). If not, then it may be spliced into the tree if a parent directory from the same filesystem gets mounted at a later time. Signed-off-by: Trond Myklebust commit a5576cfa5cd8d8aa874bd4ee500dc8a2e7cbad18 Author: Trond Myklebust Date: Wed Dec 12 11:08:33 2007 -0500 Revert "NFS: Ensure we return zero if applications attempt to write zero bytes" This reverts commit b9148c6b80d802dbc2a7530b29915a80432e50c7. On Wed, 12 Dec 2007 10:57:30 -0500, Chuck Lever wrote > commit b9148c6b should be reverted. It was recently forward-ported > from some years-old patches, and is clearly not needed now. > > On Dec 11, 2007, at 5:21 PM, Adrian Bunk wrote: > >> This code became dead after commit >> b9148c6b80d802dbc2a7530b29915a80432e50c7 >> (which BTW doesn't seem to have changed any behaviour) and can >> therefore >> be removed. >> >> Spotted by the Coverity checker. >> >> Signed-off-by: Adrian Bunk >> >> --- >> --- linux-2.6/fs/nfs/direct.c.old 2007-12-02 21:54:53.000000000 +0100 >> +++ linux-2.6/fs/nfs/direct.c 2007-12-02 21:55:10.000000000 +0100 >> @@ -897,15 +897,12 @@ ssize_t nfs_file_direct_write(struct kio >> if (!count) >> goto out; /* return 0 */ >> >> retval = -EINVAL; >> if ((ssize_t) count < 0) >> goto out; >> - retval = 0; >> - if (!count) >> - goto out; >> >> retval = nfs_sync_mapping(mapping); >> if (retval) >> goto out; >> >> retval = nfs_direct_write(iocb, iov, nr_segs, pos, count); >> Signed-off-by: Trond Myklebust commit 0de56d1ab83323d604d95ca193dcbd28388dbabb Author: David S. Miller Date: Wed Dec 12 07:31:46 2007 -0800 [SPARC64]: Fix endless loop in cheetah_xcall_deliver(). We need to mask out the proper bits when testing the dispatch status register else we can see unrelated NACK bits from previous cross call sends. Signed-off-by: David S. Miller commit 58d784a5c754cd66ecd4791222162504d3c16c74 Author: Martin Habets Date: Tue Dec 11 03:37:04 2007 -0800 [SERIAL] sparc: Infrastructure to fix section mismatch bugs. This patch against 2.6.23 sparc-2.6.git contains a number of minor cleanups of the sparc serial drivers. Initially I fixed this build warning: WARNING: vmlinux.o(.text+0x107a2c): Section mismatch: reference to .init.text:add_preferred_console (between 'sunserial_console_match' and 'sunserial_console_termios') which is done by declaring sunserial_console_match() as __init. This resulted in build warnings on sunserial_current_minor. To resolve these the variable was changed so it is no longer global, and to hide operations on it inside 2 new functions. These functions handle the UART minor handling code that is common to all sparc serial drivers. These changes allowed to clean up the uart counters in all the sparc serial drivers, and the administration of minor device numbers. Lastly, sunserial_console_termios() does not need to be exported since it is only called from non-modular code. Sadly, the following build warning still exists: WARNING: vmlinux.o(__ksymtab+0x2910): Section mismatch: reference to .init.text:sunserial_console_match (between '__ksymtab_sunserial_console_match' and '__ksymtab_sunserial_unregister_minors') This could be resolved by not exporting sunserial_console_match(), but this is not possible at the moment because it is being called from modular code. On the other hand, this is a bogus warning since it comes from a ksymtab section. Signed-off-by: Martin Habets Signed-off-by: David S. Miller commit 187426e69afe0a2ad697c9c5f5f654254da0e3a0 Author: David Brownell Date: Wed Dec 12 13:45:25 2007 +0100 i2c/isp1301_omap: Build fix Build fix to the isp1301_omap driver ... this driver gets built more often in the OMAP tree than in mainline, partly because the defconfig for H2 (plus probably H3 and H4) needs updating. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit fce3ff03311e0397e2867cce67d4ccf31707a1ea Author: Joe Perches Date: Wed Dec 12 13:45:24 2007 +0100 i2c: Add missing spaces in split log messages Signed-off-by: Joe Perches Signed-off-by: Jean Delvare commit 50862d9490e8fbb317040b3faeee7caf56c00025 Author: Atsushi Nemoto Date: Wed Dec 12 13:45:24 2007 +0100 i2c-gpio: Initialize adapter class This is required to let hwmon drivers attach to the adapter. Signed-off-by: Atsushi Nemoto Signed-off-by: Jean Delvare commit 45ccc6c50dfd227b40122fea649b5fc887caa174 Author: Jean Delvare Date: Wed Dec 12 13:45:24 2007 +0100 i2c: Delete an outdated piece of documentation I'm amazed that this old piece of documentation managed to survive until today. Signed-off-by: Jean Delvare commit 19fb1457990b6b7e15586ec7331541a184233acc Author: Mauro Carvalho Chehab Date: Thu Nov 15 23:09:30 2007 -0300 V4L/DVB (6609): Re-adds lock safe videobuf_read_start videobuf_dvb needs videobuf_read_start. The EXPORT_SYMBOL_GPL() were removed by a previous patch. However, videobuf_dvb needs this. This patch re-adds videobuf_read_start, doing the proper lock. Signed-off-by: Mauro Carvalho Chehab commit 4af75653031c6d454b4ace47c1536f0d2e727e3e Author: Linus Torvalds Date: Tue Dec 11 19:28:36 2007 -0800 Revert "make bnx2x select ZLIB_INFLATE" This reverts commit 70eba18b5664f90d7620905e005b89388e5fd94b, as per Jeff Garzik: "That was meant for 2.6.25, and actually (due to patching) applied to a completely unrelated 2.6.24 net driver." Noted-by: Roland Dreier Requested-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 50e1092b3a119bb4660bb6bd2e1749dc2d8ac62e Author: James Lentini Date: Mon Dec 10 11:24:48 2007 -0500 SUNRPC xprtrdma: fix XDR tail buf marshalling for all ops rpcrdma_convert_iovs is passed an xdr_buf representing either an RPC request or an RPC reply. In the case of a request, several calculations and tests involving pos are unnecessary. In the case of a reply, several calculations and tests involving pos are incorrect (the code tests pos against the reply xdr buf's len field, which is always 0 at the time rpcrdma_convert_iovs is executed). This change removes the incorrect/unnecessary calculations and tests involving pos. This fixes an observed problem when reading certain file sizes over NFS/RDMA. Signed-off-by: Tom Tucker Signed-off-by: Tom Talpey Signed-off-by: James Lentini Signed-off-by: Trond Myklebust commit 5cef338b30c110daf547fb13d99f0c77f2a79fbc Author: Trond Myklebust Date: Tue Dec 11 22:01:56 2007 -0500 NFSv2/v3: Fix a memory leak when using -onolock Neil Brown said: > Hi Trond, > > We found that a machine which made moderately heavy use of > 'automount' was leaking some nfs data structures - particularly the > 4K allocated by rpc_alloc_iostats. > It turns out that this only happens with filesystems with -onolock > set. > The problem is that if NFS_MOUNT_NONLM is set, nfs_start_lockd doesn't > set server->destroy, so when the filesystem is unmounted, the > ->client_acl is not shutdown, and so several resources are still > held. Multiple mount/umount cycles will slowly eat away memory > several pages at a time. Signed-off-by: Trond Myklebust Acked-by: NeilBrown commit 7d44e8921851f460bcacb3ade432a4f5ada20fb6 Author: Adrian Bunk Date: Tue Dec 11 19:23:43 2007 -0300 V4L/DVB (6797): bt8xx/ section fixes This patch fixes the following section mismatch with CONFIG_HOTPLUG=n: <-- snip --> ... ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 056827a49ce65a8d10197d35468500b501d1eec1 Author: Adrian Bunk Date: Tue Dec 11 19:23:49 2007 -0300 V4L/DVB (6796): ivtv/ section fix This patch fixes the following section mismatch with CONFIG_HOTPLUG=n: <-- snip --> ... ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 4584f520e1f773082ef44ff4f8969a5d992b16ec Author: Trond Myklebust Date: Tue Dec 11 19:01:45 2007 -0500 NFS: Fix NFS mountpoint crossing... The check that was added to nfs_xdev_get_sb() to work around broken servers, works fine for NFSv2, but causes mountpoint crossing on NFSv3 to always return ESTALE. Signed-off-by: Trond Myklebust commit 4a56087f3b7660c9824e9ec69b96ccf8d9b25d1c Author: Mauro Carvalho Chehab Date: Tue Dec 11 14:59:10 2007 -0300 V4L/DVB (6794): Fix compilation when dib3000mc is compiled as a module As reported by Andrew Morton: > ERROR: "dibusb_dib3000mc_frontend_attach" [drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.ko] undefined! > ERROR: "dibusb_dib3000mc_tuner_attach" [drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.ko] undefined! > ERROR: "dibusb_dib3000mc_frontend_attach" [drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.ko] undefined! > ERROR: "dibusb_dib3000mc_tuner_attach" [drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.ko] undefined! > ERROR: "dibusb_dib3000mc_frontend_attach" [drivers/media/dvb/dvb-usb/dvb-usb-a800.ko] undefined! > ERROR: "dibusb_dib3000mc_tuner_attach" [drivers/media/dvb/dvb-usb/dvb-usb-a800.ko] undefined Signed-off-by: Mauro Carvalho Chehab commit f6b5cf771afcc96444cab44805e5a73e42f97db2 Author: Jiri Kosina Date: Wed Dec 5 15:14:19 2007 -0300 V4L/DVB (6733): DVB: Compile 3000MC-specific DIB code only for CONFIG_DVB_DIB3000MC On Tue, 4 Dec 2007, Ingo Molnar wrote: > drivers/built-in.o: In function `dibusb_dib3000mc_tuner_attach': > : undefined reference to `dib3000mc_get_tuner_i2c_master' > drivers/built-in.o: In function `dibusb_dib3000mc_tuner_attach': > : undefined reference to `dib3000mc_set_config' Seems like -common part contains also code that is not completely common to all the modules. Signed-off-by: Jiri Kosina Tested-by: Ingo Molnar Signed-off-by: Mauro Carvalho Chehab commit 8733e29748591ce04f7cf07fc9c177f63e7df6af Author: Mauro Carvalho Chehab Date: Sat Dec 8 09:34:37 2007 -0300 V4L/DVB (6750): Fix in-kernel compilation for cxusb cxusb needs tuner-xc2028*.h files, but Makefile is not adding its patch drivers/media/dvb/dvb-usb/cxusb.c:33:26: error: tuner-xc2028.h: File not found drivers/media/dvb/dvb-usb/cxusb.c:34:32: error: tuner-xc2028-types.h: File not found Signed-off-by: Mauro Carvalho Chehab commit bc5483705ce08795ad64c3fb14aa7cee4847a2ea Author: Benoit Istin Date: Fri Dec 7 02:00:04 2007 -0300 V4L/DVB (6746): saa7134-dvb: fix tuning for WinTV HVR-1110 There are several months my hvr1110 stop working. This is very simple to fix, for my card revision at least, by setting a missing field to the hauppauge_hvr_1110_config. Signed-off-by: Benoit Istin Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0b29669c065f60501e7289e1950fa2a618962358 Author: Brandon Philips Date: Sat Dec 8 23:05:53 2007 -0300 V4L/DVB (6751): V4L: Memory leak! Fix count in videobuf-vmalloc mmap This is pretty serious bug. map->count is never initialized after the call to kmalloc making the count start at some random trash value. The end result is leaking videobufs. Also, fix up the debug statements to print unsigned values. Pushed to http://ifup.org/hg/v4l-dvb too Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 843b1378c2ab47ab1ed9cb471938e0f0ec839fcd Author: Heikki Lindholm Date: Fri Nov 30 13:27:26 2007 -0300 V4L/DVB (6690): saa7134: fix ignored interrupts The saa7134 video driver starts dropping frames when used together with the saa7134-alsa driver. Frames are dropped because when an audio event is waiting the driver simply ignores the interrupt and passes it on to the saa7134-alsa interrupt handler. The alsa interrupt handler in turn acknowledges all types of events thus clearing the pending video events as well. Fix by only masking out the audio event in the video interrupt handler and by only acknowledging the audio event in the alsa driver. Signed-off-by: Heikki Lindholm Signed-off-by: Mauro Carvalho Chehab commit 4aa504a89a140f482ddabb45460e0005bf3e522a Author: Hermann Pitton Date: Wed Nov 28 21:50:26 2007 -0300 V4L/DVB (6686): saa7134: fix composite over s-video input on the Tevion MD 9717 The vmux for composite over s-video input was wrong. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit b730a81c51adc8e87ae3b055fc211af7d5472df2 Author: Richard Knutsson Date: Tue Nov 27 06:59:37 2007 -0300 V4L/DVB (6684): Complement va_start() with va_end() + style fixes Complement va_start() with va_end() + minor style fixes in the same function. Signed-off-by: Richard Knutsson Signed-off-by: Mauro Carvalho Chehab commit 174eb8e8cb1ec97904ddeaae54366a03789162ef Author: Heikki Lindholm Date: Fri Nov 23 18:59:18 2007 -0300 V4L/DVB (6666): saa7134-alsa: fix period handling The period handling in saa7134-alsa is broken in two ways. First, the minimum number of periods of two does not work, because the dma is setup two periods ahead in the irq handler. Fix the minimum to four periods. Second, the code assumes that the number of periods is divisible by two, which isn't always the case on ALSA. Fix by adding a constraint. Signed-off-by: Heikki Lindholm Signed-off-by: Mauro Carvalho Chehab commit 78f3b0b672c79df9ffa55399a7d6fc4b173e9b4b Author: Chris Pascoe Date: Mon Nov 19 03:47:07 2007 -0300 V4L/DVB (6629): zl10353: fix default adc_clock and TRL nominal rate calculation The default adc_clock for the zl10353 is different from what was originally thought to be the case and the TRL nominal rate formula was incorrect as a result. Use a better (and hopefully now correct) formula. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 820eacd84cff23b76693f4be1e28feb672f4488f Author: Brandon Philips Date: Mon Nov 19 15:10:48 2007 -0300 V4L/DVB (6615): V4L: Fix VIDIOCGMBUF locking in saa7146 Fallout from videobuf_mmap_setup() locking fixes. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 053fcb6014eef31c2674d344c704118e0ac229ef Author: Brandon Philips Date: Tue Nov 13 20:11:26 2007 -0300 V4L/DVB (6602): V4L: Convert videobuf drivers to videobuf_stop Drivers were using cookie cutter code for stopping the read/stream. Use the new videobuf_stop function which is lock safe. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 19bc5133dae9562e8824ef101464061f9854c1d8 Author: Brandon Philips Date: Tue Nov 13 20:05:38 2007 -0300 V4L/DVB (6601): V4L: videobuf-core locking fixes and comments - Add comments to functions that require that caller hold q->lock - Add __videobuf_mmap_free that doesn't hold q->lock for use within videobuf - Add locking to videobuf_mmap_free - Fix linux/drivers/media/common/saa7146_video.c which was holding lock around videobuf_read_stop - Add locking to functions that operate on a queue - Add videobuf_stop to take care of stopping in both the read and stream case TODO: bttv still has an unsafe call to videobuf_queue_is_busy Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 63337dd3f5506628e4831b08e39e09d7f1407769 Author: Mauro Carvalho Chehab Date: Sat Nov 10 10:26:20 2007 -0300 V4L/DVB (6581): Fix: avoids negative vma usage count Signed-off-by: Mauro Carvalho Chehab commit 33f7771411c1f815208f6593d8fde8f9a135cea5 Author: Hartmut Hackmann Date: Thu Nov 8 08:54:53 2007 -0300 V4L/DVB (6579): Fix bug #8824: Correct support for Diseqc on tda10086 This is a modified version of a patch previously posted by Thomas Unverzagt. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit f4b8b3ae13b2246cf7e1b998f0292f3297d03d41 Author: Mauro Carvalho Chehab Date: Sat Nov 3 22:40:24 2007 -0300 V4L/DVB (6542): Fix S-video mode on tvp5150 Thanks to Markus Reichberger to point this. Signed-off-by: Mauro Carvalho Chehab commit 2b2c93ac998896db0d2b754a4fd83479bda7efde Author: Sascha Sommer Date: Sat Nov 3 16:48:01 2007 -0300 V4L/DVB (6540): em28xx: fix failing autodetection after the reboot The attached patch is required so that the autodetecion code also works after a reboot. Setting the I2C speed does not seem to be supported for em2800. Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit 8a75601035848e267baaae76b6e784cf1f899cd0 Author: Hans Verkuil Date: Tue Oct 30 04:16:35 2007 -0300 V4L/DVB (6485): ivtv: fix compile warning Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 75b8c133267053c9986a7c8db5131f0e7349e806 Author: Herbert Xu Date: Tue Dec 11 04:38:08 2007 -0800 [IPSEC]: Fix potential dst leak in xfrm_lookup If we get an error during the actual policy lookup we don't free the original dst while the caller expects us to always free the original dst in case of error. This patch fixes that. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3f03e387893ffa07a4d5dac96772f9db3221a185 Author: Pavel Emelyanov Date: Tue Dec 11 02:41:25 2007 -0800 [VLAN]: Fix potential race in vlan_cleanup_module vs vlan_ioctl_handler. The vlan module cleanup function starts with vlan_netlink_fini(); vlan_ioctl_set(NULL); The first call removes all the vlan devices and the second one closes the vlan ioctl. AFAIS there's a tiny race window between these two calls - after rtnl unregistered all the vlans, but the ioctl handler isn't set to NULL yet, user can manage to call this ioctl and create one vlan device, and that this function will later BUG_ON seeing non-emply hashes. I think, that we must first close the vlan ioctl and only after this remove all the vlans with the vlan_netlink_fini() call. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit d59b54b150b3b69b721f1e161efd42ecb7619897 Author: Wang Chen Date: Tue Dec 11 02:28:03 2007 -0800 [NET]: Fix wrong comments for unregister_net* There are some return value comments for void functions. Fixed it. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit bbe42974215eb7a483c344fca50652b3b9dd1ae4 Author: Michael Chan Date: Mon Dec 10 17:18:51 2007 -0800 [BNX2]: Update version to 1.6.9. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c09c262783dcac62352293912d82b794063cefc3 Author: Michael Chan Date: Mon Dec 10 17:18:37 2007 -0800 [BNX2]: Fix RX packet rot. Packets can be left in the RX ring if the NAPI budget is reached. This is caused by storing the latest rx index at the beginning of bnx2_rx_int(). We may not process all the work up to this index if the budget is reached and so some packets in the RX ring may rot when we later check for more work using this stored rx index. The fix is to not store this latest hw index and only store the processed rx index. We use a new function bnx2_get_hw_rx_cons() to fetch the latest hw rx index. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fb0c18bd1f61086fcfac90017b59891a356cc288 Author: Michael Chan Date: Mon Dec 10 17:18:23 2007 -0800 [BNX2]: Add PHY_DIS_EARLY_DAC workaround. 5709 Ax and Bx chips all need this workaround. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9b3efc0133a807070dbd21254102995b65969965 Author: Julia Lawall Date: Mon Dec 10 17:17:37 2007 -0800 [S390]: Fix use of skb after netif_rx Recently, Wang Chen submitted a patch (d30f53aeb31d453a5230f526bea592af07944564) to move a call to netif_rx(skb) after a subsequent reference to skb, because netif_rx may call kfree_skb on its argument. netif_rx_ni calls netif_rx, so the same problem occurs in the files below. I have left the updating of dev->last_rx after the calls to netif_rx_ni because it seems time dependent, but moved the other field updates before. This was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ expression skb, e,e1; @@ ( netif_rx(skb); | netif_rx_ni(skb); ) ... when != skb = e ( skb = e1 | * skb ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 299f590f26da9764f20e905879f0090552ff2e86 Author: Julia Lawall Date: Mon Dec 10 17:16:56 2007 -0800 [XTENSA]: Fix use of skb after netif_rx Recently, Wang Chen submitted a patch (d30f53aeb31d453a5230f526bea592af07944564) to move a call to netif_rx(skb) after a subsequent reference to skb, because netif_rx may call kfree_skb on its argument. The same problem occurs in some other drivers as well. This was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ expression skb, e,e1; @@ ( netif_rx(skb); | netif_rx_ni(skb); ) ... when != skb = e ( skb = e1 | * skb ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 505a41d43c24345f3fa77ddab152d1f82dd8264d Author: Julia Lawall Date: Mon Dec 10 17:14:46 2007 -0800 [UM]: Fix use of skb after netif_rx Recently, Wang Chen submitted a patch (d30f53aeb31d453a5230f526bea592af07944564) to move a call to netif_rx(skb) after a subsequent reference to skb, because netif_rx may call kfree_skb on its argument. The same problem occurs in some other drivers as well. This was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ expression skb, e,e1; @@ ( netif_rx(skb); | netif_rx_ni(skb); ) ... when != skb = e ( skb = e1 | * skb ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 95a02cfd4d33886c166d4a5f309120f8d32ced58 Author: Thomas Graf Date: Mon Dec 10 16:53:29 2007 -0800 [IPv6] ESP: Discard dummy packets introduced in rfc4303 RFC4303 introduces dummy packets with a nexthdr value of 59 to implement traffic confidentiality. Such packets need to be dropped silently and the payload may not be attempted to be parsed as it consists of random chunk. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 2017a72c070033830b460d31cd4703f9d2ec0d56 Author: Thomas Graf Date: Mon Dec 10 16:53:05 2007 -0800 [IPv4] ESP: Discard dummy packets introduced in rfc4303 RFC4303 introduces dummy packets with a nexthdr value of 59 to implement traffic confidentiality. Such packets need to be dropped silently and the payload may not be attempted to be parsed as it consists of random chunk. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a4e65d36a959005f14142535b58c44cd0f1de8cb Author: Pavel Emelyanov Date: Fri Dec 7 23:55:43 2007 -0800 [IPV4]: Swap the ifa allocation with the"ipv4_devconf_setall" call According to Herbert, the ipv4_devconf_setall should be called only when the ifa is added to the device. However, failed ifa allocation may bring things into inconsistent state. Move the call to ipv4_devconf_setall after the ifa allocation. Fits both net-2.6 (with offsets) and net-2.6.25 (cleanly). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1df2e44560c0d72f381126e52a3ba53614c1c484 Author: YOSHIFUJI Hideaki Date: Fri Dec 7 23:50:40 2007 -0800 [IPV6] XFRM: Fix auditing rt6i_flags; use RTF_xxx flags instead of RTCF_xxx. RTCF_xxx flags, defined in include/linux/in_route.h) are available for IPv4 route (rtable) entries only. Use RTF_xxx flags instead, defined in include/linux/ipv6_route.h, for IPv6 route entries (rt6_info). Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 82d29bf6dc7317aeb0a3a13c2348ca8591965875 Author: Linus Torvalds Date: Mon Dec 10 19:48:43 2007 -0800 Linux 2.6.24-rc5 commit 7999f4b4e56d36265d789d52bb0c0bb0167346a7 Author: Jeremy Fitzhardinge Date: Mon Dec 10 13:00:41 2007 -0800 xen: relax signature check Some versions of Xen 3.x set their magic number to "xen-3.[12]", so relax the test to match them. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Linus Torvalds commit 3790ee4bd86396558eedd86faac1052cb782e4e1 Author: Eric W. Biederman Date: Mon Dec 10 15:49:36 2007 -0800 proc: remove/Fix proc generic d_revalidate Ultimately to implement /proc perfectly we need an implementation of d_revalidate because files and directories can be removed behind the back of the VFS, and d_revalidate is the only way we can let the VFS know that this has happened. Unfortunately the linux VFS can not cope with anything in the path to a mount point going away. So a proper d_revalidate method that calls d_drop also needs to call have_submounts which is moderately expensive, so you really don't want a d_revalidate method that unconditionally calls it, but instead only calls it when the backing object has really gone away. proc generic entries only disappear on module_unload (when not counting the fledgling network namespace) so it is quite rare that we actually encounter that case and has not actually caused us real world trouble yet. So until we get a proper test for keeping dentries in the dcache fix the current d_revalidate method by completely removing it. This returns us to the current status quo. So with CONFIG_NETNS=n things should look as they have always looked. For CONFIG_NETNS=y things work most of the time but there are a few rare corner cases that don't behave properly. As the network namespace is barely present in 2.6.24 this should not be a problem. Signed-off-by: Eric W. Biederman Cc: "Rafael J. Wysocki" Cc: Pavel Emelyanov Cc: "David S. Miller" Cc: Herbert Xu Cc: Alexey Dobriyan Cc: Trond Myklebust Cc: "Denis V. Lunev" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d84248bf46582a406116c55b94405c05193773b1 Author: Rini van Zetten Date: Mon Dec 10 15:49:34 2007 -0800 atmel_spi: reload RCR before TCR We have a wifi module connected to the spi bus and got sometimes FIFO overrun errors on the spi bus. After some investigation i found that the driver loads the TCR (transmit count) register before the RCR (receive count). When the transfer list is not empty the atmel_spi_next_message is called while tx and rx are enabled. As soon as the TCR is loaded, hardware starts transfer and causes a rx fifo overrun because the RCR is not loaded yet. Load the RCR before the TCR. After this patch the fifo overrun disapears at out setup. Signed-off-by: Haavard Skinnemoen Signed-off-by: Rini van Zetten Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6650e0a517bbfa1c47aa3da6b3562fcb1a066c63 Author: Joe Perches Date: Mon Dec 10 15:49:32 200