commit bbf25010f1a6b761914430f5fca081ec8c7accd1 Author: Linus Torvalds Date: Tue Oct 9 13:31:38 2007 -0700 Linux 2.6.23 commit a6d85430424d44e946e0946bfaad607115510989 Author: Trond Myklebust Date: Tue Oct 9 11:04:57 2007 -0400 NLM: Fix a memory leak in nlmsvc_testlock The recent fix for a circular lock dependency unfortunately introduced a potential memory leak in the event where the call to nlmsvc_lookup_host fails for some reason. Thanks to Roel Kluin for spotting this. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit baf14aa14efcfdb5a74d5cf804691086c6bec743 Author: Jeff Garzik Date: Tue Oct 9 13:51:57 2007 -0400 sata_mv: correct S/G table limits The recent mv_fill_sg() rewrite, to fix a data corruption problem related to IOMMU virtual merging, forgot to account for the potentially-increased size of the scatter/gather table after its run. Additionally, the DMA boundary is reduced from 0xffffffff to 0xffff to more closely match the needs of mv_fill_sg(). Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 2da23247935526da567e18caddb4533cfa194aa9 Author: Florian Fainelli Date: Tue Sep 25 17:07:30 2007 +0200 [MIPS] Au1000: set the PCI controller IO base The PCI controller IO base was not set in the au1000 pci code. Signed-off-by: Felix Fietkau Signed-off-by: John Crispin Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit f708631ac75c901b20c7622be9abdbc29d4d2dd7 Author: Florian Fainelli Date: Tue Sep 25 17:07:24 2007 +0200 [MIPS] Alchemy: Fix USB initialization. This patch fixes a wrong ifdef in the board setup code, leading to the GPIO pin not being pulled high, and thus the USB switch not being powered at all. This finishes the rename of CONFIG_USB_OHCI to CONFIG_USB_OHCI_HCD, which started in 2005 (before 2.6.12-rc2), then probably because things were working anyway for most people got forgotten. [Ralf: Paolo's original patch didn't fix the module case, Florian's patch only fixed MTX1 etc. so this is a combined patch plus some cleanups.] Cc: Giuseppe Patanè Cc: Ralf Baechle Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Felix Fietkau Signed-off-by: John Crispin Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 378a545954abfec1c9499203206e0ffb5c2118d2 Author: Giuseppe Sacco Date: Sat Oct 6 19:55:03 2007 +0200 [MIPS] IP32: Fix fatal typo in address computation. Signed-off-by: Giuseppe Sacco Signed-off-by: Ralf Baechle commit e2a57a815933b2d2e375f9de6be223098024ab90 Author: Maarten Bressers Date: Mon Oct 8 15:59:13 2007 -0700 Correct Makefile rule for generating custom keymap When building a custom keymap, after setting GENERATE_KEYMAP := 1 in drivers/char/Makefile, the kernel build fails like this: CC drivers/char/vt.o make[2]: *** No rule to make target `drivers/char/%.map', needed by `drivers/char/defkeymap.c'. Stop. make[1]: *** [drivers/char] Error 2 make: *** [drivers] Error 2 This was caused by commit af8b128719f5248e542036ea994610a29d0642a6, which deleted a necessary colon from the Makefile rule that generates the keymap, since that rule contains both a target and a target-pattern. The following patch puts the colon back: Signed-off-by: Maarten Bressers Cc: Yoichi Yuasa Cc: Ralf Baechle Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d39d5ed97e2b8e089f85ffaf5909768d83147be0 Author: Karsten Keil Date: Mon Oct 8 12:52:09 2007 +0200 ISDN: Fix data access out of array bounds Fix against access random data bytes outside the dev->chanmap array. Thanks to Oliver Neukum for pointing me to this issue. Signed-off-by: Karsten Keil Signed-off-by: Linus Torvalds commit 87e2831c3fa39cbf6f7ab676bb5aef039b9659e2 Author: Yan Zheng Date: Mon Oct 8 12:16:20 2007 -0700 AIO: fix cleanup in io_submit_one(...) When IOCB_FLAG_RESFD flag is set and iocb->aio_resfd is incorrect, statement 'goto out_put_req' is executed. At label 'out_put_req', aio_put_req(..) is called, which requires 'req->ki_filp' set. Signed-off-by: Yan Zheng Cc: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 745ad48e8cac47beec0b2f72dc3c64424bce1fec Author: Yan Zheng Date: Mon Oct 8 10:08:37 2007 -0700 fix page release issue in filemap_fault find_lock_page increases page's usage count, we should decrease it before return VM_FAULT_SIGBUS Signed-off-by: Yan Zheng Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd204d63cd11509081b41d7ab305fdc173382039 Author: Yan Zheng Date: Mon Oct 8 10:05:48 2007 -0700 fix VM_CAN_NONLINEAR check in sys_remap_file_pages The test for VM_CAN_NONLINEAR always fails Signed-off-by: Yan Zheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a200ee182a016752464a12cb2e8762e48254bb09 Author: Peter Zijlstra Date: Mon Oct 8 18:54:37 2007 +0200 mm: set_page_dirty_balance() vs ->page_mkwrite() All the current page_mkwrite() implementations also set the page dirty. Which results in the set_page_dirty_balance() call to _not_ call balance, because the page is already found dirty. This allows us to dirty a _lot_ of pages without ever hitting balance_dirty_pages(). Not good (tm). Force a balance call if ->page_mkwrite() was successful. Signed-off-by: Peter Zijlstra Signed-off-by: Linus Torvalds commit bf0b48dfc368c07c42b5a3a5658c8ee81b4283ac Author: Brian Haley Date: Mon Oct 8 00:12:05 2007 -0700 [IPv6]: Fix ICMPv6 redirect handling with target multicast address When the ICMPv6 Target address is multicast, Linux processes the redirect instead of dropping it. The problem is in this code in ndisc_redirect_rcv(): if (ipv6_addr_equal(dest, target)) { on_link = 1; } else if (!(ipv6_addr_type(target) & IPV6_ADDR_LINKLOCAL)) { ND_PRINTK2(KERN_WARNING "ICMPv6 Redirect: target address is not link-local.\n"); return; } This second check will succeed if the Target address is, for example, FF02::1 because it has link-local scope. Instead, it should be checking if it's a unicast link-local address, as stated in RFC 2461/4861 Section 8.1: - The ICMP Target Address is either a link-local address (when redirected to a router) or the same as the ICMP Destination Address (when redirected to the on-link destination). I know this doesn't explicitly say unicast link-local address, but it's implied. This bug is preventing Linux kernels from achieving IPv6 Logo Phase II certification because of a recent error that was found in the TAHI test suite - Neighbor Disovery suite test 206 (v6LC.2.3.6_G) had the multicast address in the Destination field instead of Target field, so we were passing the test. This won't be the case anymore. The patch below fixes this problem, and also fixes ndisc_send_redirect() to not send an invalid redirect with a multicast address in the Target field. I re-ran the TAHI Neighbor Discovery section to make sure Linux passes all 245 tests now. Signed-off-by: Brian Haley Acked-by: David L Stevens Signed-off-by: David S. Miller commit bf1b803b01b00c3801e0aa373ba0305f8278e260 Author: Stephen Hemminger Date: Sun Oct 7 23:57:45 2007 -0700 [PKT_SCHED] cls_u32: error code isn't been propogated properly Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 891e6a931255238dddd08a7b306871240961a27f Author: Alexey Dobriyan Date: Sun Oct 7 23:44:17 2007 -0700 [ROSE]: Fix rose.ko oops on unload Commit a3d384029aa304f8f3f5355d35f0ae274454f7cd aka "[AX.25]: Fix unchecked rose_add_loopback_neigh uses" transformed rose_loopback_neigh var into statically allocated one. However, on unload it will be kfree's which can't work. Steps to reproduce: modprobe rose rmmod rose BUG: unable to handle kernel NULL pointer dereference at virtual address 00000008 printing eip: c014c664 *pde = 00000000 Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC Modules linked in: rose ax25 fan ufs loop usbhid rtc snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd thermal usbcore button processor evdev sr_mod cdrom CPU: 0 EIP: 0060:[] Not tainted VLI EFLAGS: 00210086 (2.6.23-rc9 #3) EIP is at kfree+0x48/0xa1 eax: 00000556 ebx: c1734aa0 ecx: f6a5e000 edx: f7082000 esi: 00000000 edi: f9a55d20 ebp: 00200287 esp: f6a5ef28 ds: 007b es: 007b fs: 0000 gs: 0033 ss: 0068 Process rmmod (pid: 1823, ti=f6a5e000 task=f7082000 task.ti=f6a5e000) Stack: f9a55d20 f9a5200c 00000000 00000000 00000000 f6a5e000 f9a5200c f9a55a00 00000000 bf818cf0 f9a51f3f f9a55a00 00000000 c0132c60 65736f72 00000000 f69f9630 f69f9528 c014244a f6a4e900 00200246 f7082000 c01025e6 00000000 Call Trace: [] rose_rt_free+0x1d/0x49 [rose] [] rose_rt_free+0x1d/0x49 [rose] [] rose_exit+0x4c/0xd5 [rose] [] sys_delete_module+0x15e/0x186 [] remove_vma+0x40/0x45 [] sysenter_past_esp+0x8f/0x99 [] trace_hardirqs_on+0x118/0x13b [] sysenter_past_esp+0x5f/0x99 ======================= Code: 05 03 1d 80 db 5b c0 8b 03 25 00 40 02 00 3d 00 40 02 00 75 03 8b 5b 0c 8b 73 10 8b 44 24 18 89 44 24 04 9c 5d fa e8 77 df fd ff <8b> 56 08 89 f8 e8 84 f4 fd ff e8 bd 32 06 00 3b 5c 86 60 75 0f EIP: [] kfree+0x48/0xa1 SS:ESP 0068:f6a5ef28 Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 48611c47d09023d9356e78550d1cadb8d61da9c8 Author: Ilpo Järvinen Date: Sun Oct 7 23:43:10 2007 -0700 [TCP]: Fix fastpath_cnt_hint when GSO skb is partially ACKed When only GSO skb was partially ACKed, no hints are reset, therefore fastpath_cnt_hint must be tweaked too or else it can corrupt fackets_out. The corruption to occur, one must have non-trivial ACK/SACK sequence, so this bug is not very often that harmful. There's a fackets_out state reset in TCP because fackets_out is known to be inaccurate and that fixes the issue eventually anyway. In case there was also at least one skb that got fully ACKed, the fastpath_skb_hint is set to NULL which causes a recount for fastpath_cnt_hint (the old value won't be accessed anymore), thus it can safely be decremented without additional checking. Reported by Cedric Le Goater Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3eb215de26e6e94bf5fed9cb77230c383b30e53b Author: Dmitry Torokhov Date: Sun Oct 7 12:22:21 2007 -0400 Driver core: fix SYSF_DEPRECATED breakage for nested classdevs We should only reparent to a class former class devices that form the base of class hierarchy. Nested devices should still grow from their real parents. Signed-off-by: Dmitry Torokhov Tested-by: Andrey Borzenkov Tested-by: Anssi Hannula Signed-off-by: Linus Torvalds commit 9d9b7ad717474636dc961e6c321970fd799e1cb3 Author: Attila Kinali Date: Sun Oct 7 00:24:38 2007 -0700 Add manufacturer and card id of teltonica pcmcia modems Add the manufacturer and card id of teltonica pcmcia modems to serial_cs.c Signed-off-by: Attila Kinali Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfb0042d43d4e7664f7e3af1b51c9b08175483a6 Author: Pavel Machek Date: Sun Oct 7 00:24:37 2007 -0700 sysrq docs: document sequence that actually works Document sequence of keypresses that actually works. Yes, this changed year-or-so ago. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 291041e935e6d0513f2b7e4a300aa9f02ec1d925 Author: Al Viro Date: Sun Oct 7 00:24:36 2007 -0700 fix bogus reporting of signals by audit Async signals should not be reported as sent by current in audit log. As it is, we call audit_signal_info() too early in check_kill_permission(). Note that check_kill_permission() has that test already - it needs to know if it should apply current-based permission checks. So the solution is to move the call of audit_signal_info() between those. Bogosity in question is easily reproduced - add a rule watching for e.g. kill(2) from specific process (so that audit_signal_info() would not short-circuit to nothing), say load_policy, watch the bogus OBJ_PID entry in audit logs claiming that write(2) on selinuxfs file issued by load_policy(8) had somehow managed to send a signal to syslogd... Signed-off-by: Al Viro Acked-by: Steve Grubb Acked-by: Eric Paris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a5c5d5735e785a700a377a5fce913b8ad45a58f Author: Alexey Dobriyan Date: Sun Oct 7 00:24:34 2007 -0700 Move kasprintf.o to obj-y Modulat lguest started giving linking errors MODPOST 1 modules ERROR: "kasprintf" [drivers/lguest/lg.ko] undefined! Signed-off-by: Alexey Dobriyan Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a560aa48eed66fdf78f2a2813ab7b4ca766a84ce Author: Peter Zijlstra Date: Sun Oct 7 00:24:33 2007 -0700 lockstat: documentation Provide some documentation for CONFIG_LOCK_STAT. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Cc: "Randy.Dunlap" Cc: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52a2638bff063acb28ba3355891c49cc240cc98b Author: Rafal Bilski Date: Sun Oct 7 00:24:32 2007 -0700 Longhaul: add auto enabled "revid_errata" option VIA C3 Ezra-T has RevisionID equal to 1, but it needs RevisionKey to be 0 or CPU will ignore new frequency and will continue to work at old frequency. New "revid_errata" option will force RevisionKey to be set to 0, whatever RevisionID is. Additionaly "Longhaul" will not silently ignore unsuccessful transition. It will try to check if "revid_errata" or "disable_acpi_c3" options need to be enabled for this processor/system. Same for Longhaul ver. 2 support. It will be disabled if none of above options will work. Best case scenario (with patch apllied and v2 enabled): longhaul: VIA C3 'Ezra' [C5C] CPU detected. Longhaul v2 supported. longhaul: Using northbridge support. longhaul: VRM 8.5 longhaul: Max VID=1.350 Min VID=1.050, 13 possible voltage scales longhaul: f: 300000 kHz, index: 0, vid: 1050 mV [...] longhaul: Voltage scaling enabled. Worst case scenario: longhaul: VIA C3 'Ezra-T' [C5M] CPU detected. Powersaver supported. longhaul: Using northbridge support. longhaul: Using ACPI support. longhaul: VRM 8.5 longhaul: Claims to support voltage scaling but min & max are both 1.250. Voltage scaling disabled longhaul: Failed to set requested frequency! longhaul: Enabling "Ignore Revision ID" option. longhaul: Failed to set requested frequency! longhaul: Disabling ACPI C3 support. longhaul: Disabling "Ignore Revision ID" option. longhaul: Failed to set requested frequency! longhaul: Enabling "Ignore Revision ID" option. [akpm@linux-foundation.org: coding-style cleanups] Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74922be1485818ed368c4cf4f0b100f70bf01e08 Author: Anton Blanchard Date: Sun Oct 7 00:24:31 2007 -0700 Fix timer_stats printout of events/sec When using /proc/timer_stats on ppc64 I noticed the events/sec field wasnt accurate. Sometimes the integer part was incorrect due to rounding (we werent taking the fractional seconds into consideration). The fraction part is also wrong, we need to pad the printf statement and take the bottom three digits of 1000 times the value. Signed-off-by: Anton Blanchard Acked-by: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c2043abefacac97b6d01129c1123a466c95b7c1 Author: Linus Torvalds Date: Sun Oct 7 16:17:38 2007 -0700 Don't do load-average calculations at even 5-second intervals It turns out that there are a few other five-second timers in the kernel, and if the timers get in sync, the load-average can get artificially inflated by events that just happen to coincide. So just offset the load average calculation it by a timer tick. Noticed by Anders Boström, for whom the coincidence started triggering on one of his machines with the JBD jiffies rounding code (JBD is one of the subsystems that also end up using a 5-second timer by default). Tested-by: Anders Boström Cc: Chuck Ebbert Cc: Arjan van de Ven Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 70cb97935b8859f27296772885104b599f560576 Author: Linus Torvalds Date: Sun Oct 7 16:02:55 2007 -0700 VT_WAITACTIVE: Avoid returning EINTR when not necessary We should generally prefer to return ERESTARTNOHAND rather than EINTR, so that processes with unhandled signals that get ignored don't return EINTR. This can help with X startup issues: Fatal server error: xf86OpenConsole: VT_WAITACTIVE failed: Interrupted system call although the real fix is having the X server always retry EINTR regardless (since EINTR does happen for signals that have handlers installed). Keithp has a patch for that. Regardless, ERESTARTNOHAND is the correct thing to use. Signed-off-by: Linus Torvalds commit a1134dd48d59e532b801659163539bf01cae7673 Author: Stefan Richter Date: Sun Oct 7 12:31:22 2007 +0200 firewire: point to migration document Signed-off-by: Stefan Richter commit 3a4986955c0d9806e96a9d738ef7c40cb0cdaba3 Author: Kyle McMartin Date: Sat Oct 6 01:42:34 2007 -0400 Revert "intel_agp: fix stolen mem range on G33" This reverts commit f443675affe3f16dd428e46f0f7fd3f4d703eeab, which breaks horribly if you aren't running an unreleased xf86-video-intel driver out of git. Signed-off-by: Kyle McMartin Cc: Dave Airlie Cc: Zhenyu Wang Acked-by: Keith Packard Signed-off-by: Linus Torvalds commit 71e4eda8ce698178ee448ff82bdc5803c77a736d Author: Benjamin Herrenschmidt Date: Sat Oct 6 18:52:27 2007 +1000 Fix non-terminated PCI match table in PowerMac IDE The PCI device table in the powermac IDE driver isn't properly terminated. Depending on how your kernel is linked and other random factors, you can end up with this driver matched against any other PCI device in your system, possibly crashing at boot. Thanks to Heikki for tracking this down with me, the bug have been there for some time, though it rarely hurts due to luck. In this case, the switch from .22 to .23-rc9 is causing it to show up due to differences in the resulting layout of .data I suppose. Signed-off-by: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Bartlomiej Zolnierkiewicz Cc: Heikki Lindholm Signed-off-by: Linus Torvalds commit 67dd5a25f4efbfccf973159429cb20acdc5b0e0e Author: Jeremy Fitzhardinge Date: Fri Oct 5 17:19:35 2007 -0700 xen: disable split pte locks for now When pinning and unpinning pagetables, we must protect them against being used by other CPUs, lest they see the pagetable in an intermediate read-only-but-not-pinned state. When using split pte locks, doing this properly would require taking all the pte locks for the pagetable while pinning, but this may overflow the PREEMPT_BITS part of the preempt counter if the process has mapped more than about 512M of memory. However, failing to take the pte locks causes write-protect faults when the pageout code is trying to clear the Access bit on a pte which is part of a freshy created and still being pinned process after fork. This is a short-term fix until the problem is solved properly. Signed-off-by: Jeremy Fitzhardinge Acked-by: Rik van Riel Acked-by: Hugh Dickins Cc: David Rientjes Cc: Andrew Morton Cc: Andi Kleen Cc: Keir Fraser Cc: Jan Beulich Signed-off-by: Linus Torvalds commit 4afcddae4cc7d8bb36c1d47967d6ede29ea45e1a Author: Ben Dooks Date: Thu Oct 4 23:18:08 2007 +0100 [ARM] 4598/2: OSIRIS: Ensure we do not get nRSTOUT during suspend Ensure nRSTOUT is not asserted during or on resume. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 28047eced817b3b7cd404fac4b26f29fcf04f1f7 Author: Ben Dooks Date: Thu Oct 4 23:16:42 2007 +0100 [ARM] 4597/2: OSIRIS: ensure CPLD0 is preserved after suspend Ensure that CPLD is restored to the original state on resume, and that before going into suspend we select the NAND bank we booted from for restarting. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c946b3047205d7e107be16885bbb42ab9f10350a Author: Francois Romieu Date: Thu Oct 4 00:42:50 2007 +0200 r8169: revert part of 6dccd16b7c2703e8bbf8bca62b5cf248332afbe2 The 8169/8110SC currently announces itself as: [...] eth0: RTL8169sc/8110sc at 0x........, ..:..:..:..:..:.., XID 18000000 IRQ .. ^^^^^^^^ It uses RTL_GIGA_MAC_VER_05 and this part of the changeset can cut its performance by a factor of 2~2.5 as reported by Timo. (the driver includes code just before the hunk to write the ChipCmd register when mac_version == RTL_GIGA_MAC_VER_0[1-4]) Signed-off-by: Francois Romieu Cc: Timo Jantunen Signed-off-by: Jeff Garzik commit 4ecbca8554d0f643351ee07d3284138a5e85ba81 Author: Serge Belyshev Date: Thu Oct 4 23:10:04 2007 +0200 Remove unnecessary cast in prefetch() It is ok to call prefetch() function with NULL argument, as specifically commented in include/linux/prefetch.h. But in standard C, it is invalid to dereference NULL pointer (see C99 standard 6.5.3.2 paragraph 4 and note #84). prefetch() has a memory reference for its argument. Newer gcc versions (4.3 and above) will use that to conclude that "x" argument is non-null and thus wreaking havok everywhere prefetch() was inlined. Fixed by removing cast and changing asm constraint. [ It seems in theory gcc 4.2 could miscompile this too; although no cases known. In 2.6.24 we should probably switch to __builtin_prefetch() instead, but this is a simpler fix for now. -- AK ] Signed-off-by: Serge Belyshev Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8cfaf45367d41400ce99e1757ab5690d1fc94dbc Author: Giuseppe Sacco Date: Thu Oct 4 23:09:12 2007 +0200 [MIPS] IP32: Enable PCI bridges Fixe MACE PCI addressing by adding the bus number parameter. Remove check of the used slot since every slot should be valid. Converted mkaddr from #define to inline function. Signed-off-by: Giuseppe Sacco Signed-off-by: Ralf Baechle commit b2b27757b6f0e88e30f10c431c763523dd7858ca Author: David S. Miller Date: Thu Oct 4 15:03:35 2007 -0700 [SPARC64]: Fix 'niu' complex IRQ probing. They should be computed the same as how we compute them under 'virtual-devices'. Signed-off-by: David S. Miller commit 1177bf9704a4e4e127b961950d75ca6c94fb419b Author: Akinobu Mita Date: Thu Oct 4 14:55:59 2007 -0700 [SPARC64]: check fork_idle() error Check the return value of fork_idle() to catch error. Signed-off-by: Akinobu Mita Signed-off-by: David S. Miller commit 16abfa086096895d438b19198e408ee96da7b508 Author: Hugh Dickins Date: Thu Oct 4 16:56:06 2007 +0100 Fix sys_remap_file_pages BUG at highmem.c:15! Gurudas Pai reports kernel BUG at arch/i386/mm/highmem.c:15! below sys_remap_file_pages, while running Oracle database test on x86 in 6GB RAM: kunmap thinks we're in_interrupt because the preempt count has wrapped. That's because __do_fault expected to unmap page_table, but one of its two callers do_nonlinear_fault already unmapped it: let do_linear_fault unmap it first too, and then there's no need to pass the page_table arg down. Why have we been so slow to notice this? Probably through forgetting that the mapping_cap_account_dirty test means that sys_remap_file_pages nowadays only goes the full nonlinear vma route on a few memory-backed filesystems like ramfs, tmpfs and hugetlbfs. [ It also depends on CONFIG_HIGHPTE, so it becomes even harder to trigger in practice. Many who have need of large memory have probably migrated to x86-64.. Problem introduced by commit d0217ac04ca6591841e5665f518e38064f4e65bd ("mm: fault feedback #1") -- Linus ] Signed-off-by: Hugh Dickins Cc: gurudas pai Cc: Nick Piggin Cc: Andrew Morton Signed-off-by: Linus Torvalds commit d5e89385e92a77b2764d9eb8284808a7628cb2a8 Author: FUJITA Tomonori Date: Wed Oct 3 09:00:58 2007 +0900 [SCSI] megaraid_old: fix READ_CAPACITY The bulk transfer mode got eleminated by 3f6270ef76f2ce5c134615a470685d6c2a66c07e. Unfortunately, this mode is required for READ_CAPACITY commands on certain cards, so put it back again. This fixes a boot failure regression reported by Burton Windle. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 27097ef9ff219c81a023911c7b0d5e7bc2419177 Author: David S. Miller Date: Wed Oct 3 21:37:57 2007 -0700 [SPARC64]: Temporary workaround for PCI-E slot on T1000. The PCI-E slot on T1000 connects directly to the Fire PCI chip with no intervening bridges visible in the OBP tree. Unfortunately the bus numbering of the device in that slot is different (2) from the PCI host controller (0), and thus the pci_bus_{read,write}_config_*() calls don't work out. Complicating things further the Fire PCI controller has no config space it responds to either. For now treat this case specially so that devices in the slot work. Longer term we need to perhaps cons up a dummy bridge between the Fire and the PCI-E slot so that the bus hierarchy is complete inside of the kernel and thus the bus numbering all works out right. Signed-off-by: David S. Miller commit e2fd58d06f79b10cad22240a6e6fb1c1108aa0ee Author: David S. Miller Date: Wed Oct 3 21:23:40 2007 -0700 [SPARC64]: VIO device addition log message level is too high. There is no reason this should be KERN_ERR, KERN_INFO is just fine. Signed-off-by: David S. Miller commit 07607c5492f836923c2ab9eb1cd1d39be7dace49 Author: David S. Miller Date: Wed Oct 3 21:08:11 2007 -0700 [SPARC64]: Fix domain-services port probing. We should only use ports underneath "domain-services", other DS ports in the MDESC aren't for us to use. Signed-off-by: David S. Miller commit 991bf528f602882580d0918842b125255d246a19 Author: Scott Thompson Date: Tue Oct 2 13:53:01 2007 -0700 drivers/ata/pata_ixp4xx_cf.c: ioremap return code check Add missing ioremap return checks. Signed-off-by: Scott Thompson hushmail.com> Acked-by: Tejun Heo Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 90925d3050253ff7b4f5d1660071df75f44bd0ff Author: Jiri Slaby Date: Tue Oct 2 13:53:01 2007 -0700 Ata: pata_marvell, use ioread* for iomap-ped memory pata_marvell, use ioread* for iomap-ped memory read* on pci_iomapped memory is incorrect, fix it Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4007b493ee6e4a52c2b618ab8361847fba5bf116 Author: Olof Johansson Date: Tue Oct 2 20:45:27 2007 -0500 libata: fix for sata_mv >64KB DMA segments Fix bug in sata_mv for cases where the IOMMU layer has merged SG entries to larger than 64KB. They need to be split up before being sent to the driver. Just for simplicity's sake, split up at 64K boundary instead of 64K size, since that's what the common code does anyway. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit bda0233b89c10ae46ccecb78bffdaf0fd7833d17 Author: Sunil Mushran Date: Fri Sep 21 11:41:43 2007 -0700 ocfs2: Unlock mutex in local alloc failure case The fs was not unlocking the local alloc inode mutex in the code path in which it failed to find a window of free bits in the global bitmap. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 529d303e075aa6d988f30935b8995ffb382ad38e Author: Stephen Hemminger Date: Tue Oct 2 18:02:09 2007 -0700 sky2: jumbo frame regression fix Remove unneeded check that caused problems with jumbo frame sizes. The check was recently added and is wrong. When using jumbo frames the sky2 driver does fragmentation, so rx_data_size is less than mtu. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit cda6a20b68c1f21f4b4bc9cd3ee08494e7ebf0d5 Author: Michael Hennerich Date: Thu Oct 4 00:36:18 2007 +0800 Blackfin arch: fix PORT_J BUG for BF537/6 EMAC driver reported by Kalle Pokki Cc: Kalle Pokki Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit c58c2140f08de4ad0b0dbd48f6e78168dc321042 Author: Michael Hennerich Date: Thu Oct 4 00:35:05 2007 +0800 Blackfin arch: gpio pinmux and resource allocation API required by BF537 on chip ethernet mac driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 9ea0f043fec38fadb0101fbf29563a5635f42e93 Author: Ralf Baechle Date: Wed Oct 3 14:29:19 2007 +0100 [MIPS] Terminally fix local_{dec,sub}_if_positive They contain 64-bit instructions so wouldn't work on 32-bit kernels or 32-bit hardware. Since there are no users, blow them away. They probably were only ever created because there are atomic_sub_if_positive and atomic_dec_if_positive which exist only for sake of semaphores. Signed-off-by: Ralf Baechle commit fef74705ea310acd716c2722bfeb0f796cf23640 Author: Ralf Baechle Date: Mon Oct 1 04:15:00 2007 +0100 [MIPS] Type proof reimplementation of cmpxchg. Signed-off-by: Ralf Baechle commit f6a9e6dec537dc1d9d2c62d7b8ad205d0993bddc Author: Maciej W. Rozycki Date: Tue Oct 2 14:47:22 2007 +0100 [MIPS] pg-r4k.c: Fix a typo in an R4600 v2 erratum workaround Restore a load from KSEG1 done as a workaround for an R4600 v2 erratum, dropped with 211be16de99a7424e66c0b6c0d00e2c970508ac2. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit ee0a8169b693e1c708d0f9af0a5e4ade65a65439 Author: Richard Knutsson Date: Mon Oct 1 02:24:38 2007 +0200 [PATCH] softmac: Fix compiler-warning CC net/ieee80211/softmac/ieee80211softmac_wx.o /home/kernel/src/net/ieee80211/softmac/ieee80211softmac_wx.c: In function ‘ieee80211softmac_wx_set_essid’: /home/kernel/src/net/ieee80211/softmac/ieee80211softmac_wx.c:117: warning: label ‘out’ defined but not used due to commit: efe870f9f4ad74410a18ecbf0d9ba7c14b50a0fb. Removing the label. Signed-off-by: Richard Knutsson Signed-off-by: John W. Linville commit a4aa2e867c5d696c0f249ad8d63d0d983b4ffaf9 Author: David S. Miller Date: Tue Oct 2 16:17:17 2007 -0700 [SPARC64]: Don't use in/local regs for ldx/stx data in N1 memcpy. It doesn't matter for use in 64-bit objects, but when used in 32-bit environments the top 32-bits of the local and in registers will get chopped off on the next register window spill/restore which leads to difficult to track down and subtle bugs. Signed-off-by: David S. Miller commit 4365e99f9587b94010e9818a4237ce2b1c734e91 Author: Joe Perches Date: Tue Oct 2 12:57:11 2007 -0700 [PATCH] bcm43xx: Correct printk with PFX before KERN_ Correct printk with PFX before KERN_ in bcm43xx_wx.c Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit d136552e8beadcf5e59089292e2ba44f09e3aad8 Author: Jeff Garzik Date: Tue Oct 2 13:16:10 2007 -0400 aic94xx: fix DMA data direction for SMP requests DMA-mapped SMP (scsi management protocol) requests going /to/ the device need the PCI DMA data direction to indicate such. Signed-off-by: Jeff Garzik commit f662fe5a0b144efadbfc00e8040e603ec318746e Author: Peter Korsgaard Date: Mon Oct 1 13:36:07 2007 +0200 dm9601: Fix receive MTU dm9601 didn't take the ethernet header into account when calculating RX MTU, causing packets bigger than 1486 to fail. Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 593ff56ef2a23ed3a66ee87d9c9b33044b9fb193 Author: Dale Farnsworth Date: Mon Oct 1 16:02:18 2007 -0700 mv643xx_eth: Do not modify struct netdev tx_queue_len This driver erroneously zeros dev->tx_queue_len, since mp->tx_ring_size has not yet been initialized. Actually, the driver shouldn't modify tx_queue_len at all and should leave the value set by alloc_etherdev(), currently 1000. Signed-off-by: Dale Farnsworth Signed-off-by: Jeff Garzik commit 50626297b1beb0a29c0f174be39f36485533216c Author: Ron Mercer Date: Mon Oct 1 11:43:23 2007 -0700 qla3xxx: bugfix: Fix VLAN rx completion handling. Fix 4032 chip undocumented "feature" where bit-8 is set if the inbound completion is for a VLAN. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit b323e0e49fe9331ee3a7a336af879d6e303b16b3 Author: Ron Mercer Date: Mon Oct 1 11:43:22 2007 -0700 qla3xxx: bugfix: Add memory barrier before accessing rx completion. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 4c74d4ec3524a8f31deadd115139dd93bc91d598 Author: Tejun Heo Date: Sun Sep 30 01:11:20 2007 -0700 ata_piix: add another TECRA M3 entry to broken suspend list There's a different version of DMI table for TECRA M3 where it has proper vendor and product name entry. Add the entry to the broken suspend list. Angus Turnbull reported and provided initial patch. Signed-off-by: Tejun Heo Cc: Angus Turnbull Signed-off-by: Jeff Garzik commit 30084fbd1caa4b2e1a336fcdef60b68129d1d8f8 Author: Ingo Molnar Date: Tue Oct 2 14:13:08 2007 +0200 sched: fix profile=sleep fix sleep profiling - we lost this chunk in the CFS merge. Found-by: Mel Gorman Signed-off-by: Ingo Molnar commit 25e5566ed38650f7990041fcd20571d6ddd2a040 Author: David S. Miller Date: Tue Oct 2 01:03:09 2007 -0700 [SPARC64]: Fix missing load-twin usage in Niagara-1 memcpy. For the case where the source is not aligned modulo 8 we don't use load-twins to suck the data in and this kills performance since normal loads allocate in the L1 cache (unlike load-twin) and thus big memcpys swipe the entire L1 D-cache. We need to allocate a register window to implement this properly, but that actually simplifies a lot of things as a nice side-effect. Signed-off-by: David S. Miller commit 04045f98e0457aba7d4e6736f37eed189c48a5f7 Author: John W. Linville Date: Mon Oct 1 21:03:54 2007 -0700 [IEEE80211]: avoid integer underflow for runt rx frames Reported by Chris Evans : > The summary is that an evil 80211 frame can crash out a victim's > machine. It only applies to drivers using the 80211 wireless code, and > only then to certain drivers (and even then depends on a card's > firmware not dropping a dubious packet). I must confess I'm not > keeping track of Linux wireless support, and the different protocol > stacks etc. > > Details are as follows: > > ieee80211_rx() does not explicitly check that "skb->len >= hdrlen". > There are other skb->len checks, but not enough to prevent a subtle > off-by-two error if the frame has the IEEE80211_STYPE_QOS_DATA flag > set. > > This leads to integer underflow and crash here: > > if (frag != 0) > flen -= hdrlen; > > (flen is subsequently used as a memcpy length parameter). How about this? Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9b42c336d06411e6463949d2dac63949f66ff70b Author: Eric Dumazet Date: Mon Oct 1 13:58:36 2007 -0700 [TCP]: secure_tcp_sequence_number() should not use a too fast clock TCP V4 sequence numbers are 32bits, and RFC 793 assumed a 250 KHz clock. In order to follow network speed increase, we can use a faster clock, but we should limit this clock so that the delay between two rollovers is greater than MSL (TCP Maximum Segment Lifetime : 2 minutes) Choosing a 64 nsec clock should be OK, since the rollovers occur every 274 seconds. Problem spotted by Denys Fedoryshchenko [ This bug was introduced by f85958151900f9d30fa5ff941b0ce71eaa45a7de ] Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 32740ddc1095e5e320bf961dda146bf97bc28adb Author: Alexey Kuznetsov Date: Sun Sep 30 17:51:33 2007 -0700 [SFQ]: Remove artificial limitation for queue limit. This is followup to Patrick's patch. A little optimization to enqueue routine allows to remove artificial limitation on queue length. Plus, testing showed that hash function used by SFQ is too bad or even worse. It does not even sweep the whole range of hash values. Switched to Jenkins' hash. Signed-off-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 3146b39c185f8a436d430132457e84fa1d8f8208 Author: Linus Torvalds Date: Mon Oct 1 20:24:52 2007 -0700 Linux 2.6.23-rc9 No, I didn't want to do this, but we had more stuff go in after -rc8 than we had in the previous -rc. Gaah. commit cf8dc57cbac0fe089308f57c333ab763c36782ff Author: Andi Kleen Date: Mon Oct 1 01:20:08 2007 -0700 x86_64: increase VDSO_TEXT_OFFSET for ancient binutils For some reason old binutils genertate larger headers so increase the text offset of the vdso to avoid linker errors. Roland McGrath explains: "There are extra symbols in the '.dynsym' section that are responsible for the size difference (They also cause corresponding inflation in '.gnu.version') Older ld's wrongly generated these unneeded symbols in .dynsym. This was fixed not all that long ago (2006); binutils-2.17.50.0.6 might be the first fixed version, but I have not verified for sure where the cutoff was. The unneeded symbols et al from old ld add almost 700 bytes excess. This limits fairly tightly the amount by which the actual text and data in the vDSO can grow in the future without pushing the whole file over 4kb. If it does grow later on, we should consider changing the layout with a config option or something to pack it better without that padding, when building the kernel with newer binutils." Signed-off-by: Andi Kleen Cc: Roland McGrath Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e48395f1753cab0fde6c03f1db833cece9ef2ba0 Author: Anton Blanchard Date: Mon Oct 1 07:45:55 2007 +1000 [POWERPC] Fix xics set_affinity code On a POWER6 machine running 2.6.23-rc8 I sometimes see the following error: xics_set_affinity: No online cpus in the mask 00000000,00000000,00000000,00000001 for irq 20 In a desperate attempt to get a changelog entry in 2.6.23, I took a look into it. It turns out we are passing a real and not a virtual irq into get_irq_server. This works for the case where hwirq < NR_IRQS and we set virq = hwirq. In my case however hwirq = 590082 and we try and access irq_desc[590082], slightly past the end at 512 entries. Lucky we ship lots of memory with our machines. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 75723957673bfa10c98b735259f891cc79cf0450 Author: Linus Torvalds Date: Mon Oct 1 13:17:28 2007 -0700 Fix possible splice() mmap_sem deadlock Nick Piggin points out that splice isn't being good about the mmap semaphore: while two readers can nest inside each others, it does leave a possible deadlock if a writer (ie a new mmap()) comes in during that nesting. Original "just move the locking" patch by Nick, replaced by one by me based on an optimistic pagefault_disable(). And then Jens tested and updated that patch. Reported-by: Nick Piggin Tested-by: Jens Axboe Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 564256c9e06d75e16d894a2cd30604bd6582cbba Author: Tim Shimmin Date: Mon Oct 1 16:39:37 2007 +1000 Revert "[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer." This reverts commit b394e43e995d08821588a22561c6a71a63b4ff27. Lachlan McIlroy says: It tried to fix an issue where log replay is replaying an inode cluster initialisation transaction that should not be replayed because the inode cluster on disk is more up to date. Since we don't log file sizes (we rely on inode flushing to get them to disk) then we can't just replay all the transations in the log and expect the inode to be completely restored. We lose file size updates. Unfortunately this fix is causing more (serious) problems than it is fixing. SGI-PV: 969656 SGI-Modid: xfs-linux-melb:xfs-kern:29804a Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 9f96cb1e8bca179a92afa40dfc3c49990f1cfc71 Author: Martin Schwidefsky Date: Mon Oct 1 01:20:13 2007 -0700 robust futex thread exit race Calling handle_futex_death in exit_robust_list for the different robust mutexes of a thread basically frees the mutex. Another thread might grab the lock immediately which updates the next pointer of the mutex. fetch_robust_entry over the next pointer might therefore branch into the robust mutex list of a different thread. This can cause two problems: 1) some mutexes held by the dead thread are not getting freed and 2) some mutexs held by a different thread are freed. The next point need to be read before calling handle_futex_death. Signed-off-by: Martin Schwidefsky Acked-by: Ingo Molnar Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8792f961ba8057d9f27987def3600253a3ba060f Author: Samuel Ortiz Date: Mon Oct 1 01:20:12 2007 -0700 VT ioctl race fix When calling the RELDISP VT ioctl, we are reading vt_newvt while the console workqueue could be messing with it (through change_console()). We fix this race by taking the console semaphore before reading vt_newvt. Signed-off-by: Samuel Ortiz Acked-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4047727e5ae33f9b8d2b7766d1994ea6e5ec2991 Author: Mark Lord Date: Mon Oct 1 01:20:10 2007 -0700 Fix SMP poweroff hangs We need to disable all CPUs other than the boot CPU (usually 0) before attempting to power-off modern SMP machines. This fixes the hang-on-poweroff issue on my MythTV SMP box, and also on Thomas Gleixner's new toybox. Signed-off-by: Mark Lord Acked-by: Thomas Gleixner Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 281e0e3b34acb76a157576d27abc85c09fcf78e3 Author: Ralf Baechle Date: Mon Oct 1 01:20:10 2007 -0700 hugetlb: fix clear_user_highpage arguments The virtual address space argument of clear_user_highpage is supposed to be the virtual address where the page being cleared will eventually be mapped. This allows architectures with virtually indexed caches a few clever tricks. That sort of trick falls over in painful ways if the virtual address argument is wrong. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8814842fbb6d8907cd23711cc4cbc3a6a191080f Author: Dave Jones Date: Mon Oct 1 01:20:09 2007 -0700 Add /dev/oldmem to devices.txt documentation Signed-off-by: Dave Jones Cc: "H. Peter Anvin" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f6b3940ed326eed58074d777ab92fda3a60a382 Author: Maciej W. Rozycki Date: Mon Oct 1 13:24:04 2007 +0100 [MIPS] vmlinux.lds.S: Handle note sections Store any note sections after the exception tables like the other architectures do. This is required for .note.gnu.build-id emitted from binutils 2.18 onwards if nothing else. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit ca074a33928762c65e261dd94006c1b6a47e46fa Author: Ralf Baechle Date: Sun Sep 30 00:45:08 2007 +0100 [MIPS] Fix value of O_TRUNC A "cleanup" almost two years ago deleted the old definition from , so asm-generic/fcntl.h defaulted it to the the same value as FASYNC ... which happened to be the wrong thing. Signed-off-by: Ralf Baechle commit f998351c755a0e87785f2616c4f91f1b3b19b149 Author: Randy Dunlap Date: Sun Sep 30 20:35:39 2007 -0400 [PATCH] libertas: build problems when partially modular Fix missing symbols in libertas USB driver when it is modular and rest of libertas is built-in. Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 8cc8c28a9acdceda0e60519167a052cc3408c5c3 Author: David S. Miller Date: Sun Sep 30 17:00:34 2007 -0700 [SPARC64]: Fix put_user() calls in binfmt_aout32.c argv and envp are pointers to u32's in userspace, so don't try to put_user() a NULL to them. Aparently gcc-4.2.x now warns about this, and since we use -Werror for arch/sparc64 code, this breaks the build. Signed-off-by: David S. Miller commit 46edfc54ee2cc60db0f10d982d6b9b7850733ff2 Author: Russell King Date: Sun Sep 30 17:36:22 2007 +0100 [ARM] Resolve PCI section warnings Fix the following (valid) section warnings: WARNING: vmlinux.o(.text+0xf7b5c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bridge') WARNING: vmlinux.o(.text+0xfc5f4): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_map_rom' and 'pci_unmap_rom') WARNING: vmlinux.o(.text+0xfc824): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_update_resource' and 'pci_claim_resource') WARNING: vmlinux.o(.text+0xfd6d8): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'find_free_bus_resource') WARNING: vmlinux.o(.text+0xfd730): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'find_free_bus_resource') WARNING: vmlinux.o(.text+0xfd788): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'find_free_bus_resource') WARNING: vmlinux.o(.text+0xfd7e0): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'find_free_bus_resource') WARNING: vmlinux.o(.text+0xfe024): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'sys_pciconfig_read') WARNING: vmlinux.o(.text+0xfe0f4): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'sys_pciconfig_read') WARNING: vmlinux.o(.text+0xfe17c): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'sys_pciconfig_read') Signed-off-by: Russell King commit cb50f548c0ee9b2aac39743fc4021a7188825a98 Author: Ian Armstrong Date: Sat Aug 18 15:58:51 2007 -0300 V4L/DVB (6052): ivtv: fix udma yuv bug Using udma yuv causes the driver becomes locked into that mode. This prevents use of the mpeg decoder & non-udma yuv output. This patch clears the operating mode when the device is closed. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a64314e62d89562b6fc77593648bec3acc35bf61 Author: Jan Lübbe Date: Sat Sep 29 18:47:51 2007 +0200 fix console change race exposed by CFS The new behaviour of CFS exposes a race which occurs if a switch is requested when vt_mode.mode is VT_PROCESS. The process with vc->vt_pid is signaled before vc->vt_newvt is set. This causes the switch to fail when triggered by the monitoing process because the target is still -1. [ If the signal sending fails, the subsequent "reset_vc(vc)" will then reset vt_newvt to -1, so this works for that case too. - Linus ] Signed-off-by: Jan Lübbe Signed-off-by: Linus Torvalds commit 4827bbb06e4b59922c2b9bfb13ad1bf936bdebe5 Author: Nick Piggin Date: Sat Sep 29 15:28:48 2007 +0200 i386: remove bogus comment about memory barrier The comment being removed by this patch is incorrect and misleading. In the following situation: 1. load ... 2. store 1 -> X 3. wmb 4. rmb 5. load a <- Y 6. store ... 4 will only ensure ordering of 1 with 5. 3 will only ensure ordering of 2 with 6. Further, a CPU with strictly in-order stores will still only provide that 2 and 6 are ordered (effectively, it is the same as a weakly ordered CPU with wmb after every store). In all cases, 5 may still be executed before 2 is visible to other CPUs! The additional piece of the puzzle that mb() provides is the store/load ordering, which fundamentally cannot be achieved with any combination of rmb()s and wmb()s. This can be an unexpected result if one expected any sort of global ordering guarantee to barriers (eg. that the barriers themselves are sequentially consistent with other types of barriers). However sfence or lfence barriers need only provide an ordering partial ordering of memory operations -- Consider that wmb may be implemented as nothing more than inserting a special barrier entry in the store queue, or, in the case of x86, it can be a noop as the store queue is in order. And an rmb may be implemented as a directive to prevent subsequent loads only so long as their are no previous outstanding loads (while there could be stores still in store queues). I can actually see the occasional load/store being reordered around lfence on my core2. That doesn't prove my above assertions, but it does show the comment is wrong (unless my program is -- can send it out by request). So: mb() and smp_mb() always have and always will require a full mfence or lock prefixed instruction on x86. And we should remove this comment. Signed-off-by: Nick Piggin Cc: Paul McKenney Cc: David Howells Cc: Andi Kleen Signed-off-by: Linus Torvalds commit 2bcff60f7ce88c09a2bc1302ff14510737bfcb7b Author: Dale Farnsworth Date: Fri Sep 28 06:30:43 2007 -0700 mv643xx_eth: Check ETH_INT_CAUSE_STATE bit Commit 468d09f8946d40228c56de26fe4874b2f98067ed masked the "state" interrupt (bit 20 of the cause register). This results in Radstone's PPC7D repeatedly re-entering the interrupt routine, locking up the board. The following patch returns the required handling for this interrupt. Signed-off-by: Martyn Welch Signed-off-by: Dale Farnsworth Signed-off-by: Jeff Garzik commit 1bef7dc00caa7bcbff4fdb55e599e2591461fafa Author: Benjamin Herrenschmidt Date: Sat Sep 29 09:06:21 2007 +1000 Fix bogus PCI quirk for e100 Linas reported me that some machines were crashing at boot in quirk_e100_interrupt. It appears that this quirk is doing an ioremap directly on a PCI BAR value, which isn't legal and will cause all sorts of bad things to happen on architectures where PCI BARs don't directly match processor bus addresses. This fixes it by using the proper PCI resources instead which is possible since the quirk has been moved by a previous commit to happen late enough for that. Signed-off-by: Benjamin Herrenschmidt Acked-by: Linas Vepstas Signed-off-by: Linus Torvalds commit b082dff349e0a9374d19765f17b3fdceb74fda56 Author: Dmitry Torokhov Date: Thu Sep 27 00:09:29 2007 -0400 Input: xpad - fix dependancy on LEDS class Input: xpad - fix dependancy on LEDS class The driver can not be built-in when LEDS class is a module. Signed-off-by: Dmitry Torokhov Signed-off-by: Linus Torvalds commit 54af3bb543c071769141387a42deaaab5074da55 Author: Trond Myklebust Date: Fri Sep 28 12:27:41 2007 -0400 NFS: Fix an Oops in encode_lookup() It doesn't look as if the NFS file name limit is being initialised correctly in the struct nfs_server. Make sure that we limit whatever is being set in nfs_probe_fsinfo() and nfs_init_server(). Also ensure that readdirplus and nfs4_path_walk respect our file name limits. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit f8ab18d2d987a59ccbf0495032b2aef05b730037 Author: David S. Miller Date: Fri Sep 28 15:18:35 2007 -0700 [TCP]: Fix MD5 signature handling on big-endian. Based upon a report and initial patch by Peter Lieven. tcp4_md5sig_key and tcp6_md5sig_key need to start with the exact same members as tcp_md5sig_key. Because they are both cast to that type by tcp_v{4,6}_md5_do_lookup(). Unfortunately tcp{4,6}_md5sig_key use a u16 for the key length instead of a u8, which is what tcp_md5sig_key uses. This just so happens to work by accident on little-endian, but on big-endian it doesn't. Instead of casting, just place tcp_md5sig_key as the first member of the address-family specific structures, adjust the access sites, and kill off the ugly casts. Signed-off-by: David S. Miller commit 422efb17eee0471baf4e1876ac9e8ba4c9e7a37a Author: Kyle McMartin Date: Fri Sep 28 13:15:20 2007 -0400 [MIPS] Fix fallocate on o32 binary compat ABI MIPS was mistakenly forgetting to use the fallocate compat wrapper, which I noticed while cleaning up all the duplicate fallocate wrappers. Signed-off-by: Kyle McMartin Signed-off-by: Ralf Baechle commit 9ae6399f0178c49a6e9cb7562ecc2f7d10c9f195 Author: Ralf Baechle Date: Tue Sep 11 08:50:40 2007 +0100 [MIPS] Fix CONFIG_BUILD_ELF64 kernels with symbols in CKSEG0. The __pa() for those did assume that all symbols have XKPHYS values and the math fails for any other address range. Signed-off-by: Ralf Baechle commit d8998737bd56e65d5e7326b515769c20dc01cb63 Author: Ralf Baechle Date: Wed Sep 26 13:01:37 2007 +0100 [MIPS] IP32: Fix initialization of UART base addresses. Signed-off-by: Ralf Baechle commit 4ee5b10abeb2b5581be10d3022694cd19084e9b0 Author: H. Peter Anvin Date: Thu Sep 27 17:17:12 2007 -0700 [x86 setup] Correct the SMAP check for INT 0x15, AX=0xe820 The e820 probe code was checking %edx, not %eax, for the SMAP signature on return. This worked on *almost* all systems, since %edx still contained SMAP from the call on entry, but on a handful of systems it failed -- plus, we would have missed real mismatches. The error output is "=d" to make sure gcc knows %edx is clobbered here. Signed-off-by: H. Peter Anvin commit f93c7c5aab8d5efaf99c88c8452d9303baabc89b Author: jacmet@sunsite.dk Date: Fri Sep 28 16:21:15 2007 +0200 [POWERPC] mpc8349emitx.dts: Setup USB-DR for peripheral mode. Setup dr_mode for USB-DR to peripheral as the default (host mode) doesn't make much sense for the mini-AB connector on the ITX board. Peripheral mode is preferable to OTG as the fsl_usb2_udc.c driver doesn't yet properly support it. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 39db0fd9db6caea8887f61fee4a0e53c6f8fec5e Author: jacmet@sunsite.dk Date: Fri Sep 28 16:21:14 2007 +0200 [POWERPC] Fix mpc834x USB-MPH configuration. mpc834x USB-MPH configuration got broken by commit 6f442560021aecf08658e26ed9a37e6928ef0fa1. The selection bits in SICRL should be cleared rather than set to configure the USB MUXes for the MPH. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit d214602804a85e5da68b745ae69d9beaa5bedc93 Author: Jochen Friedrich Date: Mon Sep 24 19:15:43 2007 +0200 [POWERPC] Fix cpm_uart driver for cpm1 machines in cpm_uart_cpm1.h, DPRAM_BASE is assigned an address derived from cpmp. On ARC=ppc, this is a physical address with 1:1 DMA mapping which can't be used for arithmetric compare operations with virtual addresses returned by cpm_dpram_addr. This patch changes the assignment to use cpm_dpram_addr as well, like in cpm_uart_cpm2.h. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit bc63818931ea55c54d6e59b7d38bff8f295dc8c1 Author: Jochen Friedrich Date: Mon Sep 24 19:14:57 2007 +0200 [PPC] Fix cpm_dpram_addr returning phys mem instead of virt mem cpm_dpram_addr returns physical memory of the DP RAM instead of iomapped virtual memory. As there usually is a 1:1 MMU map of the IMMR area, this is often not noticed. However, cpm_dpram_phys assumes this iomapped virtual memory and returns garbage on the 1:1 mapped memory causing CPM1 uart console to fail. This patch fixes the problem (copied from the powerpc tree). Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit 83af919e0f239e87bc644a2c932b9cebf5771380 Author: Jochen Friedrich Date: Mon Sep 24 19:13:46 2007 +0200 [POWERPC] Fix copy'n'paste typo in commproc.c The powerpc version of commproc.c exports cpm_dpram_addr twice and cpm_dpram_phys not at all due to a typo. This patch fixes this problem. CC arch/powerpc/sysdev/commproc.o arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kcrctab_cpm_dpram_addr' arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kcrctab_cpm_dpram_addr' was here arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kstrtab_cpm_dpram_addr' arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kstrtab_cpm_dpram_addr' was here arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__ksymtab_cpm_dpram_addr' arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__ksymtab_cpm_dpram_addr' was here make[1]: *** [arch/powerpc/sysdev/commproc.o] Error 1 make: *** [arch/powerpc/sysdev] Error 2 Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit f4ec7f98714c2c0b7afa422c0cba6fb5c875c2c2 Author: Auke Kok Date: Thu Aug 30 11:23:58 2007 -0700 e1000: Add device IDs of blade version of the 82571 quad port This blade-specific board form factor is identical to the 82571EB board. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 88f5f0cad396be594d6d55cb2d0cd69e8df9ab16 Author: Stephen Hemminger Date: Thu Sep 27 12:38:12 2007 -0700 sky2: fix transmit state on resume This should fix http://bugzilla.kernel.org/show_bug.cgi?id=8667 After resume, driver has reset the chip so the current state of transmit checksum offload state machine and DMA state machine will be undefined. The fix is to set the state so that first Tx will set MSS and offset values. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit d6c9bc1ed4301cbc3df4565ff5348b64bf2a767c Author: Stephen Hemminger Date: Thu Sep 27 12:32:44 2007 -0700 sky2: FE+ vlan workaround The FE+ workaround means the driver can no longer trust the status register to indicate VLAN tagged frames. The fix for this is to just disable VLAN acceleration for that chip version. Tested and works fine. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3b12e0141f7a97c3b84731b5f935ed738bb6f960 Author: Stephen Hemminger Date: Wed Sep 26 17:58:47 2007 -0700 sky2: sky2 FE+ receive status workaround The Yukon FE+ chip appears to have a hardware glitch that causes bogus receive status values to be posted. The data in the packet is good, but the status value is random garbage. As a temporary workaround until the problem is better understood, implement the workaround the vendor driver used of ignoring the status value on this chip. Since this means trusting dodgy hardware values; add additional checking of the receive packet length. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e4a7b1d1d90d202a030688ab5b177c3c0f15ee3e Author: Dave Airlie Date: Fri Sep 28 11:46:28 2007 +1000 i915: make vbl interrupts work properly on i965g/gm hw. This code is ported from the DRM git tree and allows the vblank interrupts to function on the i965 hw. It also requires a change in Mesa's 965 driver to actually use them. [ Without this patch, my 965GM drops vblank interrupts - Jesse ] Signed-off-by: Dave Airlie Acked-by: Jesse Barnes Signed-off-by: Linus Torvalds commit 7d809ba3f98b8aa8f9ba0dcdf6349958a0b77b7b Author: Ralf Baechle Date: Tue Sep 11 08:50:40 2007 +0100 [MIPS] Fix CONFIG_BUILD_ELF64 kernels with symbols in CKSEG0. The __pa() for those did assume that all symbols have XKPHYS values and the math fails for any other address range. Signed-off-by: Ralf Baechle commit 6e351064b16914e4843248355288b777fa559947 Author: Ralf Baechle Date: Wed Sep 26 13:01:37 2007 +0100 [MIPS] IP32: Fix initialization of UART base addresses. Signed-off-by: Ralf Baechle commit e79ad711a0108475c1b3a03815527e7237020b08 Author: David S. Miller Date: Thu Sep 27 13:52:00 2007 -0700 [NET]: Zero length write() on socket should not simply return 0. This fixes kernel bugzilla #5731 It should generate an empty packet for datagram protocols when the socket is connected, for one. The check is doubly-wrong because all that a write() can be is a sendmsg() call with a NULL msg_control and a single entry iovec. No special semantics should be assigned to it, therefore the zero length check should be removed entirely. This matches the behavior of BSD and several other systems. Alan Cox notes that SuSv3 says the behavior of a zero length write on non-files is "unspecified", but that's kind of useless since BSD has defined this behavior for a quarter century and BSD is essentially what application folks code to. Based upon a patch from Stephen Hemminger. Signed-off-by: David S. Miller commit 9c908f97d0f9aee32fa6d4b0a44c4c5d0ccab2b0 Author: David S. Miller Date: Thu Sep 27 13:09:28 2007 -0700 [SPARC]: Fix EBUS use of uninitialized variable. If of_get_property() fails, it returns NULL and the 'len' parameter is undefined. So we need to explicitly set len to zero in such cases. Noticed by Al Viro. Signed-off-by: David S. Miller commit ff0ce6845bc18292e80ea40d11c3d3a539a3fc5e Author: Linus Torvalds Date: Wed Sep 26 15:52:17 2007 -0700 Revert "[PATCH] x86-64: fix x86_64-mm-sched-clock-share" This reverts commit 184c44d2049c4db7ef6ec65794546954da2c6a0e. As noted by Dave Jones: "Linus, please revert the above cset. It doesn't seem to be necessary (it was added to fix a miscompile in 'make allnoconfig' which doesn't seem to be repeatable with it reverted) and actively breaks the ARM SA1100 framebuffer driver." Requested-by: Dave Jones Cc: Russell King Cc: Andrew Morton Cc: Andi Kleen Signed-off-by: Linus Torvalds commit f7f847b01571e86044dc77e03d92f43699652f8d Author: Linus Torvalds Date: Wed Sep 26 15:21:33 2007 -0700 Revert "x86-64: Disable local APIC timer use on AMD systems with C1E" This reverts commit e66485d747505e9d960b864fc6c37f8b2afafaf0, since Rafael Wysocki noticed that the change only works for his in -mm, not in mainline (and that both "noapictimer" _and_ "apicmaintimer" are broken on his hardware, but that's apparently not a regression, just a symptom of the same issue that causes the automatic apic timer disable to not work). It turns out that it really doesn't work correctly on x86-64, since x86-64 doesn't use the generic clock events for timers yet. Thanks to Rafal for testing, and here's the ugly details on x86-64 as per Thomas: "I just looked into the code and the logic vs. noapictimer on SMP is completely broken. On i386 the noapictimer option not only disables the local APIC timer, it also registers the CPUs for broadcasting via IPI on SMP systems. The x86-64 code uses the broadcast only when the local apic timer is active, i.e. "noapictimer" is not on the command line. This defeats the whole purpose of "noapictimer". It should be there to make boxen work, where the local APIC timer actually has a hardware problem, e.g. the nx6325. The current implementation of x86_64 only fixes the ACPI c-states related problem where the APIC timer stops in C3(2), nothing else. On nx6325 and other AMD X2 equipped systems which have the C1E enabled we run into the following: PIT keeps jiffies (and the system) running, but the local APIC timer interrupts can get out of sync due to this C1E effect. I don't think this is a critical problem, but it is wrong nevertheless. I think it's safe to revert the C1E patch and postpone the fix to the clock events conversion." On further reflection, Thomas noted: "It's even worse than I thought on the first check: "noapictimer" on the command line of an SMP box prevents _ONLY_ the boot CPU apic timer from being used. But the secondary CPU is still unconditionally setting up the APIC timer and uses the non calibrated variable calibration_result, which is of course 0, to setup the APIC timer. Wreckage guaranteed." so we'll just have to wait for the x86 merge to hopefully fix this up for x86-64. Tested-and-requested-by: Rafael J. Wysocki Acked-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 2efa33f81ef56e7700c09a3d8a881c96692149e5 Author: H. Peter Anvin Date: Wed Sep 26 14:11:43 2007 -0700 [x86 setup] Handle case of improperly terminated E820 chain At least one system (a Geode system with a Digital Logic BIOS) has been found which suddenly stops reporting the SMAP signature when reading the E820 memory chain. We can't know what, exactly, broke in the BIOS, so if we detect this situation, declare the E820 data unusable and fall back to E801. Also, revert to original behavior of always probing all memory methods; that way all the memory information is available to the kernel. Signed-off-by: H. Peter Anvin Cc: Jordan Crouse Cc: Joerg Pommnitz commit df912ea4ae7233d1504fbd861ee127bd7ee5781d Author: Jeremy Fitzhardinge Date: Tue Sep 25 11:50:00 2007 -0700 xen: execve's error paths don't pin the mm before unpinning execve's error paths don't activate (and therefore pin) the mm before calling exit_mmap to free it up, so don't try to unpin unless it is actually pinned. This prevents a BUG_ON from triggering. Signed-off-by: Jeremy Fitzhardinge Cc: Christian Ostheimer Signed-off-by: Linus Torvalds commit e66485d747505e9d960b864fc6c37f8b2afafaf0 Author: Thomas Gleixner Date: Tue Sep 25 21:37:01 2007 +0200 x86-64: Disable local APIC timer use on AMD systems with C1E commit 3556ddfa9284a86a59a9b78fe5894430f6ab4eef titled [PATCH] x86-64: Disable local APIC timer use on AMD systems with C1E solves a problem with AMD dual core laptops e.g. HP nx6325 (Turion 64 X2) with C1E enabled: When both cores go into idle at the same time, then the system switches into C1E state, which is basically the same as C3. This stops the local apic timer. This was debugged right after the dyntick merge on i386 and despite the patch title it fixes only the 32 bit path. x86_64 is still missing this fix. It seems that mainline is not really affected by this issue, as the PIT is running and keeps jiffies incrementing, but that's just waiting for trouble. -mm suffers from this problem due to the x86_64 high resolution timer patches. This is a quick and dirty port of the i386 code to x86_64. I spent quite a time with Rafael to debug the -mm / hrt wreckage until someone pointed us to this. I really had forgotten that we debugged this half a year ago already. Sigh, is it just me or is there something yelling arch/x86 into my ear? Signed-off-by: Thomas Gleixner Tested-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 3dffec45c2742961dd27f55aba426cb9cf3f0dcd Author: S.Çağlar Onur Date: Wed Sep 26 12:15:33 2007 +0300 Silent drivers/char/hpet.c build warnings on i386 Following patch silents; ... drivers/char/hpet.c:72: warning: 'clocksource_hpet' defined but not used drivers/char/hpet.c:81: warning: 'hpet_clocksource' defined but not used ... build warnings on i386, they appeared after commit 3b2b64fd311c92f2137eb7cee7025794cd854057 Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds -- drivers/char/hpet.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 255129d1e9ca0ed3d69d5517fae3e03d7ab4b806 Author: Trond Myklebust Date: Tue Sep 25 15:55:03 2007 -0400 NLM: Fix a circular lock dependency in lockd The problem is that the garbage collector for the 'host' structures nlm_gc_hosts(), holds nlm_host_mutex while calling down to nlmsvc_mark_resources, which, eventually takes the file->f_mutex. We cannot therefore call nlmsvc_lookup_host() from within nlmsvc_create_block, since the caller will already hold file->f_mutex, so the attempt to grab nlm_host_mutex may deadlock. Fix the problem by calling nlmsvc_lookup_host() outside the file->f_mutex. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit f6a592e8abd2f2394623ce5427cbb4c265495974 Author: Chris Malley Date: Wed Sep 26 14:19:18 2007 +1000 lguest example launcher truncates block device file to 0 length on problems The function should also use ftruncate64() rather than ftruncate() to prevent files over 4GB (not uncommon for a root filesystem) being zeroed. Signed-off-by: Chris Malley Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 78bd8fbbcd66fc977baa40e7fd838a4461b0f727 Author: Al Viro Date: Wed Sep 26 01:54:32 2007 +0100 fix sctp_del_bind_addr() last argument type It gets pointer to fastcall function, expects a pointer to normal one and calls the sucker. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 459685c75b82a0431da102365d507fdb72858b84 Author: Al Viro Date: Wed Sep 26 01:54:12 2007 +0100 hibernation doesn't even build on frv - tons of helpers are missing Signed-off-by: Al Viro Acked-By: David Howells Signed-off-by: Linus Torvalds commit d8c4a2f9d9e7827362fd7ab0b5d9637c6af5ac5b Author: Al Viro Date: Wed Sep 26 01:53:52 2007 +0100 mv643xx_eth: duplicate methods in initializer Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ed4d6375a1498009a9e68d93661207351d36874f Author: Al Viro Date: Wed Sep 26 01:53:42 2007 +0100 usbvision-video: buggered method tables duplicated .mmap in one, .vidioc_s_audio misspelled as .vidioc_g_audio in other Signed-off-by: Al Viro Acked-by: Mauro Carvalho Chehab Signed-off-by: Linus Torvalds commit 5309809129ca3ab14f8bd5e5ef66c1b7686eb639 Author: Linus Torvalds Date: Wed Sep 26 09:16:21 2007 -0700 Add explicit zeroing to "envp" array in device 'show' method As Stephen Hemminger says, this is a "belt and suspenders" patch that zeroes the envp array at allocation time, even though all the users should NULL-terminate it anyway (and we've hopefully fixed everybody that doesn't do that). And we'll apparently clean the whole envp thing up for 2.6.24 anyway. But let's just be robust, and do both this *and* make sure that all users are doing the right thing. Acked-by: Stephen Hemminger Acked-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 603c461250b223ac42c10b8d1df653af1a361d44 Author: Jeremy Kerr Date: Wed Sep 26 10:53:45 2007 +1000 [POWERPC] spufs: fix mismerge, making context signal{1,2} files readable again The commit 8b6f50ef1d5cc86b278eb42bc91630fad455fb10 seems to have been affected by a mismerge of a duplicate patch (d054b36ffd302ec65aabec16a0c60ddd9e6b5a62) - both the spufs_dir_contents and spufs_dir_nosched_contents have been given write-only signal notification files. This change reverts the spufs_dir_contents array to use the readable signal notification file implementation. Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ae3ba4fd966e38d8d766d19f7a58b551df8ecc97 Author: Al Viro Date: Wed Sep 26 08:20:44 2007 +0200 cdrom_open() forgets to unlock on -EROFS failure exits Signed-off-by: Al Viro Signed-off-by: Jens Axboe commit 45dfd5b5dd20f17fe23dafc5cfe921474d27f849 Author: Michal Schmidt Date: Tue Sep 25 23:05:39 2007 -0700 [PPP_MPPE]: Don't put InterimKey on the stack Signed-off-by: Michal Schmidt Signed-off-by: David S. Miller commit 6f4c618ddb0e6b7e6d49cfc8134e694be1c0bc9b Author: Wei Yongjun Date: Wed Sep 19 17:19:52 2007 +0800 SCTP : Add paramters validity check for ASCONF chunk If ADDIP is enabled, when an ASCONF chunk is received with ASCONF paramter length set to zero, this will cause infinite loop. By the way, if an malformed ASCONF chunk is received, will cause processing to access memory without verifying. This is because of not check the validity of parameters in ASCONF chunk. This patch fixed this. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 3c77f961b55b6060858c68a213d7f4470d7f3eb2 Author: Vlad Yasevich Date: Mon Sep 17 15:14:28 2007 -0400 SCTP: Discard OOTB packetes with bundled INIT early. RFC 4460 and future RFC 4960 (2960-bis) specify that packets with bundled INIT chunks need to be dropped. We currenlty do that only after processing any leading chunks. For OOTB chunks, since we already walk the entire packet, we should discard packets with bundled INITs. There are other chunks chunks that MUST NOT be bundled, but the spec is silent on theire treatment. Thus, we'll leave their teatment alone for the moment. Signed-off-by: Vlad Yasevich Acked-by: Wei Yongjun commit ece25dfa0991f65c4e1d26beb1c3c45bda4239b8 Author: Vlad Yasevich Date: Fri Sep 7 16:30:54 2007 -0400 SCTP: Clean up OOTB handling and fix infinite loop processing While processing OOTB chunks as well as chunks with an invalid length of 0, it was possible to SCTP to get wedged inside an infinite loop because we didn't catch the condition correctly, or didn't mark the packet for discard correctly. This work is based on original findings and work by Wei Yongjun Signed-off-by: Vlad Yasevich commit d3f259687fd248aa4de477149481478c122ba48b Author: Vlad Yasevich Date: Fri Sep 7 11:47:45 2007 -0400 SCTP: Explicitely discard OOTB chunks Explicitely discard OOTB chunks, whether the result is a SHUTDOWN COMPLETE or an ABORT. We need to discard the OOTB SHUTDOWN ACK to prevent bombing attackes since responsed MUST NOT be bundled. We also explicietely discard in the ABORT case since that function is widely used internally. Signed-off-by: Vlad Yasevich Acked-by: Neil Horman commit 02c4e12c6400b6dccdc6b5c2c18325551e4b2dc9 Author: Wei Yongjun Date: Fri Aug 31 10:03:58 2007 +0800 SCTP: Send ABORT chunk with correct tag in response to INIT ACK When SCTP client received an INIT ACK chunk with missing mandatory parameter such as "cookie parameter", it will send back a ABORT with T-bit not set and verification tag is set to 0. This is because before we accept this INIT ACK chunk, we do not know the peer's tag. This patch change to reflect vtag when responding to INIT ACK with missing mandatory parameter. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a09c83847b664dcd67a72613374061c900afb799 Author: Vlad Yasevich Date: Wed Sep 5 15:53:58 2007 -0400 SCTP: Validate buffer room when processing sequential chunks When we process bundled chunks, we need to make sure that the skb has the buffer for each header since we assume it's always there. Some malicious node can send us something like DATA + 2 bytes and we'll try to walk off the end refrencing potentially uninitialized memory. Signed-off-by: Vlad Yasevich commit ca9938fea576ebbb8d8c4fbe8a5bcc937e49e1ca Author: Johannes Berg Date: Tue Sep 11 12:50:32 2007 +0200 [PATCH] mac80211: fix initialisation when built-in When mac80211 is built into the kernel it needs to init earlier so that device registrations are run after it has initialised. The same applies to rate control algorithms. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 136e83d6b8999f4ef680ff9cf2a67e1e1ccbd94e Author: Johannes Berg Date: Mon Sep 10 13:55:08 2007 +0200 [PATCH] net/mac80211/wme.c: fix sparse warning wme.c triggers a sparse warning; it wasn't noticed before because until recently ARRAY_SIZE triggered a sparse error. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3a4624652e68ee897145ac698a85bfd2603367c3 Author: Johannes Berg Date: Mon Sep 10 13:44:45 2007 +0200 [PATCH] cfg80211: fix initialisation if built-in When cfg80211 is built into the kernel it needs to init earlier so that device registrations are run after it has initialised. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7b5ee3a038c869e773092834abaa8174e0d77514 Author: Satyam Sharma Date: Mon Sep 3 01:41:34 2007 +0530 [PATCH] net/wireless/sysfs.c: Shut up build warning net/wireless/sysfs.c:108: warning: ‘wiphy_uevent’ defined but not used when CONFIG_HOTPLUG=n is because the only usage site of this function is #ifdef'ed as such, so let's #ifdef the definition also. Signed-off-by: Satyam Sharma Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 744551cceb73acd62189cb4afe0a336b2c9684d8 Author: Thomas Bogendoerfer Date: Tue Sep 25 22:49:37 2007 -0700 [SUNSAB]: Fix broken SYSRQ. Include SYSRQ support for SUNSAB if SUNSAB_CONSOLE is selected Signed-off-by: Thomas Bogendoerfer Signed-off-by: David S. Miller commit ff4abd6cfacf0bb23a077f615d3a5cd17359db1b Author: David Miller Date: Fri Aug 24 22:25:58 2007 -0700 [SCSI] esp: fix instance numbering. Because the ->unique_id is set too late, the ESP scsi host instance numbers in the kernel log during probing are wrong. Bug reported by Meelis Roos. Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit edeb614c1c8388b354d93ff7790317cc5d6a38ec Author: Tejun Heo Date: Fri Sep 21 16:29:05 2007 +0900 pata_sis: add missing UDMA5 timing value in sis_66_set_dmamode() sis_66_set_dmamode() also handles early UDMA100 (SIS630 ET) but is missing udma timing value for UDMA100. According to sis5513, this should be 0x8000. This caused UDMA100 device to fail on pata_sis till it downgrades to UDMA66 while it works fine on sis5513 at UDMA100. Reported by Adam Blech. Signed-off-by: Tejun Heo Cc: Adam Blech Signed-off-by: Jeff Garzik commit 228f47b959a0cf2e24c9696757c7e6510334e499 Author: Tejun Heo Date: Sun Sep 23 12:37:05 2007 +0900 sata_sil24: fix IRQ clearing race when PCIX_IRQ_WOC is used When PCIX_IRQ_WOC is used, sil24 has an inherent race condition between clearing IRQ pending and reading IRQ status. If IRQ pending is cleared after reading IRQ status, there's possibility of lost IRQ. If IRQ pending is cleared before reading IRQ status, spurious IRQs will occur. sata_sil24 till now cleared IRQ pending after reading IRQ status thus losing IRQs on machines where PCIX_IRQ_WOC was used. Reverse the order and ignore spurious IRQs if PCIX_IRQ_WOC. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 78e1ca49c7ead5cd00882ed0c776260857613122 Author: Zhao Yakui Date: Thu Sep 20 21:23:13 2007 -0400 ACPI: hpet: ACPI Error (utglobal-0126): Unknown exception code: 0xFFFFFFF0 If hpet has been initialized before registering hpet driver, the callback function of hpet_resources will return the status code of -EBUSY, which is not defined in the ACPI exception table. So when ACPI checks the status code of callback function, it will report the unknown exception code. So the status code in ACPI is used instead of the generic error code in the ACPI callback function of hpet_resources. For example: -EBUSY is replaced by AE_ALREADY_EXISTS -EINVAL is replaced by AE_NO_MEMORY http://bugzilla.kernel.org/show_bug.cgi?id=8630 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 853298bc03ef65e3eb392f5d61265605214ee8fb Author: Alexey Starikovskiy Date: Tue Sep 25 18:45:15 2007 +0400 ACPI: CONFIG_ACPI_SLEEP=n power off regression in 2.6.23-rc8 (NOT in rc7) Signed-off-by: Alexey Starikovskiy Acked-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 2f3f22269bdf702311342c5d106dfdd7347d1c3e Author: Alexey Starikovskiy Date: Mon Sep 24 14:33:21 2007 +0200 ACPI: suspend: build-fix for CONFIG_SUSPEND=n and CONFIG_HIBERNATION=y This fixes compilation with CONFIG_SUSPEND unset and CONFIG_HIBERNATION set (raf. http://marc.info/?l=linux-acpi&m=119055289723895&w=4). Signed-off-by: Alexey Starikovskiy Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit bbbd2bf00bab467cff7b1f418b2cb24c71291f59 Author: Rusty Russell Date: Mon Sep 24 21:24:44 2007 -0700 fix modules oopsing in lguest guests The assembly templates for lguest guest patching are in the .init.text section. This means that modules get patched with "cc cc cc cc" or similar junk. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdfb870f8e34e77567043b388051df14f7d33482 Author: Danny ter Haar Date: Mon Sep 24 21:24:43 2007 -0700 typo fix Kernel config option Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1cf16c91605d051d36360f70858b06b103b4aed Author: Stephen Hemminger Date: Mon Sep 24 21:24:42 2007 -0700 missing null termination in one wire uevent Need to null terminate environment. Found by inspection while looking for similar problems to platform uevent bug Signed-off-by: Stephen Hemminger Cc: Greg Kroah-Hartman Acked-by: Evgeniy Polyakov Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afa684f6fda6086b229348f0ea21df7c8ad17964 Author: Cliff Wickman Date: Mon Sep 24 21:24:41 2007 -0700 fix "mspec: handle shrinking virtual memory areas" The vma_data structure may be shared by vma's from multiple tasks, with no way of knowing which areas are shared or not shared, so release/clear pages only when the refcount (of vma's) goes to zero. Signed-off-by: Cliff Wickman Cc: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9b7cba1b8a74c10b0771ca28d4c554aeb9803fc Author: Evgeniy Dushistov Date: Mon Sep 24 21:24:39 2007 -0700 ufs: fix sun state Different types of ufs hold state in different places, to hide complexity of this, there is ufs_get_fs_state, it returns state according to "UFS_SB(sb)->s_flags", but during mount ufs_get_fs_state is called, before setting s_flags, this cause message for ufs types like sun ufs: "fs need fsck", and remount in readonly state. Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 474f81967217f3bec2389ae913da72641f2c40e3 Author: Roland McGrath Date: Mon Sep 24 16:52:44 2007 -0700 [POWERPC] Ensure FULL_REGS on exec When PTRACE_O_TRACEEXEC is used, a ptrace call to fetch the registers at the PTRACE_EVENT_EXEC stop (PTRACE_PEEKUSR) will oops in CHECK_FULL_REGS. With recent versions, "gdb --args /bin/sh -c 'exec /bin/true'" and "run" at the (gdb) prompt is sufficient to produce this. I also have written an isolated test case, see https://bugzilla.redhat.com/show_bug.cgi?id=301791#c15. This change fixes the problem by clearing the low bit of pt_regs.trap in start_thread so that FULL_REGS is true again. This is correct since all of the GPRs that "full" refers to are cleared in start_thread. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 21c0f275085e5b884a409d75a7deb73ece6477fb Author: Jeff Garzik Date: Tue Sep 25 00:11:34 2007 -0400 Revert "drivers/net/pcmcia/3c589_cs: fix port configuration switcheroo" This reverts commit fadacb1b80e35e0b36a90d43e21ef91eec4b889b. The change being reverted made the driver consistent with include/linux/netdevice.h, but then inconsistent with the other PCMCIA ethernet drivers. Signed-off-by: Jeff Garzik commit cb560737676260ac15b68d426305ad5e755417ea Author: Thomas Rohwer Date: Tue Sep 25 00:06:25 2007 -0400 Input: appletouch - fix idle reset logic Idle count should only be incremented when touchpad button is not pressed, otherwise reset may happen at a wrong time and touchpad will never report button release event. Signed-off-by: Thomas Rohwer Acked-by: Matthew Garrett Signed-off-by: Dmitry Torokhov commit e0c281163d634e2982a81b55fc974a6663afde65 Author: Stephen Hemminger Date: Thu Sep 20 13:03:49 2007 -0700 sky2: be more selective about FIFO watchdog Be more selective about when to enable the ram buffer watchdog code. It is unnecessary on XL A3 or later revs, and with Yukon FE the buffer is so small (4K) that the watchdog detects false positives. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 6d3105d5388c359882068b161b431ab3db4b3721 Author: Stephen Hemminger Date: Mon Sep 24 19:34:51 2007 -0700 sky2: FE+ Phy initialization One more snippet of PHY initialization required for FE+ chips. Discovered in latest sk98lin 10.21.1.3 driver. Please apply to 2.6.23. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 4942de4a0e914f205d351a81873f4f63986bcc3c Author: Linus Torvalds Date: Mon Sep 24 17:33:10 2007 -0700 Linux 2.6.23-rc8 Getting there... commit e4d84909dd48b5e5806a5d18b881e1ca1610ba9b Author: Dan Williams Date: Mon Sep 24 10:06:13 2007 -0700 raid5: fix 2 bugs in ops_complete_biofill 1/ ops_complete_biofill tried to avoid calling handle_stripe since all the state necessary to return read completions is available. However the process of determining whether more read requests are pending requires locking the stripe (to block add_stripe_bio from updating dev->toead). ops_complete_biofill can run in tasklet context, so rather than upgrading all the stripe locks from spin_lock to spin_lock_bh this patch just unconditionally reschedules handle_stripe after completing the read request. 2/ ops_complete_biofill needlessly qualified processing R5_Wantfill with dev->toread. The result being that the 'biofill' pending bit is cleared before handling the pending read-completions on dev->read. R5_Wantfill can be unconditionally handled because the 'biofill' pending bit prevents new R5_Wantfill requests from being seen by ops_run_biofill and ops_complete_biofill. Found-by: Yuri Tikhonov [neilb@suse.de: simpler fix for bug 1 than moving code] Signed-off-by: NeilBrown Signed-off-by: Dan Williams commit 6247cdc2cd334dad0ea5428245a7d8f4b075f21e Author: Dan Williams Date: Fri Sep 21 13:27:04 2007 -0700 async_tx: fix dma_wait_for_async_tx Fix dma_wait_for_async_tx to not loop forever in the case where a dependency chain is longer than two entries. This condition will not happen with current in-kernel drivers, but fix it for future drivers. Found-by: Saeed Bishara Signed-off-by: Dan Williams commit c5d2b9f444b8d9f5ad7c5e583686c119ba3a9ba7 Author: Dan Williams Date: Thu Sep 20 15:49:08 2007 -0700 async_tx: usage documentation and developer notes (v2) Changes in v2: * cleanups from Randy and Shannon Reviewed-by: Randy Dunlap Reviewed-by: Shannon Nelson Signed-off-by: Dan Williams commit 1146fe30504a1edd8a434f500e1be139492570c9 Author: Ralf Baechle Date: Fri Sep 21 17:13:55 2007 +0100 [MIPS] SMTC: Make ack_bad_irq() safe with no IM backstop. Issue reported and original patch by Kevin Kissel, cleaner (imho) implementation by me. Signed-off-by: Ralf Baechle commit ccec6e2c4a74adf76ed4e2478091a311b1806212 Author: Takashi Iwai Date: Mon Sep 17 21:55:10 2007 +0200 Convert snd-page-alloc proc file to use seq_file Use seq_file for the proc file read/write of snd-page-alloc module. This automatically fixes bugs in the old proc code. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 6e694ea33e7a7fad908d188c46f441f04fb633d4 Author: Jack Morgenstein Date: Wed Sep 19 09:52:25 2007 -0700 IB/mlx4: Fix data corruption triggered by wrong headroom marking order This is an addendum to commit 0e6e7416 ("IB/mlx4: Handle new FW requirement for send request prefetching"). We also need to handle prefetch marking properly for S/G segments, or else the HCA may end up processing S/G segments that are not fully written and end up sending the wrong data. This can actually cause data corruption in practice, especially on systems with relatively slow CPUs (where the HCA is more likely to prefetch while the CPU is in the middle of writing a work request into memory). We write S/G segments in reverse order into the WQE, in order to guarantee that the first dword of all cachelines containing S/G segments is written last (overwriting the headroom invalidation pattern). The entire cacheline will thus contain valid data when the invalidation pattern is overwritten. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit b7e113dc9d52c4a37d2da6fafe77959f3a28eccf Author: Thomas Gleixner Date: Sat Sep 22 22:29:06 2007 +0000 clockevents: remove the suspend/resume workaround^Wthinko In a desparate attempt to fix the suspend/resume problem on Andrews VAIO I added a workaround which enforced the broadcast of the oneshot timer on resume. This was actually resolving the problem on the VAIO but was just a stupid workaround, which was not tackling the root cause: the assignement of lower idle C-States in the ACPI processor_idle code. The cpuidle patches, which utilize the dynamic tick feature and go faster into deeper C-states exposed the problem again. The correct solution is the previous patch, which prevents lower C-states across the suspend/resume. Remove the enforcement code, including the conditional broadcast timer arming, which helped to pamper over the real problem for quite a time. The oneshot broadcast flag for the cpu, which runs the resume code can never be set at the time when this code is executed. It only gets set, when the CPU is entering a lower idle C-State. Signed-off-by: Thomas Gleixner Tested-by: Andrew Morton Cc: Len Brown Cc: Venkatesh Pallipadi Cc: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit b04e7bdb984e3b7f62fb7f44146a529f88cc7639 Author: Thomas Gleixner Date: Sat Sep 22 22:29:05 2007 +0000 ACPI: disable lower idle C-states across suspend/resume device_suspend() calls ACPI suspend functions, which seems to have undesired side effects on lower idle C-states. It took me some time to realize that especially the VAIO BIOSes (both Andrews jinxed UP and my elfstruck SMP one) show this effect. I'm quite sure that other bug reports against suspend/resume about turning the system into a brick have the same root cause. After fishing in the dark for quite some time, I realized that removing the ACPI processor module before suspend (this removes the lower C-state functionality) made the problem disappear. Interestingly enough the propability of having a bricked box is influenced by various factors (interrupts, size of the ram image, ...). Even adding a bunch of printks in the wrong places made the problem go away. The previous periodic tick implementation simply pampered over the problem, which explains why the dyntick / clockevents changes made this more prominent. We avoid complex functionality during the boot process and we have to do the same during suspend/resume. It is a similar scenario and equaly fragile. Add suspend / resume functions to the ACPI processor code and disable the lower idle C-states across suspend/resume. Fall back to the default idle implementation (halt) instead. Signed-off-by: Thomas Gleixner Tested-by: Andrew Morton Cc: Len Brown Cc: Venkatesh Pallipadi Cc: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 36a740974129d7301054fa810adf22025896be78 Author: Avi Kivity Date: Sat Sep 22 14:43:45 2007 +0200 KVM: Fix virtualization menu help text What guest drivers? Cc: Jan Engelhardt Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit 0b95f22bd3b91c7114c6892bbfbb5a8576b27fbe Author: Bryan Wu Date: Sun Sep 23 00:51:32 2007 +0800 Blackfin arch: add some missing syscall When compiling the Blackfin kernel, checksyscalls.pl will report lots of missing syscalls warnings. This patch will add some missing syscalls which make sense on Blackfin arch After appling this patch, toolchain should be rebuilt. Then recompiling the kernel with the new toolchain. Signed-off-by: Bryan Wu commit 576bb9ced2d274446639d7fbeee7125e24daf012 Author: Andrew Morton Date: Wed Oct 3 23:43:57 2007 +0800 binfmt_flat: checkpatch fixing minimum support for the blackfin relocations Cc: Bernd Schmidt Cc: David McCullough Cc: Greg Ungerer Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Bryan Wu commit f9720205d1f847cb59e197e851b5276425363f6b Author: Bernd Schmidt Date: Wed Oct 3 23:41:43 2007 +0800 Binfmt_flat: Add minimum support for the Blackfin relocations Add minimum support for the Blackfin relocations, since we don't have enough space in each reloc. The idea is to store a value with one relocation so that subsequent ones can access it. Actually, this patch is required for Blackfin. Currently if BINFMT_FLAT is enabled, git-tree kernel will fail to compile. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu Cc: David McCullough Cc: Greg Ungerer Cc: Miles Bader Signed-off-by: Andrew Morton commit 2302827c95fe0f441025acd5133e532d2eef322b Author: James Bottomley Date: Sat Sep 22 08:40:09 2007 -0500 [SCSI] scsi_transport_spi: fix domain validation failure from incorrect width setting Domain Validation in the SPI transport class is failing on boxes with damaged cables (and failing to the extent that the box hangs). The problem is that the first test it does is a cable integrity test for wide transfers and if this fails, it turns the wide bit off. The problem is that the next set of tests it does turns wide back on again, with the result that it runs through the entirety of DV with a known bad setting and then hangs the system. The attached patch fixes the problem by physically nailing the wide setting to what it deduces it should be for the whole of Domain Validation. Signed-off-by: James Bottomley commit 5a50fe709d527f31169263e36601dd83446d5744 Author: Frans Pop Date: Thu Sep 20 22:27:44 2007 +0200 ACPI: suspend: consolidate handling of Sx states addendum Make the S0 state be always reported as supported Signed-off: Frans Pop Acked-by: Alexey Starikovskiy Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit da8f153e51290e7438ba7da66234a864e5d3e1c1 Author: Linus Torvalds Date: Fri Sep 21 12:09:41 2007 -0700 Revert "x86_64: Quicklist support for x86_64" This reverts commit 34feb2c83beb3bdf13535a36770f7e50b47ef299. Suresh Siddha points out that this one breaks the fundamental requirement that you cannot free page table pages before the TLB caches are flushed. The quicklists do not give the same kinds of guarantees that the mmu_gather structure does, at least not in NUMA configurations. Requested-by: Suresh Siddha Acked-by: Andi Kleen Cc: Andrew Morton Cc: Christoph Lameter Cc: Asit Mallick Cc: Tony Luck Signed-off-by: Linus Torvalds commit da51f9e10c48599bff498b378d040c4063adfe9d Author: Ralf Baechle Date: Fri Sep 21 09:01:15 2007 +0100 [MIPS] BCM1480: include . Signed-off-by: Ralf Baechle commit 339c3a6a12faf57c57a23f3d714ce89a831822fc Author: Ralf Baechle Date: Fri Sep 21 08:59:07 2007 +0100 [MIPS] BCM1480: Export zbbus_mhz. Symbol is required by the ZBus profiler. Signed-off-by: Ralf Baechle commit 176df2457ef6207156ca1a40991c54ca01fef567 Author: Andi Kleen Date: Fri Sep 21 16:16:18 2007 +0200 x86_64: Zero extend all registers after ptrace in 32bit entry path. Strictly it's only needed for eax. It actually does a little more than strictly needed -- the other registers are already zero extended. Also remove the now unnecessary and non functional compat task check in ptrace. This is CVE-2007-4573 Found by Wojciech Purczynski Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d59952d532ed8fc93ccb98186f73d9ce5cfcb93d Author: Jean Tourrilhes Date: Thu Sep 20 11:08:18 2007 -0700 [PATCH] WE : Add missing auth compat-ioctl Johannes just found that we are missing a compat-ioctl declaration. The fix is trivial. As previous patches for compat-ioctl, this should also go to stable. More info : http://marc.info/?l=linux-wireless&m=119029667902588&w=2 Signed-off-by: Jean Tourrilhes Signed-off-by: John W. Linville commit efe870f9f4ad74410a18ecbf0d9ba7c14b50a0fb Author: Larry Finger Date: Tue Sep 18 22:00:52 2007 -0500 [PATCH] softmac: Fix inability to associate with WEP networks Commit 4cf92a3c was submitted as a fix for bug #8686 at bugzilla.kernel.org (http://bugzilla.kernel.org/show_bug.cgi?id=8686). Unfortunately, the fix led to a new bug, reported by Yoshifuji Hideaki, that prevented association for WEP encrypted networks that use ifconfig to control the device. This patch effectively reverts the earlier commit and does a proper fix for bug #8686. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f216cc3748a3a22c2b99390fddcdafa0583791a2 Author: Alexey Starikovskiy Date: Thu Sep 20 21:32:35 2007 +0400 ACPI: suspend: consolidate handling of Sx states. Recent changes to sleep initialization in ACPI dropped reporting of supported Sx states above S3. Fix that and also move S5 init into same file as other Sx. The only functional change is adding printk() for S4 and S5 cases. Signed-off-by: Alexey Starikovskiy Acked-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 813d974c53a2b353566a86bb127625b403696dae Author: Sunil Mushran Date: Thu Sep 20 10:59:48 2007 -0700 ocfs2: Pack vote message and response structures The ocfs2_vote_msg and ocfs2_response_msg structs needed to be packed to ensure similar sizeofs in 32-bit and 64-bit arches. Without this, we had inadvertantly broken 32/64 bit cross mounts. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 5c26a7b70f89c36e8d9acc95cb896c3cd205fc8d Author: Mark Fasheh Date: Tue Sep 18 17:49:29 2007 -0700 ocfs2: Don't double set write parameters The target page offsets were being incorrectly set a second time in ocfs2_prepare_page_for_write(), which was causing problems on a 16k page size kernel. Additionally, ocfs2_write_failure() was incorrectly using those parameters instead of the parameters for the individual page being cleaned up. Signed-off-by: Mark Fasheh commit db56246c6980e376b02d2da568d119da71f82fb9 Author: Mark Fasheh Date: Mon Sep 17 09:06:29 2007 -0700 ocfs2: Fix pos/len passed to ocfs2_write_cluster This was broken for file systems whose cluster size is greater than page size. Pos needs to be incremented as we loop through the descriptors, and len needs to be capped to the size of a single cluster. Signed-off-by: Mark Fasheh commit 415cb800375cc4e89fb5a6a454e484bd4adbffb4 Author: Mark Fasheh Date: Sun Sep 16 20:10:16 2007 -0700 ocfs2: Allow smaller allocations during large writes The ocfs2 write code loops through a page much like the block code, except that ocfs2 allocation units can be any size, including larger than page size. Typically it's equal to or larger than page size - most kernels run 4k pages, the minimum ocfs2 allocation (cluster) size. Some changes introduced during 2.6.23 changed the way writes to pages are handled, and inadvertantly broke support for > 4k page size. Instead of just writing one cluster at a time, we now handle the whole page in one pass. This means that multiple (small) seperate allocations might happen in the same pass. The allocation code howver typically optimizes by getting the maximum which was reserved. This triggered a BUG_ON in the extend code where it'd ask for a single bit (for one part of a > 4k page) and get back more than it asked for. Fix this by providing a variant of the high level allocation function which allows the caller to specify a maximum. The traditional function remains and just calls the new one with a maximum determined from the initial reservation. Signed-off-by: Mark Fasheh commit ed2ba977d43a6031f78f9e49d739ef5094f512e4 Author: Stephen Hemminger Date: Thu Sep 20 12:06:10 2007 -0700 [PATCH] missing null termination in power supply uevent Need to null terminate environment. Found by inspection while looking for similar problems to platform uevent bug Signed-off-by: Stephen Hemminger commit b8fceee17a310f189188599a8fa5e9beaff57eb0 Author: Davide Libenzi Date: Thu Sep 20 12:40:16 2007 -0700 signalfd simplification This simplifies signalfd code, by avoiding it to remain attached to the sighand during its lifetime. In this way, the signalfd remain attached to the sighand only during poll(2) (and select and epoll) and read(2). This also allows to remove all the custom "tsk == current" checks in kernel/signal.c, since dequeue_signal() will only be called by "current". I think this is also what Ben was suggesting time ago. The external effect of this, is that a thread can extract only its own private signals and the group ones. I think this is an acceptable behaviour, in that those are the signals the thread would be able to fetch w/out signalfd. Signed-off-by: Davide Libenzi Signed-off-by: Linus Torvalds commit 9db619e66503494e41159de3c76fafabe80d016b Author: Wolfgang Walter Date: Thu Sep 20 15:51:46 2007 -0400 rpc: fix garbage in printk in svc_tcp_accept() we upgraded the kernel of a nfs-server from 2.6.17.11 to 2.6.22.6. Since then we get the message lockd: too many open TCP sockets, consider increasing the number of nfsd threads lockd: last TCP connect from ^\\236^\É^D These random characters in the second line are caused by a bug in svc_tcp_accept. (Note: there are two previous __svc_print_addr(sin, buf, sizeof(buf)) calls in this function, either of which would initialize buf correctly; but both are inside "if"'s and are not necessarily executed. This is less obvious in the second case, which is inside a dprintk(), which is a macro which expands to an if statement.) Signed-off-by: Wolfgang Walter Signed-off-by: J. Bruce Fields Signed-off-by: Linus Torvalds commit c69c0892d8dd68b01a9fced5cab8527f0698c15e Author: henry su Date: Thu Sep 20 16:07:33 2007 -0400 [libata] ahci: add ATI SB800 PCI IDs ATI/AMD SB800 shares some device IDs with SB700, and SB800 adds two more device IDs:0x4394,0x4395. Signed-off-by: henry su Signed-off-by: Jeff Garzik commit e1cc9de8361f267101402a1181cff4d3d3225a6d Author: Alan Cox Date: Thu Sep 20 15:03:07 2007 +0100 libata-sff: Fix documentation Code moved to ioread/iowrite but the comment didn't Also note a posting issue Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 0e3dbc01d53940fe10e5a5cfec15ede3e929c918 Author: Alan Cox Date: Thu Sep 20 15:22:47 2007 +0100 libata: Update the blacklist with a few more devices Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit faf60e72d07d163a623e47269680918fccaa789a Author: Stephen Hemminger Date: Wed Sep 19 15:36:47 2007 -0700 sky2: version 1.18 Update version number Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 75e806838a3327d4ca9030e588d34de11b04f341 Author: Stephen Hemminger Date: Wed Sep 19 15:36:46 2007 -0700 sky2: receive FIFO checking A driver writer from another operating system hinted that the versions of Yukon 2 chip with rambuffer (EC and XL) have a hardware bug that if the FIFO ever gets completely full it will hang. Sounds like a classic ring full vs ring empty wrap around bug. As a workaround, use the existing watchdog timer to check for ring full lockup. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 05745c4ab1c58fbb6ab8e8d3a40e0e395d7e2b0e Author: Stephen Hemminger Date: Wed Sep 19 15:36:45 2007 -0700 sky2: fe+ chip support Add support for newest Marvell chips. The Yukon FE plus chip is found in some not yet released laptops. Tested on hardware evaluation boards. This version of the patch is for 2.6.23. It supersedes the two previous patches that are sitting in netdev-2.6 (upstream branch). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ea76e63598eb312e5d33a782275be91038fc6df2 Author: Stephen Hemminger Date: Wed Sep 19 15:36:44 2007 -0700 sky2: reorganize chip revision features This patch should cause no functional changes in driver behaviour. There are (too) many revisions of the Yukon 2 chip now. Instead of adding more conditionals based on chip revision; rerganize into a set of feature flags so adding new versions is less problematic. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c99210b50fe741026d86fdcb5f3f5a0c00c503cc Author: Stephen Hemminger Date: Wed Sep 19 15:36:43 2007 -0700 sky2: ethtool speed report bug On 100mbit versions, the driver always reports gigabit speed available. The correct modes are already computed, then overwritten. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit d6532232cd3de79c852685823a9c52f723816d0a Author: Stephen Hemminger Date: Wed Sep 19 15:36:42 2007 -0700 sky2: fix VLAN receive processing (resend) The length check for truncated frames was not correctly handling the case where VLAN acceleration had already read the tag. Also, the Yukon EX has some features that use high bit of status as security tag. Signed-off-by: Pierre-Yves Ritschard Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit be7963b7e7f08a149e247c0bf29a4abd174e0929 Author: Stefan Richter Date: Thu Sep 20 21:17:33 2007 +0200 ieee1394: ohci1394: fix initialization if built non-modular Initialization of ohci1394 was broken according to one reporter if the driver was statically linked, i.e. not built as loadable module. Dmesg: PCI: Device 0000:02:07.0 not available because of resource collisions ohci1394: Failed to enable OHCI hardware. This was reported for a Toshiba Satellite 5100-503. The cause is commit 8df4083c5291b3647e0381d3c69ab2196f5dd3b7 in Linux 2.6.19-rc1 which only served purposes of early remote debugging via FireWire. This functionality is better provided by the currently out-of-tree driver ohci1394_earlyinit. Reversal of the commit was OK'd by Andi Kleen. Signed-off-by: Stefan Richter commit cd46171c7297739dc7e46d885862e98023eab9c7 Author: Michael Chan Date: Thu Sep 20 11:04:58 2007 -0700 [BNX2]: Add PHY workaround for 5709 A1. Add the DIS_EARLY_DAC PHY workaround for 5709 A1. Without it, link sometimes does not come up. Update version to 1.6.5. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f3d5e3a4155b6f42f6f6f0a2cc95ca0adbabe1af Author: Herbert Xu Date: Wed Sep 19 10:46:28 2007 -0700 [PPP] L2TP: Fix skb handling in pppol2tp_xmit This patch makes pppol2tp_xmit call skb_cow_head so that we don't modify cloned skb data. It also gets rid of skb2 we only need to preserve the original skb for congestion notification, which is only applicable for ppp_async and ppp_sync. The other semantic change made here is the removal of socket accounting for data tranmitted out of pppol2tp_xmit. The original code leaked any existing socket skb accounting. We could fix this by dropping the original skb owner. However, this is undesirable as the packet has not physically left the host yet. In fact, all other tunnels in the kernel do not account skb's passing through to their own socket. In partciular, ESP over UDP does not do so and it is the closest tunnel type to PPPoL2TP. So this patch simply removes the socket accounting in pppol2tp_xmit. The accounting still applies to control packets of course. I've also added a reminder that the outgoing checksum here doesn't work. I suppose existing deployments don't actually enable checksums. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7a70e39b6633ad85936b029463134ee2599600f1 Author: Herbert Xu Date: Tue Sep 18 13:18:42 2007 -0700 [PPP] L2TP: Fix skb handling in pppol2tp_recv_core The function pppol2tp_recv_core doesn't handle non-linear packets properly. It also fails to check the remote offset field. This patch fixes these problems. It also removes an unnecessary check on the UDP header which has already been performed by the UDP layer. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a14d6abc947a5504e8d0f934da57b5bc4cea59ca Author: Herbert Xu Date: Tue Sep 18 13:18:17 2007 -0700 [PPP] L2TP: Disallow non-UDP datagram sockets With the addition of UDP-Lite we need to refine the socket check so that only genuine UDP sockets are allowed through. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 21d0c83302fb742b7ffb6089d40196166102f5ed Author: Herbert Xu Date: Wed Sep 19 10:45:02 2007 -0700 [PPP] pppoe: Fix double-free on skb after transmit failure When I got rid of the second packet in __pppoe_xmit I created a double-free on the skb because of the goto abort on failure. This patch removes that. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5588b40d7c2bff75ee573ed42d1738c73ce24492 Author: Alexey Kuznetsov Date: Wed Sep 19 10:42:03 2007 -0700 [PKT_SCHED]: Fix 'SFQ qdisc crashes with limit of 2 packets' Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 1a03b81db96aeaac0276224f25c0701a1ba37318 Author: Patrick McHardy Date: Tue Sep 18 13:19:26 2007 -0700 [NETFILTER]: MAINTAINERS update Update netfilter list addresses and an old email address of myself. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 29c5d4afba51c71cfeadd3f74f3c42e064483fb0 Author: Eric Leblond Date: Tue Sep 18 13:07:15 2007 -0700 [NETFILTER]: nfnetlink_log: fix sending of multipart messages The following patch fixes the handling of netlink packets containing multiple messages. As exposed during netfilter workshop, nfnetlink_log was overwritten the message type of the last message (setting it to MSG_DONE) in a multipart packet. The consequence was libnfnetlink to ignore the last message in the packet. The following patch adds a supplementary message (with type MSG_DONE) af the end of the netlink skb. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6d0b842d3bf0cc027dcff57a89fb8a6b1fd610e1 Author: Linus Torvalds Date: Thu Sep 20 11:33:45 2007 -0700 Fix CRLF line endings in Documentation/input/iforce-protocol.txt Emil Medve points out that this documentation file uses CRLF line endings, which means that if you use [core] autocrlf=input (which makes sense if you ever develop under Windows, for example, or if you use other broken tools) in your git config, git will always complain about the file being dirty. This removes the bogus DOS line endings, and removes whitespace at the end of line. Cc: Emil Medve Signed-off-by: Linus Torvalds commit bbc15f46fe4dc2862325e2b4ba474a854162e1a1 Author: Paul Bolle Date: Mon Sep 10 23:39:02 2007 +0200 [x86 setup] Fix typo in arch/i386/boot/header.S There's an obvious typo in arch/i386/boot/header.S (in your linux-2.6-x86setup.git) that I noticed by just studying the code. Signed-off-by: Paul Bolle Signed-off-by: H. Peter Anvin commit 91c4b8cb5ab8cc3e8352739e35699c0487a6b6f3 Author: H. Peter Anvin Date: Thu Sep 13 14:16:37 2007 -0700 [acpi] Correct the decoding of video mode numbers in wakeup.S wakeup.S looks at the video mode number from the setup header and looks to see if it is a VESA mode. Unfortunately, the decoding is done incorrectly and it will attempt to frob the VESA BIOS for any mode number 0x0200 or larger. Correct this, and remove a bunch of #if 0'd code. Massive thanks to Jeff Chua for reporting the bug, and suffering though a large number of experiments in order to track this problem down. Cc: Pavel Machek Signed-off-by: H. Peter Anvin commit 3f662b3f6e422a15fefcbaf4bdd21f97e6bcf32d Author: H. Peter Anvin Date: Thu Sep 13 14:14:29 2007 -0700 [x86 setup] Present the canonical video mode number to the kernel Canonicalize the video mode number as presented to the kernel. The video mode number may be user-entered (e.g. ASK_VGA), an alias (e.g. NORMAL_VGA), or a size specification, and that confuses the suspend wakeup code. Signed-off-by: H. Peter Anvin commit 1bc5858d0d40e07697b5eda47ed8628b8a934235 Author: Christoph Hellwig Date: Wed Sep 19 15:27:30 2007 +1000 [XFS] fix valid but harmless sparse warning The new xlog_recover_do_reg_buffer checks call be16_to_cpu on di_gen which is a 32bit value so sparse rightly complains. Fortunately the warning is harmless because we don't care for the value, but only whether it's non-NULL. Due to that fact we can simply kill the endian swaps on this and the previous di_mode check entirely. SGI-PV: 969656 SGI-Modid: xfs-linux-melb:xfs-kern:29709a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit bcc7b445eff295664a3a3ab14e742b3c9d88e6e3 Author: Eric Sandeen Date: Thu Aug 30 17:21:38 2007 +1000 [XFS] fix filestreams on 32-bit boxes xfs_filestream_mount() sets up an mru cache with: err = xfs_mru_cache_create(&mp->m_filestream, lifetime, grp_count, (xfs_mru_cache_free_func_t)xfs_fstrm_free_func); but that cast is causing problems... typedef void (*xfs_mru_cache_free_func_t)(unsigned long, void*); but: void xfs_fstrm_free_func( xfs_ino_t ino, fstrm_item_t *item) so on a 32-bit box, it's casting (32, 32) args into (64, 32) and I assume it's getting garbage for *item, which subsequently causes an explosion. With this change the filestreams xfsqa tests don't oops on my 32-bit box. SGI-PV: 967795 SGI-Modid: xfs-linux-melb:xfs-kern:29510a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 8742bc92c36324ac4bac739ab413acc6630a875d Author: Herbert Valerio Riedel Date: Sun Sep 16 16:44:39 2007 +0100 [ARM] 4569/1: ep93xx_gpio_irq_type(): fix spurious enumeration offset for FGPIO handling The EP93XX_GPIO_LINE_F() macro is supposed to be called with a line number between 0 and 7, but the current code causes it to get called with an spuriously offset number range {16..23}. Signed-off-by: Herbert Valerio Riedel Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 680e9fe9d69ea86e81c859932bfd751be91cc0e0 Author: Domen Puncer Date: Mon Sep 17 22:21:40 2007 +0200 phy: export phy_mii_ioctl Export phy_mii_ioctl, so network drivers can use it when built as modules too. Signed-off-by: Domen Puncer Signed-off-by: Jeff Garzik commit 81cfe79b9c577139a873483654640eb3f6e78c39 Author: Linus Torvalds Date: Wed Sep 19 16:01:13 2007 -0700 Linux 2.6.23-rc7 commit 31e879309474d1666d645b96de99d0b682fa055f Author: Eric Paris Date: Wed Sep 19 17:19:12 2007 -0400 SELinux: fix array out of bounds when mounting with selinux options Given an illegal selinux option it was possible for match_token to work in random memory at the end of the match_table_t array. Note that privilege is required to perform a context mount, so this issue is effectively limited to root only. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 9c95e7319ba98585ebb6d304eca2d56f401ed70c Author: Hiroshi Shimamoto Date: Wed Sep 19 23:34:46 2007 +0200 sched: fix invalid sched_class use When using rt_mutex, a NULL pointer dereference is occurred at enqueue_task_rt. Here is a scenario; 1) there are two threads, the thread A is fair_sched_class and thread B is rt_sched_class. 2) Thread A is boosted up to rt_sched_class, because the thread A has a rt_mutex lock and the thread B is waiting the lock. 3) At this time, when thread A create a new thread C, the thread C has a rt_sched_class. 4) When doing wake_up_new_task() for the thread C, the priority of the thread C is out of the RT priority range, because the normal priority of thread A is not the RT priority. It makes data corruption by overflowing the rt_prio_array. The new thread C should be fair_sched_class. The new thread should be valid scheduler class before queuing. This patch fixes to set the suitable scheduler class. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 1799e35d5baab6e06168b46cc78b968e728ea3d1 Author: Ingo Molnar Date: Wed Sep 19 23:34:46 2007 +0200 sched: add /proc/sys/kernel/sched_compat_yield add /proc/sys/kernel/sched_compat_yield to make sys_sched_yield() more agressive, by moving the yielding task to the last position in the rbtree. with sched_compat_yield=0: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2539 mingo 20 0 1576 252 204 R 50 0.0 0:02.03 loop_yield 2541 mingo 20 0 1576 244 196 R 50 0.0 0:02.05 loop with sched_compat_yield=1: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2584 mingo 20 0 1576 248 196 R 99 0.0 0:52.45 loop 2582 mingo 20 0 1576 256 204 R 0 0.0 0:00.00 loop_yield Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit a07bc1ffaeee9f05490193f66915ac086c6ea5c9 Author: Brice Goglin Date: Fri Sep 14 00:40:14 2007 +0200 myri10ge: Add support for PCI device id 9 Add support for new Myri-10G boards with PCI device id 9. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit d78ae2dcc2acebb9a1048278f47f762c069db75c Author: Francois Romieu Date: Sun Aug 26 20:08:19 2007 +0200 r8169: workaround against ignored TxPoll writes (8168) The 8168 ignores the requests to fetch the Tx descriptors when the relevant TxPoll bit is already set. It easily kills the performances of the 8168. David Gundersen has noticed that it is enough to wait for the completion of the DMA transfer (NPQ bit is cleared) before writing the TxPoll register again. The extra IO traffic added by the proposed workaround could be minimalized but it is not a high-priority task. Fix for: http://bugzilla.kernel.org/show_bug.cgi?id=7924 http://bugzilla.kernel.org/show_bug.cgi?id=8688 (http://bugzilla.kernel.org/show_bug.cgi?id=7555 ?) Signed-off-by: Francois Romieu Cc: David Gundersen Cc: Edward Hsu commit 65d916d95314566f426cc40ff0f17b754a773b0b Author: Edward Hsu Date: Fri Aug 17 10:14:36 2007 +0200 r8169: correct phy parameters for the 8110SC The phys of the 8110SC (RTL_GIGA_MAC_VER_{05/06}) act abnormally in gigabit mode if they are applied the parameters in rtl8169_hw_phy_config which actually aim the 8110S/SB. It is ok to return early from rtl8169_hw_phy_config as it does not apply to the 8101 and 8168 families. Signed-off-by: Edward Hsu Signed-off-by: Francois Romieu commit dbe3ed1c078c193be34326728d494c5c4bc115e2 Author: Linus Torvalds Date: Wed Sep 19 11:37:14 2007 -0700 x86-64: page faults from user mode are always user faults Randy Dunlap noticed an interesting "crashme" behaviour on his dual Prescott Xeon setup, where he gets page faults with the error code having a zero "user" bit, but the register state points back to user mode. This may be a CPU microcode buglet triggered by some strange instruction pattern that crashme generates, and loading a microcode update seems to possibly have fixed it. Regardless, we really should trust the register state more than the error code, since it's really the register state that determines whether we can actually send a signal, or whether we're in kernel mode and need to oops/kill the process in the case of a page fault. Cc: Randy Dunlap Signed-off-by: Linus Torvalds commit 09abbcffb3ee63fb8712c008df0c6878860777b7 Author: Maciej W. Rozycki Date: Mon Sep 17 17:11:07 2007 +0100 [MIPS] cpu-bugs64.c: GCC 3.3 constraint workaround Add a workaround to address warnings generated on the "n" constraint by GCC 3.3 and below. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 68835999435e01311ab57f5556169ad2966b6828 Author: Maciej W. Rozycki Date: Mon Sep 17 16:58:18 2007 +0100 [MIPS] DEC: Initialise ioasic_ssr_lock Fix the definition of the ioasic_ssr_lock spinlock to include a proper initialisation. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 4f01a757e75f2a3cab2bab89c4176498963946b9 Author: Dmitry Torokhov Date: Tue Sep 18 22:46:50 2007 -0700 Driver core: fix deprectated sysfs structure for nested class devices Nested class devices used to have 'device' symlink point to a real (physical) device instead of a parent class device. When converting subsystems to struct device we need to keep doing what class devices did if CONFIG_SYSFS_DEPRECATED is Y, otherwise parts of udev break. Signed-off-by: Dmitry Torokhov Cc: Kay Sievers Acked-by: Greg KH Tested-by: Anssi Hannula Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 508a92741a105e2e3d466cd727fb73154ebf08de Author: Jeff Dike Date: Tue Sep 18 22:46:49 2007 -0700 uml: fix irqstack crash This patch fixes a crash caused by an interrupt coming in when an IRQ stack is being torn down. When this happens, handle_signal will loop, setting up the IRQ stack again because the tearing down had finished, and handling whatever signals had come in. However, to_irq_stack returns a mask of pending signals to be handled, plus bit zero is set if the IRQ stack was already active, and thus shouldn't be torn down. This causes a problem because when handle_signal goes around the loop, sig will be zero, and to_irq_stack will duly set bit zero in the returned mask, faking handle_signal into believing that it shouldn't tear down the IRQ stack and return thread_info pointers back to their original values. This will eventually cause a crash, as the IRQ stack thread_info will continue pointing to the original task_struct and an interrupt will look into it after it has been freed. The fix is to stop passing a signal number into to_irq_stack. Rather, the pending signals mask is initialized beforehand with the bit for sig already set. References to sig in to_irq_stack can be replaced with references to the mask. [akpm@linux-foundation.org: use UL] Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 480eccf9ae1073b87bb4fe118971fbf134a5bc61 Author: Lee Schermerhorn Date: Tue Sep 18 22:46:47 2007 -0700 Fix NUMA Memory Policy Reference Counting This patch proposes fixes to the reference counting of memory policy in the page allocation paths and in show_numa_map(). Extracted from my "Memory Policy Cleanups and Enhancements" series as stand-alone. Shared policy lookup [shmem] has always added a reference to the policy, but this was never unrefed after page allocation or after formatting the numa map data. Default system policy should not require additional ref counting, nor should the current task's task policy. However, show_numa_map() calls get_vma_policy() to examine what may be [likely is] another task's policy. The latter case needs protection against freeing of the policy. This patch adds a reference count to a mempolicy returned by get_vma_policy() when the policy is a vma policy or another task's mempolicy. Again, shared policy is already reference counted on lookup. A matching "unref" [__mpol_free()] is performed in alloc_page_vma() for shared and vma policies, and in show_numa_map() for shared and another task's mempolicy. We can call __mpol_free() directly, saving an admittedly inexpensive inline NULL test, because we know we have a non-NULL policy. Handling policy ref counts for hugepages is a bit trickier. huge_zonelist() returns a zone list that might come from a shared or vma 'BIND policy. In this case, we should hold the reference until after the huge page allocation in dequeue_hugepage(). The patch modifies huge_zonelist() to return a pointer to the mempolicy if it needs to be unref'd after allocation. Kernel Build [16cpu, 32GB, ia64] - average of 10 runs: w/o patch w/ refcount patch Avg Std Devn Avg Std Devn Real: 100.59 0.38 100.63 0.43 User: 1209.60 0.37 1209.91 0.31 System: 81.52 0.42 81.64 0.34 Signed-off-by: Lee Schermerhorn Acked-by: Andi Kleen Cc: Christoph Lameter Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f300d23674fa01ae747c66ce861d4ee6aebe8c Author: Pavel Emelyanov Date: Tue Sep 18 22:46:45 2007 -0700 Fix user namespace exiting OOPs It turned out, that the user namespace is released during the do_exit() in exit_task_namespaces(), but the struct user_struct is released only during the put_task_struct(), i.e. MUCH later. On debug kernels with poisoned slabs this will cause the oops in uid_hash_remove() because the head of the chain, which resides inside the struct user_namespace, will be already freed and poisoned. Since the uid hash itself is required only when someone can search it, i.e. when the namespace is alive, we can safely unhash all the user_struct-s from it during the namespace exiting. The subsequent free_uid() will complete the user_struct destruction. For example simple program #include char stack[2 * 1024 * 1024]; int f(void *foo) { return 0; } int main(void) { clone(f, stack + 1 * 1024 * 1024, 0x10000000, 0); return 0; } run on kernel with CONFIG_USER_NS turned on will oops the kernel immediately. This was spotted during OpenVZ kernel testing. Signed-off-by: Pavel Emelyanov Signed-off-by: Alexey Dobriyan Acked-by: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 735de2230f09741077a645a913de0a04b10208bf Author: Pavel Emelyanov Date: Tue Sep 18 22:46:44 2007 -0700 Convert uid hash to hlist Surprisingly, but (spotted by Alexey Dobriyan) the uid hash still uses list_heads, thus occupying twice as much place as it could. Convert it to hlist_heads. Signed-off-by: Pavel Emelyanov Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8a4821dca693867a7953104c1e3cc830eb9191f Author: Matthias Kaehlcke Date: Tue Sep 18 22:46:43 2007 -0700 kernel/user.c: Use list_for_each_entry instead of list_for_each kernel/user.c: Convert list_for_each to list_for_each_entry in uid_hash_find() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef2b02d3e617cb0400eedf2668f86215e1b0e6af Author: Eric Sandeen Date: Tue Sep 18 22:46:42 2007 -0700 ext34: ensure do_split leaves enough free space in both blocks The do_split() function for htree dir blocks is intended to split a leaf block to make room for a new entry. It sorts the entries in the original block by hash value, then moves the last half of the entries to the new block - without accounting for how much space this actually moves. (IOW, it moves half of the entry *count* not half of the entry *space*). If by chance we have both large & small entries, and we move only the smallest entries, and we have a large new entry to insert, we may not have created enough space for it. The patch below stores each record size when calculating the dx_map, and then walks the hash-sorted dx_map, calculating how many entries must be moved to more evenly split the existing entries between the old block and the new block, guaranteeing enough space for the new entry. The dx_map "offs" member is reduced to u16 so that the overall map size does not change - it is temporarily stored at the end of the new block, and if it grows too large it may be overwritten. By making offs and size both u16, we won't grow the map size. Also add a few comments to the functions involved. This fixes the testcase reported by hooanon05@yahoo.co.jp on the linux-ext4 list, "ext3 dir_index causes an error" Thanks to Andreas Dilger for discussing the problem & solution with me. Signed-off-by: Eric Sandeen Signed-off-by: Andreas Dilger Tested-by: Junjiro Okajima Cc: Theodore Ts'o Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e42601973b1bce1d2987f82159c1ebeaccc6b310 Author: Andrew Morton Date: Tue Sep 18 22:46:41 2007 -0700 disable sys_timerfd() for 2.6.23 There is still some confusion and disagreement over what this interface should actually do. So it is best that we disable it in 2.6.23 until we get that fully sorted out. (sys_timerfd() was present in 2.6.22 but it was apparently broken, so here we assume that nobody is using it yet). Cc: Michael Kerrisk Cc: Davide Libenzi Acked-by: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49af7ee181f4f516ac99eba85d3f70ed42cabe76 Author: Alexey Dobriyan Date: Tue Sep 18 22:46:40 2007 -0700 nfs: fix oops re sysctls and V4 support NFS unregisters sysctls only if V4 support is compiled in. However, sysctl table is not V4 specific, so unregister it always. Steps to reproduce: [build nfs.ko with CONFIG_NFS_V4=n] modrobe nfs rmmod nfs ls /proc/sys Unable to handle kernel paging request at ffffffff880661c0 RIP: [] proc_sys_readdir+0xd3/0x350 PGD 203067 PUD 207063 PMD 7e216067 PTE 0 Oops: 0000 [1] SMP CPU 1 Modules linked in: lockd nfs_acl sunrpc Pid: 3335, comm: ls Not tainted 2.6.23-rc3-bloat #2 RIP: 0010:[] [] proc_sys_readdir+0xd3/0x350 RSP: 0018:ffff81007fd93e78 EFLAGS: 00010286 RAX: ffffffff880661c0 RBX: ffffffff80466370 RCX: ffffffff880661c0 RDX: 00000000000014c0 RSI: ffff81007f3ad020 RDI: ffff81007efd8b40 RBP: 0000000000000018 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000001 R11: ffffffff802a8570 R12: ffffffff880661c0 R13: ffff81007e219640 R14: ffff81007efd8b40 R15: ffff81007ded7280 FS: 00002ba25ef03060(0000) GS:ffff81007ff81258(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: ffffffff880661c0 CR3: 000000007dfaf000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process ls (pid: 3335, threadinfo ffff81007fd92000, task ffff81007d8a0000) Stack: ffff81007f3ad150 ffffffff80283f30 ffff81007fd93f48 ffff81007efd8b40 ffff81007ee00440 0000000422222222 0000000200035593 ffffffff88037e9a 2222222222222222 ffffffff80466500 ffff81007e416400 ffff81007e219640 Call Trace: [] filldir+0x0/0xf0 [] filldir+0x0/0xf0 [] vfs_readdir+0xa7/0xc0 [] sys_getdents+0x96/0xe0 [] system_call+0x7e/0x83 Code: 41 8b 14 24 85 d2 74 dc 49 8b 44 24 08 48 85 c0 74 e7 49 3b RIP [] proc_sys_readdir+0xd3/0x350 RSP CR2: ffffffff880661c0 Kernel panic - not syncing: Fatal exception Signed-off-by: Alexey Dobriyan Acked-by: Trond Myklebust Cc: "J. Bruce Fields" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d82abae9523c33d4a16fdfdfd2bdde316d7b56a Author: Eric Sandeen Date: Tue Sep 18 22:46:38 2007 -0700 dir_index: error out instead of BUG on corrupt dx dirs Convert asserts (BUGs) in dx_probe from bad on-disk data to recoverable errors with helpful warnings. With help catching other asserts from Duane Griffin Signed-off-by: Eric Sandeen Acked-by: Duane Griffin Acked-by: Theodore Ts'o Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e67aa27a6179c287983c6c525beb5320f5cd1672 Author: Dave Airlie Date: Tue Sep 18 22:46:35 2007 -0700 intel-agp: Fix i830 mask variable that changed with G33 support The mask on i830 should be 0x70 always, later chips 0xF0 should be okay. Signed-off-by: Dave Airlie Acked-by: Zhenyu Wang Cc: Michael Haas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c8bd037e5bd7bbc3c82b74cbed4da1ddc3fe8de Author: Antonino A. Daplas Date: Tue Sep 18 22:46:34 2007 -0700 intelfb: Fix bug in DPLL disable Reported in Kernel Bugzilla 9006 Fix an obvious bug in DPLL disable. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 389a3c02496dd1b399bb0efd005e9fa2be24e9ee Author: Jeremy Fitzhardinge Date: Tue Sep 18 22:46:33 2007 -0700 xen: don't bother trying to set cr4 Xen ignores all updates to cr4, and some versions will kill the domain if you try to change its value. Just ignore all changes. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 248bdd5efca5a113cbf443a993c69e53d370236b Author: Kees Cook Date: Tue Sep 18 22:46:32 2007 -0700 pci: fix unterminated pci_device_id lists Fix a couple drivers that do not correctly terminate their pci_device_id lists. This results in garbage being spewed into modules.pcimap when the module happens to not have 28 NULL bytes following the table, and/or the last PCI ID is actually truncated from the table when calculating the modules.alias PCI aliases, cause those unfortunate device IDs to not auto-load. Signed-off-by: Kees Cook Acked-by: Corey Minyard Cc: David Woodhouse Acked-by: Jeff Garzik Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4191ba26dae8338892e73f6e67bd18068b4344e9 Author: Cliff Wickman Date: Tue Sep 18 22:46:31 2007 -0700 mspec: handle shrinking virtual memory areas The shrinking of a virtual memory area that is mmap(2)'d to a memory special file (device drivers/char/mspec.c) can cause a panic. If the mapped size of the vma (vm_area_struct) is very large, mspec allocates a large vma_data structure with vmalloc(). But such a vma can be shrunk by an munmap(2). The current driver uses the current size of each vma to deduce whether its vma_data structure was allocated by kmalloc() or vmalloc(). So if the vma was shrunk it appears to have been allocated by kmalloc(), and mspec attempts to free it with kfree(). This results in a panic. This patch avoids the panic (by preserving the type of the allocation) and also makes mspec work correctly as the vma is split into pieces by the munmap(2)'s. All vma's derived from such a split vma share the same vma_data structure that represents all the pages mapped into this set of vma's. The mpec driver must be made capable of using the right portion of the structure for each member vma. In other words, it must index into the array of page addresses using the portion of the array that represents the current vma. This is enabled by storing the vma group's vm_start in the vma_data structure. The shared vma_data's are not protected by mm->mmap_sem in the fork() case so the reference count is left as atomic_t. Signed-off-by: Cliff Wickman Acked-by: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49cc886aea1d79cdb0ea409554866238b07fe26f Author: Atsushi Nemoto Date: Tue Sep 18 22:46:30 2007 -0700 rtc: rtc-ds1553.c should use resource_size_t for base address Currently the rtc driver, rtc-ds1552.c uses an unsigned long to store the base mmio address of the NVRAM/RTC. This breaks on 32-bit systems with larger physical addresses. Signed-off-by: Atsushi Nemoto Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e3e31c05798786c131bf257f64848d4a9a894ab Author: David Gibson Date: Tue Sep 18 22:46:28 2007 -0700 rtc-ds1742.c should use resource_size_t for base address Currently the rtc driver, rtc-ds1742.c uses an unsigned long to store the base mmio address of the NVRAM/RTC. This breaks on systems like PowerPC 440, which is a 32-bit core with 36-bit physical addresses: IO on the system, including the RTC, is typically above the 4GB point, and cannot fit into an unsigned long. This patch fixes the problem by replacing the unsigned long with a resource_size_t. Tested on Ebony (PPC440) (with additional patches to instantiate the ds1742 platform device appropriately). Signed-off-by: David Gibson Acked-by: Atsushi Nemoto Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efc63c4fb0f95865907472d1c6bc0cfea9ee156b Author: Alexey Dobriyan Date: Tue Sep 18 22:46:27 2007 -0700 Fix UTS corruption during clone(CLONE_NEWUTS) struct utsname is copied from master one without any exclusion. Here is sample output from one proggie doing sethostname("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); sethostname("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); and another clone(,, CLONE_NEWUTS, ...) uname() hostname = 'aaaaaaaaaaaaaaaaaaaaaaaaabbbbb' hostname = 'bbbaaaaaaaaaaaaaaaaaaaaaaaaaaa' hostname = 'aaaaaaaabbbbbbbbbbbbbbbbbbbbbb' hostname = 'aaaaaaaaaaaaaaaaaaaaaaaaaabbbb' hostname = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaabb' hostname = 'aaabbbbbbbbbbbbbbbbbbbbbbbbbbb' hostname = 'bbbbbbbbbbbbbbbbaaaaaaaaaaaaaa' Hostname is sometimes corrupted. Yes, even _the_ simplest namespace activity had bug in it. :-( Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 019ad4a0a60b09022945273848b5a686e39a78aa Author: Nigel Cunningham Date: Tue Sep 18 22:46:25 2007 -0700 Fix failure to resume from initrds Commit 831441862956fffa17b9801db37e6ea1650b0f69 (Freezer: make kernel threads nonfreezable by default) breaks freezing when attempting to resume from an initrd, because the init (which is freezeable) spins while waiting for another thread to run /linuxrc, but doesn't check whether it has been told to enter the refrigerator. The original patch replaced a call to try_to_freeze() with a call to yield(). I believe a simple reversion is wrong because if !CONFIG_PM_SLEEP, try_to_freeze() is a noop. It should still yield. Signed-off-by: Nigel Cunningham Acked-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c392a4f47f41b24432e6aa77bb5167d0bbb10c5 Author: Nicolas George Date: Tue Sep 18 22:46:21 2007 -0700 uml: use correct type in BLKGETSIZE ioctl I found a type mismatch in UML that makes host block devices unusable as ubd devices on x86_64 and other 64 bits systems (segfault of the mm subsystem): In block/ioctl.c, the following lines show that the BLKGETSIZE ioctl expects a pointer to a long: case BLKGETSIZE: if ((bdev->bd_inode->i_size >> 9) > ~0UL) return -EFBIG; return put_ulong(arg, bdev->bd_inode->i_size >> 9); In arch/um/os-Linux/file.c, os_file_size calls it with an int. The ioctl_list man page should be fixed as well. Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3558c9b3232b5f0fd9f32043a191eca20fca64c6 Author: Andrew Morton Date: Tue Sep 18 22:46:19 2007 -0700 Fix "Fix DAC960 driver on machines which don't support 64-bit DMA" sparc32: drivers/block/DAC960.c: In function 'DAC960_V1_EnableMemoryMailboxInterface': drivers/block/DAC960.c:1168: error: 'DMA_32BIT_MASK' undeclared (first use in this function) drivers/block/DAC960.c:1168: error: (Each undeclared identifier is reported only Cc: Cc: Cc: Alessandro Polverini Cc: Jeff Garzik Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c27da339698145a9383e052c1070a950d30da478 Author: Benjamin Herrenschmidt Date: Wed Sep 19 14:21:56 2007 +1000 [POWERPC] Fix timekeeping on PowerPC 601 Recent changes to the timekeeping code broke support for the PowerPC 601 processor which doesn't have the usual timebase facility but a slightly different thing called (yuck) the RTC. This fixes it, boot tested on an old 601 based PowerMac 7200. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7b5acbaac3f94ab810a977c0ec4e5fcabbf51bed Author: Benjamin Herrenschmidt Date: Wed Sep 19 14:21:56 2007 +1000 [POWERPC] Don't expose clock vDSO functions when CPU has no timebase We forgot to remove the clock_gettime, clock_getres and get_tbfreq vDSO calls on CPUs that have no timebase such as 601 or 403 (old CPUs that have different mechanisms and for which the vDSO code will not work properly). This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c0e7b4aa1c09ea992808ea8c079141bc8dd0f5bc Author: Christoph Hellwig Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spusched: Fix null pointer dereference in find_victim find_victim can dereference a NULL pointer when iterating over the list of victim spus because list_mutex only guarantees spu->ct to be stable, but of course not to be non-NULL. Also fix find_victim to not call spu_unbind_context without list_mutex because that violates the above guarantee. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7f10cc4e838c2b2d7272031954c56c407569d497 Author: Maik Broemme Date: Fri Sep 14 22:12:34 2007 +0200 ACPI: video: remove dmesg spam i am actually heavily using the ACPI video extension for my Thinkpad X61 Tablet. I have bound the input events triggered by the brightness up/down keys to a simple echo > /sys/class/backlight/acpi_video1/brightness but everytime the event is triggered and acpi_video_device_lcd_set_level() is called i got a notificication in my kernel log like: set_level status: 0 set_level status: 0 set_level status: 0 set_level status: 0 ... Signed-off-by: Maik Broemme Signed-off-by: Len Brown commit a21101c46ca5b4320e31408853cdcbf7cb1ce4ed Author: Zhang Rui Date: Fri Sep 14 11:46:22 2007 +0800 ACPI: video: _DOS=0 by default to prevent hotkey hang In the past, the Linux/ACPI video driver invoked _DOS (Display Output Switch) with the parameter 1 to tell the BIOS to switch the video output display for us. But this conflicts with Linux native graphics drivers, and can cause all sorts of issues, including hanging the system. http://bugzilla.kernel.org/show_bug.cgi?id=6001 Here we change the Linux default to evaluate _DOS=0, which tells the BIOS to simply send us a hotkey event and not touch the graphics hardware. The acpi video driver sends the display switch hotkey event up through the intput layer, and X can interpret that and use its native graphics driver to switch the display. For the case where Linux has no native graphics driver running, or the graphics driver doesn't know how to switch video and the BIOS (safely) does, the previous behaviour can be restored with: # echo 1 > /proc/acpi/video/*/DOS Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit b394e43e995d08821588a22561c6a71a63b4ff27 Author: Lachlan McIlroy Date: Fri Sep 14 15:23:04 2007 +1000 [XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer. SGI-PV: 969656 SGI-Modid: xfs-linux-melb:xfs-kern:29676a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 776a75fa5cfb8f3602d3ca9d221dc34497133f4b Author: Lachlan McIlroy Date: Fri Sep 14 15:22:50 2007 +1000 [XFS] Ensure file size updates have been completed before writing inode to disk. SGI-PV: 968767 SGI-Modid: xfs-linux-melb:xfs-kern:29675a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 9c5b34806c28195e4d0f2deaa41d8158ca5874e1 Author: Al Viro Date: Mon Sep 17 16:47:07 2007 -0700 [SUNSAB]: Fix several bugs. * don't register irq until ->startup() (and release in ->shutdown()). That avoids oopsen with the current tree when interrupt comes before we'd set up the data structures for ttyb. * handle console=ttyS... even when OBP talks to screen/keyboard * register irq handler for each port, let kernel/irq/handle.c call it for both if needed. Kills code duplication in sunsab_interrupt(). BTW, there'd been bitrot in it - ttya handling had stopped calling check_status() on BRK (correctly), ttyb copy of that code had kept the bogus call in that case. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b20c8e8e86190d60627a59d99ce2ac6ffcbc704d Author: Robert P. J. Day Date: Mon Sep 3 09:35:04 2007 -0300 V4L/DVB (6173a): Documentation: Remove reference to dead "cpia_pp=" boot-time option Since this boot-time option was removed in commit 9ab7e323af9f9efad3e20a14faa4d947adfac381, delete the reference to it. Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit e53dd083be96a3272df16a675f14c8396cb744ec Author: Mauro Carvalho Chehab Date: Sat Sep 15 07:38:47 2007 -0300 Revert "V4L/DVB (6173a): Documentation: Remove reference to dead "cpia_pp=" boot-time option" This reverts commit 4730d3af625b532e3df5f091b5c8edb08f512fbf. Unfortunately, patch got mangled by a whitespace removal script. Signed-off-by: Mauro Carvalho Chehab commit 4f6627ac3ba6948a4aebec80edfd6565aec3a40c Author: Rui Sousa Date: Sat Sep 15 00:56:19 2007 +0100 [ARM] 4568/1: fix l2x0 cache invalidate handling of unaligned addresses The l2x0_inv_range() function doesn't handle unaligned addresses correctly. It's necessary to clean the cache lines that are at the start and end of the invalidate range, if the addresses are not aligned, to prevent corruption of other data sharing the same cache line. Signed-off-by: Rui Sousa Acked-by: Catalin Marinas Signed-off-by: Russell King commit 588a33556ccf3e2135c7b4527557616f72fc144c Author: Stephen Rothwell Date: Mon Sep 17 12:35:30 2007 +0200 ide: remove unused variables from drivers/ide/ppc/pmac.c Removes these warnings: /home/sfr/kernels/linus/drivers/ide/ppc/pmac.c: In function 'pmac_ide_dma_check': /home/sfr/kernels/linus/drivers/ide/ppc/pmac.c:1807: warning: unused variable 'map' /home/sfr/kernels/linus/drivers/ide/ppc/pmac.c:1805: warning: unused variable 'pmif' Signed-off-by: Stephen Rothwell Cc: paulus@samba.org Signed-off-by: Bartlomiej Zolnierkiewicz commit 7062cdc5edb3ba4b2eb906684cd19e103de1f920 Author: Jorge Juan Chico Date: Mon Sep 17 12:35:30 2007 +0200 ide: ST320413A has the same problem as ST340823A ST320413A has the same problem as ST340823A. Please see https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.15/+bug/26119 From: "Jorge Juan Chico" Signed-off-by: Bartlomiej Zolnierkiewicz commit 65de5567564e70edd01b6d4e95e548d7ba284872 Author: David Chinner Date: Thu Aug 16 15:21:11 2007 +1000 [XFS] On-demand reaping of the MRU cache Instead of running the mru cache reaper all the time based on a timeout, we should only run it when the cache has active objects. This allows CPUs to sleep when there is no activity rather than be woken repeatedly just to check if there is anything to do. SGI-PV: 968554 SGI-Modid: xfs-linux-melb:xfs-kern:29305a Signed-off-by: David Chinner Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit 3b0c6485a733f5f0f5c362fb094df1466b18ab93 Author: Henrique de Moraes Holschuh Date: Tue Sep 4 11:13:16 2007 -0300 ACPI: thinkpad-acpi: bump up version to 0.16 Name it thinkpad-acpi version 0.16 to avoid any confusion with some 0.15 thinkpad-acpi development snapshots and backports that had input layer support, but no hotkey_report_mode support. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit ff80f1370f2eff7dd7a828cf2416bf7be697247e Author: Henrique de Moraes Holschuh Date: Tue Sep 4 11:13:15 2007 -0300 ACPI: thinkpad-acpi: revert new 2.6.23 CONFIG_THINKPAD_ACPI_INPUT_ENABLED option Revert new 2.6.23 CONFIG_THINKPAD_ACPI_INPUT_ENABLED Kconfig option because it would create a legacy we don't want to support. CONFIG_THINKPAD_ACPI_INPUT_ENABLED was added to try to fix an issue that is now moot with the addition of the netlink ACPI event report interface to the ACPI core. Now that ACPI core can send events over netlink, we can use a different strategy to keep backwards compatibility with older userspace, without the need for the CONFIG_THINKPAD_ACPI_INPUT_ENABLED games. And it arrived before CONFIG_THINKPAD_ACPI_INPUT_ENABLED made it to a stable mainline kernel, even, which is Good. This patch is in sync with some changes to thinkpad-acpi backports, that will keep things sane for userspace across different combinations of kernel versions, thinkpad-acpi backports (or the lack thereof), and userspace capabilities: Unless a module parameter is used, thinkpad-acpi will now behave in such a way that it will work well (by default) with userspace that still uses only the old ACPI procfs event interface and doesn't care for thinkpad-acpi input devices. It will also always work well with userspace that has been updated to use both the thinkpad-acpi input devices, and ACPI core netlink event interface, regardless of any module parameter. The module parameter was added to allow thinkpad-acpi to work with userspace that has been partially updated to use thinkpad-acpi input devices, but not the new ACPI core netlink event interface. To use this mode of hot key reporting, one has to specify the hotkey_report_mode=2 module parameter. The thinkpad-acpi driver exports the value of hotkey_report_mode through sysfs, as well. thinkpad-acpi backports to older kernels, that do not support the new ACPI core netlink interface, have code to allow userspace to switch hotkey_report_mode at runtime through sysfs. This capability will not be provided in mainline thinkpad-acpi as it is not needed there. Signed-off-by: Henrique de Moraes Holschuh Cc: Michael S. Tsirkin Cc: Hugh Dickins Cc: Richard Hughes Signed-off-by: Len Brown commit fa890d586cc127ce72597ba0a909bfecf784e10c Author: Matthew Wilcox Date: Sun Sep 16 17:01:26 2007 -0600 Fix non-ISA link error in drivers/scsi/advansys.c When CONFIG_ISA is disabled, the isa_driver support will not be compiled in. Define stubs so that we don't get link-time errors. Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit d9f30ec0b0d129b9cbf2b041a6a3159aa24592f6 Author: Al Viro Date: Sun Sep 16 16:43:04 2007 -0700 [VLAN]: Fix net_device leak. In "[VLAN]: Move device registation to seperate function" (commit e89fe42cd03c8fd3686df82d8390a235717a66de), a pile of code got moved to register_vlan_dev(), including grabbing a reference to underlying device. However, original dev_hold() had been left behind, so we leak a reference to net_device now... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2a38b775b77f99308a4e571c13d908df78ac5e57 Author: Herbert Xu Date: Sun Sep 16 16:22:13 2007 -0700 [PPP] generic: Fix receive path data clobbering & non-linear handling This patch adds missing pskb_may_pull calls to deal with non-linear packets that may arrive from pppoe or pppol2tp. It also copies cloned packets before writing over them. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7b797d5b150775d717cb03b5ada28b8bad99afab Author: Herbert Xu Date: Sun Sep 16 16:21:42 2007 -0700 [PPP] generic: Call skb_cow_head before scribbling over skb It's rude to write over data that other people are still using. So call skb_cow_head before PPP proceeds to modify the skb data. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d9cc20484e5e48c6a5deb4387c20fd45bfbdde8c Author: Herbert Xu Date: Sun Sep 16 16:21:16 2007 -0700 [NET] skbuff: Add skb_cow_head This patch adds an optimised version of skb_cow that avoids the copy if the header can be modified even if the rest of the payload is cloned. This can be used in encapsulating paths where we only need to modify the header. As it is, this can be used in PPPOE and bridging. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e081e1e3ef4682802ac63b1e5e26158fb9ca9e90 Author: Herbert Xu Date: Sun Sep 16 16:20:48 2007 -0700 [BRIDGE]: Kill clone argument to br_flood_* The clone argument is only used by one caller and that caller can clone the packet itself. This patch moves the clone call into the caller and kills the clone argument. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9355ec23397af32799038d0e8edbfa5b6f425c27 Author: Herbert Xu Date: Sun Sep 16 16:20:21 2007 -0700 [PPP] pppoe: Fill in header directly in __pppoe_xmit This patch removes the hdr variable (which is copied into the skb) and instead sets the header directly in the skb. It also uses __skb_push instead of skb_push since we've just checked using skb_cow for enough head room. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit db7bf6d97c6956b7eb0f22131cb5c37bd41f33c0 Author: Herbert Xu Date: Sun Sep 16 16:19:50 2007 -0700 [PPP] pppoe: Fix data clobbering in __pppoe_xmit and return value The function __pppoe_xmit modifies the skb data and therefore it needs to copy and skb data if it's cloned. In fact, it currently allocates a new skb so that it can return 0 in case of error without freeing the original skb. This is totally wrong because returning zero is meant to indicate congestion whereupon pppoe is supposed to wake up the upper layer once the congestion subsides. This makes sense for ppp_async and ppp_sync but is out-of-place for pppoe. This patch makes it always return 1 and free the skb. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 31bac44468257986484703cc09da8a9dcae88a36 Author: Herbert Xu Date: Sun Sep 16 16:19:20 2007 -0700 [PPP] pppoe: Fix skb_unshare_check call position The skb_unshare_check call needs to be made before pskb_may_pull, not after. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 559cf710b07c5e2cfa3fb8d8f4a1320fd84c53f9 Author: Vlad Yasevich Date: Sun Sep 16 16:03:28 2007 -0700 [SCTP]: Convert bind_addr_list locking to RCU Since the sctp_sockaddr_entry is now RCU enabled as part of the patch to synchronize sctp_localaddr_list, it makes sense to change all handling of these entries to RCU. This includes the sctp_bind_addrs structure and it's list of bound addresses. This list is currently protected by an external rw_lock and that looks like an overkill. There are only 2 writers to the list: bind()/bindx() calls, and BH processing of ASCONF-ACK chunks. These are already seriealized via the socket lock, so they will not step on each other. These are also relatively rare, so we should be good with RCU. The readers are varied and they are easily converted to RCU. Signed-off-by: Vlad Yasevich Acked-by: Paul E. McKenney Acked-by: Sridhar Samdurala Signed-off-by: David S. Miller commit 293035479942400a7fe8e4f72465d4e4e466b91a Author: Vlad Yasevich Date: Sun Sep 16 16:02:12 2007 -0700 [SCTP]: Add RCU synchronization around sctp_localaddr_list sctp_localaddr_list is modified dynamically via NETDEV_UP and NETDEV_DOWN events, but there is not synchronization between writer (even handler) and readers. As a result, the readers can access an entry that has been freed and crash the sytem. Signed-off-by: Vlad Yasevich Acked-by: Paul E. McKenney Acked-by: Sridhar Samdurala Signed-off-by: David S. Miller commit ddeee3ce7fbf0e800f2a26a76d6018b42b337cc2 Author: Satyam Sharma Date: Sun Sep 16 14:54:05 2007 -0700 [PKT_SCHED]: sch_cbq.c: Shut up uninitialized variable warning net/sched/sch_cbq.c: In function 'cbq_enqueue': net/sched/sch_cbq.c:383: warning: 'ret' may be used uninitialized in this function has been verified to be a bogus case. So let's shut it up. Signed-off-by: Satyam Sharma Acked-by: Patrick McHardy Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ce5d0b47f13f83dfb9fbb8ac91adad7120747aaf Author: Adit Ranadive Date: Sun Sep 16 14:52:15 2007 -0700 [PKTGEN]: srcmac fix From: Adit Ranadive Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6ae5f983cf8de769214d2d9e8a783c881eccd4cd Author: Jiri Kosina Date: Sun Sep 16 14:48:21 2007 -0700 [IPV6]: Fix source address selection. The commit 95c385 broke proper source address selection for cases in which there is a address which is makred 'deprecated'. The commit mistakenly changed ifa->flags to ifa_result->flags (probably copy/paste error from a few lines above) in the 'Rule 3' address selection code. The patch restores the previous RFC-compliant behavior. Signed-off-by: Jiri Kosina Signed-off-by: David S. Miller commit 8a177c4f17c691c2c9a08a54709d37c6db481a0b Author: David S. Miller Date: Sun Sep 16 14:45:06 2007 -0700 [SPARC64]: Warn user if cpu is ignored. When NR_CPUS is smaller than the cpu probed, let the user know that the cpu won't be used. Suggested by Al Viro. Signed-off-by: David S. Miller commit 301feb652441a7168b59256fc44918075dcab0d5 Author: David S. Miller Date: Sun Sep 16 11:51:15 2007 -0700 [SPARC64]: Fix lockdep, particularly on SMP. As noted by Al Viro, when we try to call prom_set_trap_table() in the SMP trampoline code we try to take the PROM call spinlock which doesn't work because the current thread pointer isn't valid yet and lockdep depends upon that being correct. Furthermore, we cannot set the current thread pointer register because it can't be properly dereferenced until we return from prom_set_trap_table(). Kernel TLB misses only work after that call. So do the PROM call to set the trap table directly instead of going through the OBP library C code, and thus avoid the lock altogether. These calls are guarenteed to be serialized fully. Since there are now no calls to the prom_set_trap_table{_sun4v}() library functions, they can be deleted. Signed-off-by: David S. Miller commit 58ea1aa07e3cb4674ab0261b45aa1ba68282a79d Author: David S. Miller Date: Sun Sep 16 09:52:36 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 5e41d0d60a534d2a5dc9772600a58f44c8d12506 Author: Thomas Gleixner Date: Sun Sep 16 15:36:43 2007 +0200 clockevents: prevent stale tick update on offline cpu Taking a cpu offline removes the cpu from the online mask before the CPU_DEAD notification is done. The clock events layer does the cleanup of the dead CPU from the CPU_DEAD notifier chain. tick_do_timer_cpu is used to avoid xtime lock contention by assigning the task of jiffies xtime updates to one CPU. If a CPU is taken offline, then this assignment becomes stale. This went unnoticed because most of the time the offline CPU went dead before the online CPU reached __cpu_die(), where the CPU_DEAD state is checked. In the case that the offline CPU did not reach the DEAD state before we reach __cpu_die(), the code in there goes to sleep for 100ms. Due to the stale time update assignment, the system is stuck forever. Take the assignment away when a cpu is not longer in the cpu_online_mask. We do this in the last call to tick_nohz_stop_sched_tick() when the offline CPU is on the way to the final play_dead() idle entry. Signed-off-by: Thomas Gleixner commit 31d9b3938c0459e5e9755ce0a98ac1e24eeff972 Author: Thomas Gleixner Date: Sun Sep 16 15:36:43 2007 +0200 clockevents: do not shutdown the oneshot broadcast device When a cpu goes offline it is removed from the broadcast masks. If the mask becomes empty the code shuts down the broadcast device. This is wrong, because the broadcast device needs to be ready for the online cpu going idle (into a c-state, which stops the local apic timer). Signed-off-by: Thomas Gleixner commit 07eec6af448d13a6a520d9c6f06f2e87f61b567a Author: Thomas Gleixner Date: Sun Sep 16 15:36:43 2007 +0200 clockevents: Enforce oneshot broadcast when broadcast mask is set on resume The jinxed VAIO refuses to resume without hitting keys on the keyboard when this is not enforced. It is unclear why the cpu ends up in a lower C State without notifying the clock events layer, but enforcing the oneshot broadcast here is safe. Signed-off-by: Thomas Gleixner commit 729c6ba334771f28a54efd7e3b8f5ab9414ce7bc Author: Venkatesh Pallipadi Date: Sun Sep 16 15:36:43 2007 +0200 ACPI: Reevaluate C/P/T states when a cpu becomes online Reevaluate C/P/T states when a cpu becomes online. This avoids the caching of the broadcast information in the clockevents layer. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Thomas Gleixner Cc: Len Brown commit 6a669ee8a790487b7ec1edda762d39615a78264b Author: Thomas Gleixner Date: Sun Sep 16 15:36:43 2007 +0200 timekeeping: Prevent time going backwards on resume Timekeeping resume adjusts xtime by adding the slept time in seconds and resets the reference value of the clock source (clock->cycle_last). clock->cycle last is used to calculate the delta between the last xtime update and the readout of the clock source in __get_nsec_offset(). xtime plus the offset is the current time. The resume code ignores the delta which had already elapsed between the last xtime update and the actual time of suspend. If the suspend time is short, then we can see time going backwards on resume. Suspend: offs_s = clock->read() - clock->cycle_last; now = xtime + offs_s; timekeeping_suspend_time = read_rtc(); Resume: sleep_time = read_rtc() - timekeeping_suspend_time; xtime.tv_sec += sleep_time; clock->cycle_last = clock->read(); offs_r = clock->read() - clock->cycle_last; now = xtime + offs_r; if sleep_time_seconds == 0 and offs_r < offs_s, then time goes backwards. Fix this by storing the offset from the last xtime update and add it to xtime during resume, when we reset clock->cycle_last: sleep_time = read_rtc() - timekeeping_suspend_time; xtime.tv_sec += sleep_time; xtime += offs_s; /* Fixup xtime offset at suspend time */ clock->cycle_last = clock->read(); offs_r = clock->read() - clock->cycle_last; now = xtime + offs_r; Thanks to Marcelo for tracking this down on the OLPC and providing the necessary details to analyze the root cause. Signed-off-by: Thomas Gleixner Cc: John Stultz Cc: Tosatti commit 3be9095063885d482b87d3875ea7f28e635882d0 Author: Thomas Gleixner Date: Sun Sep 16 15:36:43 2007 +0200 timekeeping: access rtc outside of xtime lock Lockdep complains about the access of rtc in timekeeping_suspend inside the interrupt disabled region of the write locked xtime lock. Move the access outside. Signed-off-by: Thomas Gleixner Cc: John Stultz commit fadacb1b80e35e0b36a90d43e21ef91eec4b889b Author: Jeff Garzik Date: Sat Sep 15 19:41:43 2007 -0400 drivers/net/pcmcia/3c589_cs: fix port configuration switcheroo 10base2 and 10baseT were accidentally switched. Noticed by Andreas HÃŒbner, forwarded by Alan Cox. Signed-off-by: Jeff Garzik commit 5ad887fa8e875231d72a27c474b10241a5818bf1 Author: Stephen Hemminger Date: Sat Sep 15 19:35:14 2007 -0400 sk98lin: resurrect driver This reverts commit e1abecc48938fbe1966ea6e78267fc673fa59295. The driver works on some hardware that skge doesn't handle yet. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 62270336e8fdfbea36cb455c27744c23780dbf07 Author: Anton Vorontsov Date: Thu Sep 13 19:23:33 2007 +0400 ucc_geth: fix compilation Currently qe_bd_t is used in the macro call -- dma_unmap_single, which is a no-op on PPC32, thus error is hidden today. Starting with 2.6.24, macro will be replaced by the empty static function, and erroneous use of qe_bd_t will trigger compilation error. Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik commit e7e381f639657b2e681ff6fb31e131db360550ac Author: Dale Farnsworth Date: Fri Sep 14 11:23:16 2007 -0700 mv643xx_eth: Fix tx_bytes stats calculation Reported by Corey Minyard Signed-off-by: Jeff Garzik commit bb8bd3a52a5dbca8bea31bfc72dacfb384170e69 Author: Tony Breeds Date: Fri Sep 14 17:03:01 2007 -0700 sparc64 (and others): fix tty_ioctl.c build Add Guards around TIOCSLCKTRMIOS and TIOCGLCKTRMIOS. Several architectures are still broken. Put temporary-for-2.6.23 ifdef guards around the offending code. Signed-off-by: Tony Breeds Cc: Alan Cox Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Heiko Carstens Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by:: Linus Torvalds commit 2a0c6c980d209827e5d69017fa736f107a744d1d Author: YOSHIFUJI Hideaki Date: Fri Sep 14 17:15:19 2007 -0700 [IPV4]: Just increment OutDatagrams once per a datagram. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit cd562c9859f648d78224e9fc0dafa5a3d5000fdb Author: YOSHIFUJI Hideaki Date: Fri Sep 14 17:15:01 2007 -0700 [IPV6]: Just increment OutDatagrams once per a datagram. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 3ef9d943d26dea764f4fecf3767001c90b778b0c Author: YOSHIFUJI Hideaki Date: Fri Sep 14 16:45:40 2007 -0700 [IPV6]: Fix unbalanced socket reference with MSG_CONFIRM. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e1e992e52faa588667e1378a2573b4b8e3fa6670 Author: Jamal Hadi Salim Date: Wed Sep 12 16:32:59 2007 +0200 [NET_SCHED] protect action config/dump from irqs (with no apologies to C Heston) On Mon, 2007-10-09 at 21:00 +0800, Herbert Xu wrote: On Sun, Sep 02, 2007 at 01:11:29PM +0000, Christian Kujau wrote: > > > > after upgrading to 2.6.23-rc5 (and applying davem's fix [0]), lockdep > > was quite noisy when I tried to shape my external (wireless) interface: > > > > [ 6400.534545] FahCore_78.exe/3552 just changed the state of lock: > > [ 6400.534713] (&dev->ingress_lock){-+..}, at: [] > > netif_receive_skb+0x2d5/0x3c0 > > [ 6400.534941] but this lock took another, soft-read-irq-unsafe lock in the > > past: > > [ 6400.535145] (police_lock){-.--} > > This is a genuine dead-lock. The police lock can be taken > for reading with softirqs on. If a second CPU tries to take > the police lock for writing, while holding the ingress lock, > then a softirq on the first CPU can dead-lock when it tries > to get the ingress lock. Signed-off-by: Jamal Hadi Salim Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 4878809f711981a602cc562eb47994fc81ea0155 Author: David S. Miller Date: Fri Sep 14 16:41:03 2007 -0700 [NET]: Fix two issues wrt. SO_BINDTODEVICE. 1) Comments suggest that setting optlen to zero will unbind the socket from whatever device it might be attached to. This hasn't been the case since at least 2.2.x because the first thing this function does is return -EINVAL if 'optlen' is less than sizeof(int). This check also means that passing in a two byte string doesn't work so well. It's almost as if this code was testing with "eth?" patterned strings and nothing else :-) Fix this by breaking the logic of this facility out into a seperate function which validates optlen more appropriately. The optlen==0 and small string cases now work properly. 2) We should reset the cached route of the socket after we have made the device binding changes, not before. Reported by Ben Greear. Signed-off-by: David S. Miller commit 22d95b1282810f5af599ee292b3fc443aefbdad0 Author: Avi Kivity Date: Fri Sep 14 20:26:06 2007 +0300 KVM: MMU: Fix rare oops on guest context switch A guest context switch to an uncached cr3 can require allocation of shadow pages, but we only recycle shadow pages in kvm_mmu_page_fault(). Move shadow page recycling to mmu_topup_memory_caches(), which is called from both the page fault handler and from guest cr3 reload. Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit 7a1fa065a0264f6b3d3003ba5635289f6583c478 Author: Neil Brown Date: Fri Sep 14 10:28:08 2007 -0400 Correctly close old nfsd/lockd sockets. Commit aaf68cfbf2241d24d46583423f6bff5c47e088b3 added a bias to sk_inuse, so this test for an unused socket now fails. So no sockets get closed because they are old (they might get closed if the client closed them). This bug has existed since 2.6.21-rc1. Thanks to Wolfgang Walter for finding and reporting the bug. Cc: Wolfgang Walter Signed-off-by: Neil Brown Signed-off-by: J. Bruce Fields Signed-off-by: Linus Torvalds commit 2123a09f3f129f4d56f59026ec63e5990f86db2f Author: aherrman@arcor.de Date: Fri Sep 14 01:28:56 2007 +0200 Fix kernel buuild with (CONFIG_COMPAT && ! CONFIG_BLOCK) Commit 02a5e0acb3cb85d80d0fe834e366d38a92bbaa22 ("BLOCK: Hide the contents of linux/bio.h if CONFIG_BLOCK=n") broke the kernel build for the CONFIG_COMPAT && !CONFIG_BLOCK case: CC fs/compat_ioctl.o In file included from include/linux/raid/md_k.h:19, from include/linux/raid/md.h:54, from fs/compat_ioctl.c:25: include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_: include/linux/raid/../../../drivers/md/dm-bio-list.h:40: error: dereferencing pointer to incomplete type include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_: include/linux/raid/../../../drivers/md/dm-bio-list.h:48: error: dereferencing pointer to incomplete type include/linux/raid/../../../drivers/md/dm-bio-list.h:51: error: dereferencing pointer to incomplete type include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_: include/linux/raid/../../../drivers/md/dm-bio-list.h:64: error: dereferencing pointer to incomplete type include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_merge_: include/linux/raid/../../../drivers/md/dm-bio-list.h:78: error: dereferencing pointer to incomplete type include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_: include/linux/raid/../../../drivers/md/dm-bio-list.h:90: error: dereferencing pointer to incomplete type include/linux/raid/../../../drivers/md/dm-bio-list.h:94: error: dereferencing pointer to incomplete type make[1]: *** [fs/compat_ioctl.o] Error 1 make: *** [fs] Error 2 Signed-off-by: Andreas Herrmann Acked-By: David Howells Signed-off-by: Linus Torvalds commit dd941252a81b02b5915e2db160fe02c972875846 Author: Nick Piggin Date: Fri Sep 14 08:41:12 2007 +0200 shared tag queue barrier comment Should add some comments for the tag barriers (they won't be so important if we can switch over to the explicit _lock bitops, but for now we should make it clear). Jens' original patch said a barrier after the test_and_clear_bit was also required. I can't see why (and it would prevent the use of the _lock bitop). Acked-by: Jens Axboe Signed-off-by: Linus Torvalds -- commit 53c5725581cce8a29925afd4eae71fa8c7ce551f Author: Masakazu Mokuno Date: Fri Sep 14 14:35:38 2007 -0400 As struct iw_point is bi-directional payload, we should copy back the content on return from ioctl calls Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 3f7086978fc0193eff24a77d8b57ac4debc088fa Author: Larry Finger Date: Tue Sep 4 14:14:20 2007 -0500 [PATCH] bcm43xx: Fix cancellation of work queue crashes A crash upon booting that is caused by bcm43xx has been reported [1] and found to be due to a work queue being reinitialized while work on that queue is still pending. This fix modifies the shutdown of work queues and prevents periodic work from being requeued during shutdown. With this patch, no more crashes on reboot were observed by the original reporter. I do not get that particular failure on my system; however, when running a large number of ifdown/ifup sequences, my system would kernel panic with the 'caps lock' light blinking at roughly a 1 Hz rate. In addition, there were infrequent failures in the firmware that resulted in 'IRQ READY TIMEOUT' errors. With this patch, no more of the first type of failure occur, and incidence of the second type is greatly reduced. [1] http://bugzilla.kernel.org/show_bug.cgi?id=8937 Signed-off-by: Larry Finger Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 50da469a79fa2152d824f25f5ad5962f4af4343d Author: Ralf Baechle Date: Fri Sep 14 19:08:43 2007 +0100 [MIPS] 20Kc: Disable use of WAIT instruction. Another issue with 20Kc's WAIT, waiting for more details. With the 2.6.23 release immindent simply disable the use of WAIT instead of a more fancy workaround. Signed-off-by: Ralf Baechle commit 8df5beac2aa15b18a912ab585e1b86e748eda9ad Author: Maciej W. Rozycki Date: Wed Aug 23 14:26:50 2006 +0100 [MIPS] Workaround for 4Kc machine check exception Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 48d480b0bde794781fcae9501fb043c1bac0e523 Author: Ralf Baechle Date: Thu Sep 13 17:36:22 2007 +0100 [MIPS] Malta: Fix off by one bug in interrupt handler. Fairly cosmetic as it would only affect VSMP / SMTC kernels that don't use vectored interrupts. Found by Beth. Signed-off-by: Ralf Baechle commit 6440fcfc62767028a2bbdf742549d24f6a023004 Author: Atsushi Nemoto Date: Tue Sep 4 23:02:02 2007 +0900 [MIPS] No ide_default_io_base() if PCI IDE was not found Revert b5438582090406e2ccb4169d9b2df7c9939ae42b and add no_pci_devices() check to avoid crash due to early calling of pci_get_class(). Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b1043cc7d9d7a7dec8d807570c067e0c90b94b57 Author: Yoichi Yuasa Date: Thu Sep 13 13:13:28 2007 +0900 [MIPS] Add #include to arch/mips/kernel/time.c It refer to CPU_PROFILING. arch/mips/kernel/time.c: In function 'local_timer_interrupt': arch/mips/kernel/time.c:142: error: implicit declaration of function 'profile_tick' arch/mips/kernel/time.c:142: error: 'CPU_PROFILING' undeclared (first use in this function) arch/mips/kernel/time.c:142: error: (Each undeclared identifier is reported only once arch/mips/kernel/time.c:142: error: for each function it appears in.) Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 82411390a2eb532a2c54026d39ab6beb83ff838c Author: Johannes Dickgreber Date: Wed Sep 12 18:22:04 2007 +0200 [MIPS] N32 needs to use compat_sys_futimesat Signed-off-by: Ralf Baechle commit 4d24c8f955b8c9d51c5fe7299c898527e94d39ad Author: Ralf Baechle Date: Wed Sep 12 16:32:54 2007 +0100 [MIPS] rtlx: Fix build error. CC arch/mips/kernel/rtlx.o cc1: warnings being treated as errors arch/mips/kernel/rtlx.c:59: warning: 'irq' defined but not used arch/mips/kernel/rtlx.c:60: warning: 'irq_num' defined but not used Signed-off-by: Ralf Baechle commit e606c109c485c6f8e27dd6ddcd2c0b58c96fc5c9 Author: Ralf Baechle Date: Wed Sep 12 16:31:12 2007 +0100 [MIPS] rtlx: fix int vs. long bug. CC arch/mips/kernel/rtlx.o arch/mips/kernel/rtlx.c: In function 'rtlx_init': arch/mips/kernel/rtlx.c:114: warning: format '%x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' Signed-off-by: Ralf Baechle commit e90ff9239e7636a191a8998a70cea220a2c58cdf Author: Linus Torvalds Date: Thu Sep 13 21:09:01 2007 -0300 V4L/DVB (6220a): fix build error for et61x251 driver Signed-off-by: Mauro Carvalho Chehab commit 48200baeab95fd39a7f4c4f3536c7142a64ac335 Author: Steven Toth Date: Thu Sep 6 22:48:35 2007 -0300 V4L/DVB (6188): Avoid a NULL pointer dereference during mpeg_open() Bug: With a hardware encoder board installed as cx88[1] and a non-encoder boards installed as cx88[0], an OOPS is generated during cx8802_get_device() called from mpeg_open(). Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 4730d3af625b532e3df5f091b5c8edb08f512fbf Author: Robert P. J. Day Date: Mon Sep 3 09:35:04 2007 -0300 V4L/DVB (6173a): Documentation: Remove reference to dead "cpia_pp=" boot-time option Since this boot-time option was removed in commit 9ab7e323af9f9efad3e20a14faa4d947adfac381, delete the reference to it. Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit f5ab272bbff2a37d6d8f84328b6d25d0cdbda605 Author: Mauro Carvalho Chehab Date: Mon Sep 3 12:01:51 2007 -0300 V4L/DVB (6148): Fix a warning at saa7191_probe saa7191.c: In function 'saa7191_probe': saa7191.c:596: warning: passing argument 3 of 'saa7191_write_block' discards qualifiers from pointer target type Signed-off-by: Mauro Carvalho Chehab commit 7b9fbc3e30f785412a26819aa4daf0b6c27f6c53 Author: Jean Delvare Date: Mon Sep 3 11:51:51 2007 -0300 V4L/DVB (6147): Pwc: Fix a broken debug message Commit 85237f202d46d55c1bffe0c5b1aa3ddc0f1dce4d introduced the following warning (with CONFIG_USB_PWC_DEBUG=y): drivers/media/video/pwc/pwc-if.c: In function "pwc_video_close": drivers/media/video/pwc/pwc-if.c:1211: warning: "i" may be used uninitialized in this function This is true, and can cause a broken debug message to be logged. Here's a fix. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit f5e4feead773cb449212eacfa254a238a953d4d5 Author: Stas Sergeev Date: Sun Sep 2 03:56:18 2007 -0300 V4L/DVB (6144): Fix mux setup for composite sound on AverTV 307 Right now the composite sound input doesn't work on AverTV 307 because of the wrong mux setup. The composite sound is routed via an external 4channel multiplexer controlled by GPIO, while the code assumes an internal multiplexer instead. Presumably this was a copy/paste error, and noone have ever tested the functionality. With the attached patch it works properly, which gives me an ability to finally watch the cable TV under linux. Signed-off-by: Stas Sergeev Signed-off-by: Andrew Morton Acked-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 5614b02143171a99e0e6eb6c7d1d2f8750d2957f Author: Hans Verkuil Date: Thu Aug 23 17:48:41 2007 -0300 V4L/DVB (6095): ivtv: fix VIDIOC_G_ENC_INDEX flag handling Due to a documentation bug (the type mask is 3 bits long, not 2) the wrong frame types were filled in: the B and P frame types were swapped. This bug also hid a second bug: when a capture is stopped a last entry is written into the pgm index buffer with internal type 0, denoting the end of the program. This entry wasn't ignored, instead it was accidentally returned to the caller as a P frame. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f3da54ba140c6427fa4a32913e1bf406f41b5dda Author: Jens Axboe Date: Thu Sep 13 14:26:53 2007 +0200 Fix race with shared tag queue maps There's a race condition in blk_queue_end_tag() for shared tag maps, users include stex (promise supertrak thingy) and qla2xxx. The former at least has reported bugs in this area, not sure why we haven't seen any for the latter. It could be because the window is narrow and that other conditions in the qla2xxx code hide this. It's a real bug, though, as the stex smp users can attest. We need to ensure two things - the tag bit clearing needs to happen AFTER we cleared the tag pointer, as the tag bit clearing/setting is what protects this map. Secondly, we need to ensure that the visibility of the tag pointer and tag bit clear are ordered properly. [ I removed the SMP barriers - "test_and_clear_bit()" already implies all the required barriers. -- Linus ] Also see http://bugzilla.kernel.org/show_bug.cgi?id=7842 Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 9ca2152e173554e7ffb7919dc4916a7c61f8be1a Author: Jean Delvare Date: Thu Sep 13 12:19:46 2007 +0200 Fix this Paul Simon song's name Signed-off-by: Jean Delvare Signed-off-by: Linus Torvalds commit 106c4a9cef3671b0a251e64c8f6fb7f1a4d801c6 Author: aherrman@arcor.de Date: Tue Sep 11 20:37:37 2007 +0200 radeonfb: fix chip definition for Radeon Xpress 200M 0x5975 This fixes a problem introduced with commit b5f2f4d1a6d7efde39cfb5e1d034981c69f2214c The commit added a wrong chip definition to radeonfb which causes a blank console on my Laptop if radeonfb is loaded. The patch - renames PCI_CHIP_RS485_5975 to PCI_CHIP_RS482_5975 - corrects the chip family (RS480 instead of R300) for 0x5975 - ensures that PCI IDs are in ascending order in ati_ids.h Signed-off-by: Andreas Herrmann Tentatively-acked-by: Ben Herrenschmidt Signed-off-by: Linus Torvalds commit f2740e45ae59d76ce4303d83824d3625b23334e5 Author: aherrman@arcor.de Date: Tue Sep 11 20:22:28 2007 +0200 radeonfb: fix setting of PPLL_REF_DIV for RV370 5B60. As observed with various Radeon X300 cards console goes blank without that fix. Acked-by: Benjamin Herrenschmidt Signed-off-by: Andreas Herrmann Signed-off-by: Linus Torvalds commit b9338a78fc21e980d33c58b31f3bb37cd48a68f6 Author: Tzachi Perelstein Date: Sun Sep 9 14:24:59 2007 +0100 [ARM] 4567/1: Fix 'Oops - undefined instruction' when CONFIG_VFP=y on non VFP device vfp_init() takes care of the condition when CONFIG_VFP=y but no real VFP device exists. However, when this condition is true, a compiler might misplace code lines in a way that will break this support. (To be more specific - fmrx(FPSID) might be executed before vfp_testing_entry assignment, which will end up with Oops - undefined instruction). This patch adds a barrier() to guarantee the right execution ordering. Signed-off-by: Assaf Hoffman Signed-off-by: Russell King commit a53d6fb83efc75bbd7876459e6e1291c4925103d Author: Russell King Date: Mon Sep 3 09:43:54 2007 +0100 [ARM] realview: disable second GIC on RevB MPCore platforms The second GIC asserts a permanent interrupt on Rev.B MPCore platforms. Disable initialisation of this GIC to avoid unbootable systems. Signed-off-by: Russell King commit d526875deb42e0f4c0d31cb50b4e5bfaf19c3138 Author: Greg Kroah-Hartman Date: Thu Sep 13 06:01:24 2007 -0700 Revert "usb-storage: implement autosuspend" This reverts commit 8dfe4b14869fd185ca25ee88b02ada58a3005eaf. There are a number of issues still remaining in usb-storage autosuspend, so, to be safe, we need to revert this for now. Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 7d2c592609a7da950b458403f1936d382f38ff9c Author: Alan Stern Date: Mon Aug 20 10:48:05 2007 -0400 USB: disable autosuspend by default for non-hubs This patch (as965) disables autosuspend by default for all USB devices other than hubs. We are seeing too many devices that can't suspend or resume properly, the blacklist is growing unreasonably quickly, and this sort of thing should be handled in userspace. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit a041fe2e8d0bd749b2416ef79adc416e24af7c63 Author: Ishizaki Kou Date: Mon Aug 20 22:13:27 2007 +0900 spidernet: fix interrupt reason recognition This patch solves a problem that the spidernet driver sometimes fails to handle IRQ. The problem happens because, - In Cell architecture, interrupts may arrive at an interrupt controller, even if they are masked by the setting on registers of devices. It happens when interrupt packets are sent just before the interrupts are masked. - spidernet interrupt handler compares interrupt reasons with interrupt masks, so when such interrupts occurs, spidernet interrupt handler returns IRQ_NONE. - When all of interrupt handler return IRQ_NONE, linux kernel disables the IRQ and it no longer delivers interrupts to the interrupt handlers. spidernet doesn't work after above sequence, because it can't receive interrupts. This patch changes spidernet interrupt handler that it compares interrupt reason with SPIDER_NET_INTX_MASK_VALUE. Signed-off-by: Kou Ishizaki Signed-off-by: Jeff Garzik commit 64251621796d5d4c0c4b6a6b6d845e4a43c63aee Author: Jan-Bernd Themann Date: Fri Sep 7 12:30:24 2007 +0200 ehea: fix last_rx update Update last_rx in registered device struct instead of in the dummy device. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 8759cf76e9a6322fc68dcbfaa1cbad00c74b199e Author: Jan-Bernd Themann Date: Fri Sep 7 12:30:17 2007 +0200 ehea: propagate physical port state Introduces a module parameter to decide whether the physical port link state is propagated to the network stack or not. It makes sense not to take the physical port state into account on machines with more logical partitions that communicate with each other. This is always possible no matter what the physical port state is. Thus eHEA can be considered as a switch there. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 026d7917e592f91063861e002adf1c806d7756ae Author: Hans-Jürgen Koch Date: Fri Aug 31 14:30:08 2007 +0200 Fix a lock problem in generic phy code Lock debugging finds a problem in phy.c and phy_device.c, this patch fixes it. Tested on an AT91SAM9263-EK board, kernel 2.6.23-rc4. Signed-off-by: Hans J. Koch Signed-off-by: Jeff Garzik commit d1b139c039704c391ab47c6c9540c28f7fcaa489 Author: Stephen Hemminger Date: Wed Sep 5 16:56:19 2007 +0100 sky2: restore multicast list on resume and other ops Need to restore multicast settings on resume and after 'ethtool -r'. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5f08e46b621a769e52a9545a23ab1d5fb2aec1d4 Author: Luca Tettamanti Date: Fri Sep 7 20:25:01 2007 -0400 atl1: disable broken 64-bit DMA 64-bit DMA causes data corruption with atl1. We don't know why, and Atheros is working on it. For now, just use 32-bit DMA. This is a big hack that is probably wrong, but it stops the bleeding. Signed-off-by: Luca Tettamanti Acked-by: Chris Snook Acked-by: Jay Cliburn Signed-off-by: Jeff Garzik commit c413fecc763e380ec93dc6faf726e7e735ade04e Author: Rusty Russell Date: Tue Sep 11 17:06:37 2007 +1000 lguest: Fix guest crash when CONFIG_X86_USE_3DNOW=y One of the very first things lguest_init() does is a memcpy. On Athlon/Duron/K7 or CyrixIII/VIA-C3 or Geode GX/LX, this tries to use MMX. memcpy -> _mmx_memcpy -> kernel_fpu_begin -> clts -> paravirt_ops.clts But we haven't set paravirt_ops.clts yet, so we do the native version and crash. The simplest solution is to use __memcpy. Thanks to Michael Rasenberger for the bug report. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit ee56c47440ab04c6a35c835a9bcc4193304adf93 Author: Olof Johansson Date: Wed Aug 22 19:26:37 2007 -0500 [POWERPC] Move serial_dev_init to device_initcall() With the I/O space rewrite by BenH, the legacy_serial serial_dev_init() initcall is now called before I/O space is setup, but it's dependent on it being available. Since there's no way to make dependencies between initcalls, we'll just have to move it to device_initcall(). Yes, it's suboptimal but I'm not aware of any better solution at this time, and it fixes a regression from 2.6.22. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 9863b78a1a82347fa1e727bdca0110151a5c4f10 Author: Andi Kleen Date: Tue Sep 11 14:02:12 2007 +0200 i386: Fix leak of ../kernel from top level Fix a compile error when the directory above the kernel source contains a file named "kernel". Originally from Ben LaHaise, modified based on feedback from Sam Ravnborg Signed-off-by: Andi Kleen Cc: Sam Ravnborg Cc: Ben LaHaise Signed-off-by: Linus Torvalds commit 2966c6a03efd90197582eae8590d82c789475680 Author: Andi Kleen Date: Tue Sep 11 14:02:11 2007 +0200 x86_64: Prevent doing anything from cache_remove_dev() when info setup failed. AK: Removed the unlikelies because gcc heuristics default to unlikely AK: for test == NULL and for negative returns. Cc: Venkatesh Pallipadi Cc: Ashok Raj Cc: Akinobu Mita Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 95b08679963c78ce0d675224a6efdb5169f2bf75 Author: Andi Kleen Date: Tue Sep 11 14:02:09 2007 +0200 x86_64: Add missing mask operation to vdso vdso vgetns() didn't mask the time source offset calculation, which could lead to time problems with 32bit HPET. Add the masking. Thanks to Chuck Ebbert for tracking this down. Signed-off-by: Andi Kleen Cc: Chuck Ebbert Signed-off-by: Linus Torvalds commit b0052fcaefb829a29fdc6567274daf0b75329fc3 Author: Paul Mackerras Date: Thu Sep 13 01:16:31 2007 +1000 Define termios_1 functions for powerpc, s390, avr32 and frv Commit f629307c857c030d5a3dd777fee37c8bb395e171 introduced uses of kernel_termios_to_user_termios_1 and user_termios_to_kernel_termios_1 on all architectures. However, powerpc, s390, avr32 and frv don't currently define those functions since their termios struct didn't need to be changed when the arbitrary baud rate stuff was added, and thus the kernel won't currently build on those architectures. This adds definitions of kernel_termios_to_user_termios_1 and user_termios_to_kernel_termios_1 to include/asm-generic/termios.h which are identical to kernel_termios_to_user_termios and user_termios_to_kernel_termios respectively. The definitions are the same because the "old" termios and "new" termios are in fact the same on these architectures (which are the same ones that use asm-generic/termios.h). Signed-off-by: Paul Mackerras Cc: Andrew Morton Cc: Alan Cox Cc: David Miller Signed-off-by: Linus Torvalds commit fb4f0e8832e0075849b41b65f6bb9fdfa7593b99 Author: Kumar Gala Date: Mon Sep 10 14:57:34 2007 -0500 [POWERPC] Enable GENERIC_ISA_DMA if FSL_ULI1575 to fix compile issue Since the ULI1575 has a ISA bus we need to enable the generic ISA dma support for drivers that might expect it. Without this we get compile errors like the following: ound/built-in.o: In function `claim_dma_lock': /home/galak/git/linux-8572/include/asm/dma.h:189: undefined reference to `dma_spin_lock' /home/galak/git/linux-8572/include/asm/dma.h:189: undefined reference to `dma_spin_lock' sound/built-in.o: In function `release_dma_lock': /home/galak/git/linux-8572/include/asm/dma.h:195: undefined reference to `dma_spin_lock' sound/built-in.o: In function `claim_dma_lock': /home/galak/git/linux-8572/include/asm/dma.h:189: undefined reference to `dma_spin_lock' /home/galak/git/linux-8572/include/asm/dma.h:189: undefined reference to `dma_spin_lock' sound/built-in.o:/home/galak/git/linux-8572/include/asm/dma.h:195: more undefined references to `dma_spin_lock' follow make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Kumar Gala commit 1da97f83a843f92678b614fcaebdb3e4ebd6c9dd Author: David S. Miller Date: Wed Sep 12 14:10:58 2007 +0200 [BLUETOOTH]: Fix non-COMPAT build of hci_sock.c Signed-off-by: David S. Miller commit 0931ce8439365358b1cacf888ddc8fb008036125 Author: Mike Frysinger Date: Wed Sep 12 16:30:15 2007 +0800 Blackfin arch: fix some bugs in lib/string.h functions found by our string testing modules - use ints for the return value rather than char since we actually return an int and we dont want it improperly being sign extended during the reload http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3525 - if src is shorter than the requested number of copy bytes, we need to null pad the rest http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3524 - mark these as __volatile__ and add memory to the clobber list so gcc does not optimize buffers around on us we may be using - rewrite asm code to be readable/maintainable Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2cc7345ff71b27b5ac99e49ad7de39360042f601 Author: David S. Miller Date: Wed Sep 12 10:15:59 2007 +0200 [SPARC64]: Fix booting on V100 systems. On the root PCI bus, the OBP device tree lists device 3 twice. Once as 'pm' and once as 'lomp'. Everything goes downhill from there. Ignore the second instance to workaround this. Thanks to Kövedi_Krisztián for the bug report and testing the fix. Signed-off-by: David S. Miller commit 7111de76438e05ceab8ba2a471192fa3ea6c3572 Author: Adrian Bunk Date: Tue Sep 11 15:24:13 2007 -0700 fix SERIAL_CORE_CONSOLE driver dependencies SERIAL_BFIN=m or SERIAL_MUX=m shouldn't allow SERIAL_CORE_CONSOLE=y. Additionally, this patch fixes whitespace instead of tabs at the SERIAL_MUX_CONSOLE option. Signed-off-by: Adrian Bunk Cc: Bryan Wu Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c54ea95852a920720868d0e18bb4e9d645ea007 Author: Krzysztof Halasa Date: Tue Sep 11 15:24:12 2007 -0700 Subject: [PATCH] Intel FB pixel clock calculation fix Intel framebuffer mis-calculated pixel clocks. The pixel clock (and thus both H and V sync) will be slower than requested, so if you set the minimum allowed the display may not sync. In case of really old CRT display it could theoretically damage it. I'm using it with PAL TV (using RGB input - SCART connector) and the bug prevented it from working at all (TV requirements are more strict and made the bug visible). Signed-off-by: Krzysztof Halasa Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba0268a8b056f2ad846f1f8837a764c21bb6425e Author: Christoph Lameter Date: Tue Sep 11 15:24:11 2007 -0700 SLUB: accurately compare debug flags during slab cache merge This was posted on Aug 28 and fixes an issue that could cause troubles when slab caches >=128k are created. http://marc.info/?l=linux-mm&m=118798149918424&w=2 Currently we simply add the debug flags unconditional when checking for a matching slab. This creates issues for sysfs processing when slabs exist that are exempt from debugging due to their huge size or because only a subset of slabs was selected for debugging. We need to only add the flags if kmem_cache_open() would also add them. Create a function to calculate the flags that would be set if the cache would be opened and use that function to determine the flags before looking for a compatible slab. [akpm@linux-foundation.org: fixlets] Signed-off-by: Christoph Lameter Cc: Chuck Ebbert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4150d3f549fe2355625017b2a6ff72aec98bcef0 Author: Andrew Morton Date: Tue Sep 11 15:24:10 2007 -0700 revert "highmem: catch illegal nesting" Revert commit 656dad312fb41ed95ef08325e9df9bece3aacbbb Author: Ingo Molnar Date: Sat Feb 10 01:46:36 2007 -0800 [PATCH] highmem: catch illegal nesting Catch illegally nested kmap_atomic()s even if the page that is mapped by the 'inner' instance is from lowmem. This avoids spuriously zapped kmap-atomic ptes and turns hard to find crashes into clear asserts at the bug site. Problem is, a get_zeroed_page(GFP_KERNEL) from interrupt context will trigger this check if non-irq code on this CPU holds a KM_USER0 mapping. But that get_zeroed_page() will never be altering the kmap slot anyway due to the GFP_KERNEL. Cc: Christoph Lameter Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 298a5df45d497e66064fda22ef0abf13766d3333 Author: Tony Breeds Date: Tue Sep 11 15:24:03 2007 -0700 Fix "no_sync_cmos_clock" logic inversion in kernel/time/ntp.c Seems to me that this timer will only get started on platforms that say they don't want it? Signed-off-by: Tony Breeds Cc: Paul Mackerras Cc: Gabriel Paubert Cc: Zachary Amsden Acked-by: Thomas Gleixner Cc: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e2f6db88a6900bc9db576d6b478b12ee60d61f7 Author: Pavel Emelyanov Date: Tue Sep 11 15:24:01 2007 -0700 Leases can be hidden by flocks The inode->i_flock list contains the leases, flocks and posix locks in the specified order. However, the flocks are added in the head of this list thus hiding the leases from F_GETLEASE command, from time_out_leases() and other code that expects the leases to come first. The following example will demonstrate this: #define _GNU_SOURCE #include #include #include #include static void show_lease(int fd) { int res; res = fcntl(fd, F_GETLEASE); switch (res) { case F_RDLCK: printf("Read lease\n"); break; case F_WRLCK: printf("Write lease\n"); break; case F_UNLCK: printf("No leases\n"); break; default: printf("Some shit\n"); break; } } int main(int argc, char **argv) { int fd, res; fd = open(argv[1], O_RDONLY); if (fd == -1) { perror("Can't open file"); return 1; } res = fcntl(fd, F_SETLEASE, F_WRLCK); if (res == -1) { perror("Can't set lease"); return 1; } show_lease(fd); if (flock(fd, LOCK_SH) == -1) { perror("Can't flock shared"); return 1; } show_lease(fd); return 0; } The first call to show_lease() will show the write lease set, but the second will show no leases. Fix the flock adding so that the leases always stay in the head of this list. Found during making the flocks pid-namespaces aware. Signed-off-by: Pavel Emelyanov Acked-by: "J. Bruce Fields" Cc: Trond Myklebust Cc: Andrew Morton Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4740622c5c805d88c63a50747a2d05537dd233cf Author: Zhenyu Wang Date: Tue Sep 11 15:23:58 2007 -0700 intel_agp: fix GTT map size on G33 G33 has 1MB GTT table range. Fix GTT mapping in case like 512MB aperture size. Signed-off-by: Zhenyu Wang Acked-by: Dave Airlie Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f443675affe3f16dd428e46f0f7fd3f4d703eeab Author: Zhenyu Wang Date: Tue Sep 11 15:23:57 2007 -0700 intel_agp: fix stolen mem range on G33 G33 GTT stolen memory is below graphics data stolen memory and be seperate, so don't subtract it in stolen mem counting. Signed-off-by: Zhenyu Wang Acked-by: Dave Airlie Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e845498e4ce4b0e704761e9462e5c29895ced34f Author: Geert Uytterhoeven Date: Tue Sep 11 15:23:56 2007 -0700 m68k(nommu): add missing syscalls Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd23aae4f5edf4e1dbd8f7f8013a754ba3253f48 Author: Alexey Dobriyan Date: Tue Sep 11 15:23:55 2007 -0700 Fix select on /proc files without ->poll Taneli Vähäkangas reported that commit 786d7e1612f0b0adb6046f19b906609e4fe8b1ba aka "Fix rmmod/read/write races in /proc entries" broke SBCL + SLIME combo. The old code in do_select() used DEFAULT_POLLMASK, if couldn't find ->poll handler. The new code makes ->poll always there and returns 0 by default, which is not correct. Return DEFAULT_POLLMASK instead. Steps to reproduce: install emacs, SBCL, SLIME emacs M-x slime in *inferior-lisp* buffer [watch it doing "Connecting to Swank on port X.."] Please, apply before 2.6.23. P.S.: why SBCL can't just read(2) /proc/cpuinfo is a mystery. Signed-off-by: Alexey Dobriyan Cc: T Taneli Vahakangas Cc: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3210f0ecdba6a81c3f8efe6f442d2e1f57db98f9 Author: Michael Ellerman Date: Tue Sep 11 15:23:51 2007 -0700 Restore call_usermodehelper_pipe() behaviour The semantics of call_usermodehelper_pipe() used to be that it would fork the helper, and wait for the kernel thread to be started. This was implemented by setting sub_info.wait to 0 (implicitly), and doing a wait_for_completion(). As part of the cleanup done in 0ab4dc92278a0f3816e486d6350c6652a72e06c8, call_usermodehelper_pipe() was changed to pass 1 as the value for wait to call_usermodehelper_exec(). This is equivalent to setting sub_info.wait to 1, which is a change from the previous behaviour. Using 1 instead of 0 causes __call_usermodehelper() to start the kernel thread running wait_for_helper(), rather than directly calling ____call_usermodehelper(). The end result is that the calling kernel code blocks until the user mode helper finishes. As the helper is expecting input on stdin, and now no one is writing anything, everything locks up (observed in do_coredump). The fix is to change the 1 to UMH_WAIT_EXEC (aka 0), indicating that we want to wait for the kernel thread to be started, but not for the helper to finish. Signed-off-by: Michael Ellerman Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f629307c857c030d5a3dd777fee37c8bb395e171 Author: David Miller Date: Tue Sep 11 15:23:50 2007 -0700 tty: termios locking functions break with new termios type I ran into a few problems. n_tty_ioctl() for instance: drivers/char/tty_ioctl.c:799: error: $,1rxstruct termios$,1ry has no member named $,1rxc_ispeed$,1ry This is calling the copy interface that is supposed to be using a termios2 when the new interfaces are defined, however: case TIOCGLCKTRMIOS: if (kernel_termios_to_user_termios((struct termios __user *)arg, real_tty->termios_locked)) return -EFAULT; return 0; This is going to write over the end of the userspace structure by a few bytes, and wasn't caught by you yet because the i386 implementation is simply copy_to_user() which does zero type checking. Signed-off-by: Alan Cox Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 179c85ea53bef807621f335767e41e23f86f01df Author: Arnd Bergmann Date: Tue Sep 11 15:23:49 2007 -0700 futex_compat: fix list traversal bugs The futex list traversal on the compat side appears to have a bug. It's loop termination condition compares: while (compat_ptr(uentry) != &head->list) But that can't be right because "uentry" has the special "pi" indicator bit still potentially set at bit 0. This is cleared by fetch_robust_entry() into the "entry" return value. What this seems to mean is that the list won't terminate when list iteration gets back to the the head. And we'll also process the list head like a normal entry, which could cause all kinds of problems. So we should check for equality with "entry". That pointer is of the non-compat type so we have to do a little casting to keep the compiler and sparse happy. The same problem can in theory occur with the 'pending' variable, although that has not been reported from users so far. Based on the original patch from David Miller. Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: David Miller Signed-off-by: Arnd Bergmann Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a570ab6f10462b062c28188b64377b8034235761 Author: Andre Haupt Date: Tue Sep 11 15:23:47 2007 -0700 fix typo in Documentation/SubmittingPatches Signed-off-by: Andre Haupt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a83308e60f63749dc1d08acb0d8fa9e2ec13c9a7 Author: Matthew Wilcox Date: Tue Sep 11 15:23:47 2007 -0700 PTR_ALIGN The AdvanSys driver wants to align some pointers, and the ALIGN macro doesn't work for pointers. Rather than try to make it work, add a new PTR_ALIGN macro which is typesafe. Signed-off-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3d79b20df961880697c8442e1f7bc7969ce50a4 Author: Mike Rapoport Date: Tue Sep 11 15:23:45 2007 -0700 RTC v3020 fixes Fix off-by-one in month calculations Add delay for bus accesses to satisfy Tw > 500ns Signed-off-by: Mike Rapoport Acked-by: Raphael Assenat Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 693c10e6c1087e8f0ba0e2fd1a67adcff230a484 Author: Robert P. J. Day Date: Tue Sep 11 15:23:41 2007 -0700 H8/300: Fix misnamed "CONFIG_BLKDEV_RESERVE_ADDRESS" Kconfig variable Signed-off-by: Robert P. J. Day Acked-by: Satyam Sharma Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c811ac5366750568b0f412c95c6074dec20c69b2 Author: Rob Landley Date: Tue Sep 11 15:23:41 2007 -0700 Documentation/00-INDEX: notice ecryptfs.txt moved ecryptfs.txt moved into filesystems, make 00-INDEX follow. Signed-off-by: Rob Landley Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 868047fcbb85dbb44ddd98c336fef83236a2c06a Author: Matthew Wilcox Date: Tue Sep 11 15:23:38 2007 -0700 Fix DAC960 driver on machines which don't support 64-bit DMA Addresses http://bugzilla.kernel.org/show_bug.cgi?id=8942 Use PCI_DMA_* constants instead of own private definitions Fall back to 32-bit DMA mask if a 64-bit one fails Signed-off-by: Matthew Wilcox Acked-by: Jeff Garzik Tested-by: Lars Cc: Alessandro Polverini Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a1a1a758bf0107d1f78ff1d622f45987803d894 Author: Andreas Gruenbacher Date: Tue Sep 11 15:23:37 2007 -0700 afs: mntput called before dput dput must be called before mntput here. Signed-off-by: Andreas Gruenbacher Acked-By: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2e0855182e2be26b252745b2bb7558705cb0dd2 Author: NeilBrown Date: Tue Sep 11 15:23:36 2007 -0700 md: fix some bugs with growing raid5/raid6 arrays. The recent changed to raid5 to allow offload of parity calculation etc introduced some bugs in the code for growing (i.e. adding a disk to) raid5 and raid6. This fixes them Acked-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b70ae1d9f69ba52767af89f90fd79587669bc7ff Author: Bjorn Helgaas Date: Tue Sep 11 15:23:35 2007 -0700 PNP: remove SMCf010 quirk If the quirk enables the SIR part of the SMCf010 device, the 8250 driver may claim it as a legacy ttyS device, which makes the legacy probe in the smsc-ircc2 driver fail. Signed-off-by: Bjorn Helgaas Cc: Andrey Borzenkov Cc: Michal Piotrowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 719b6f29fc2064eeeaa360ca06ce11aa207606fb Author: Thiemo Seufer Date: Tue Sep 11 15:23:33 2007 -0700 BCM1480 serial build fix Restores serial functionality for the BCM1480. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9b5a5d193c3f0bc2a8331d95e0e74d76eb8ee2c Author: Aristeu Rozanski Date: Tue Sep 11 15:23:32 2007 -0700 drivers/edac: fix e752x correct return code This patch changes the error code when dev0:fun1 was hidden by BIOS to one more appropriate. Signed-off-by: Aristeu Rozanski Signed-off-by: Mark Gross Signed-off-by: Doug Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c8bb2cfa2d6b3dbf7a69641587152a60a96f03b Author: Doug Thompson Date: Tue Sep 11 15:23:31 2007 -0700 drivers/edac: fix printk level down to debug from emerg When EDAC is configured for EDAC DEBUGGING, the debug printk output level was set TOO high (EMERG). This patch brings it down to a DEBUG level Signed-off-by: Doug Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65e213cdb2e52ba03e61c4d855293054bd8de632 Author: Jan Andersson Date: Tue Sep 11 15:23:30 2007 -0700 spi_mpc83xx: hang fix When the spi_mpc83xx driver receives a tx_buf pointer which is NULL, it only writes one zero filled word to the transmit register. If the driver expects to receive more than one word it will wait forever for a second receive interrupt. With this patch the controller will shift out zeroes until all words have been received. Signed-off-by: Jan Andersson Tested-by: Anton Vorontsov Signed-off-by: David Brownell Acked-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c3013e9b91ad23ecae88e45405e98208cce455d Author: Jan Kara Date: Tue Sep 11 15:23:29 2007 -0700 quota: fix infinite loop If we fail to start a transaction when releasing dquot, we have to call dquot_release() anyway to mark dquot structure as inactive. Otherwise we end in an infinite loop inside dqput(). Signed-off-by: Jan Kara Cc: xb Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df96efd73b81b8bc2d23b3d8b6025cce3d43db6c Author: Yoichi Yuasa Date: Tue Sep 11 22:24:45 2007 +0100 leds: Add missing include for leds.h This patch has added #include to include/linux/leds.h for rwlock_t. Signed-off-by: Yoichi Yuasa Signed-off-by: Richard Purdie commit 56fe23d5a702a39ee3bb29a04b55db292479d07a Author: Mikael Pettersson Date: Tue Sep 11 22:28:37 2007 +0200 pdc202xx_new: PLL detection fix Fix a bitmask typo in the pdc202xx_new PLL frequency detection code which causes it to truncate an intermediate difference to 26 bits instead of the correct 30 bits (the PLL's bitwidth). Signed-off-by: Mikael Pettersson Signed-off-by: Bartlomiej Zolnierkiewicz commit 58e47bb1767aa89bfa9cf7ecf4bc051886ae22b3 Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 11 22:28:37 2007 +0200 via82cxxx: add Arima W730-K8 and other rebadgings to short cables list Port of Alan's patch for pata_via.c. Cc: Alan Cox Cc: Mikael Pettersson Signed-off-by: Bartlomiej Zolnierkiewicz commit 6c28c1f59dce3325d373f44766e23eb4237a74c8 Author: Tony Breeds Date: Tue Sep 11 22:28:36 2007 +0200 pmac: build fix Ensure that BLK_DEV_IDE is built-in before allowing BLK_DEV_IDE_PMAC to be selected. Signed-off-by: Tony Breeds Cc: Bret Towe Signed-off-by: Bartlomiej Zolnierkiewicz commit 03e6f489b32c0e7877bfe48f5619db725edf1fea Author: Daniel Exner Date: Tue Sep 11 22:28:36 2007 +0200 pata_ali/alim15x3: override 80-wire cable detection for Toshiba S1800-814 Add Toshiba S1800-814 to whitelist for both pata_ali and alim15x3, as it is correctly detected as 40-wire connected but this cable is short enough to still use transfer modes higher than UDMA33. Signed-off-by: Daniel Exner Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 2808b0a96a05ac8e826b5380eb2d30a10586707a Author: Sergei Shtylyov Date: Tue Sep 11 22:28:36 2007 +0200 hpt366: UltraDMA filter for SATA cards (take 2) The Marvell bridge chips used on HighPoint SATA cards do not seem to support the UltraDMA modes 1, 2, and 3 as well as any MWDMA modes, so the driver needs to account for this in the udma_filter() method. In order to achieve that, do the following changes: - install the method for all chips, not only HPT36x/370 and improve the code formatting by killing the extra tabs while at it; - add to the end of the 'switch' statement in the method cases for HPT372[AN] and HPT374 chips upon which the known SATA cards are based; - use hwif->ultra_mask as a default mask for the ide_dma_filter() method to behave correctly; - move the HPT370[A] cases below the HPT36x case for consistency. While at it, replace the explicit UltraDMA mode masks with ATA_UDMA* constants all over the driver... Signed-off-by: Sergei Shtylyov Cc: Bob Ham Signed-off-by: Bartlomiej Zolnierkiewicz commit 6c3c22f3cb2b7cd0a42a024b93db76b5c3133d37 Author: Sergei Shtylyov Date: Tue Sep 11 22:28:36 2007 +0200 ide: add ide_dev_is_sata() helper (take 2) Make the SATA drive detection code from eighty_ninty_three() into inline ide_dev_is_sata() helper fixing it along the way to be more strict while checking word 80 for the reserved values... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7293136810936bbde403bcb67ac1b4dbae4dd790 Author: Sergei Shtylyov Date: Tue Sep 11 22:28:35 2007 +0200 hpt366: fix PCI clock detection for HPT374 (take 4) HPT374 BIOS seems to only save f_CNT register value for the function #0 before re-tuning DPLL (that causes the driver to report obviously distorted f_CNT for the function #1) -- fix this by always reading the saved f_CNT register value from the function #0 in the driver's init_chipset() method. While at it, introduce 'chip_type' for holding the 'struct hpt_info' field of the same name and replace the structure assignment with memcpy()... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 35198234a26fdc0f858774e3ba143796323059a0 Author: Sergei Shtylyov Date: Tue Sep 11 22:28:34 2007 +0200 pdc202xx_new: fix PCI refcounting The driver erroneously "lets go" the mate IDE chip in init_setup_pdc20270() when ide_setup_pci_devices() call succeeds -- fix this, and drop a couple of useless assignments in this function while at it... Bart: keep "findev" variable initialization to silence gcc Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0505b55fb51fa289027f33ae793995c191277536 Author: Sergei Shtylyov Date: Tue Sep 11 22:28:34 2007 +0200 ide: fix PCI refcounting The IDE core never marked the PCI IDE devices as being in use after succesfull driver probe call (the devices were marked in use only while being probed), and so was susceptible to issues caused by unsolicited PCI hotplug device removal. So, add pci_dev_get() call to ide_scan_pcidev() and convert this function to the kernel style, also dropping a bunch of useless curly braces from its caller, ide_scan_pcibus() and somewhat beautifying printk() call there, while at it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit dc4b6fd620aec395048b2877daca87ba7bfcd5e0 Author: Kumar Gala Date: Tue Sep 11 22:28:33 2007 +0200 mpc8xx: Only build mpc8xx on arch/ppc Currently the mpc8xx ide driver will only work on arch/ppc so only allow it to be built there. Also, killed a minor include that isn't actually used by the driver. Signed-off-by: Kumar Gala Cc: Paul Mackerras Signed-off-by: Bartlomiej Zolnierkiewicz commit e535e2efd295c3990bb9f654c8bb6bd176ebdc2b Author: Mark Fasheh Date: Fri Aug 31 10:23:41 2007 -0700 ocfs2: Fix calculation of i_blocks during truncate We were setting i_blocks too early - before truncating any allocation. Correct things to set i_blocks after the allocation change. Signed-off-by: Mark Fasheh commit 30b8548f2c270c0205558fe4826a6ab8e7fe51ad Author: tao.ma@oracle.com Date: Thu Sep 6 08:02:25 2007 +0800 [PATCH] ocfs2: Fix a wrong cluster calculation. In ocfs2_alloc_write_write_ctxt, the written clusters length is calculated by the byte length only. This may cause some problems if we start to write at some position in the end of one cluster and last to a second cluster while the "len" is smaller than a cluster size. In that case, we have to write 2 clusters actually. So we have to take the start position into consideration also. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit c0123adef626607535f3c2c93b530c36780885e0 Author: Tiger Yang Date: Sat Sep 8 00:16:10 2007 +0800 [PATCH] ocfs2: fix mount option parsing For some mount option types, ocfs2_parse_options() will try to access sb->s_fs_info to get at the ocfs2 private superblock. Unfortunately, that hasn't been allocated yet and will cause a kernel crash. Fix this by storing options in a struct which can then get pushed into the ocfs2_super once it's been allocated later. If we need more options which store to the ocfs2_super in the future, we can just fields to this struct. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 10b0845bed2b93f88d9758880a0a0e53f50c5139 Author: Mark Fasheh Date: Thu Aug 23 11:17:55 2007 -0700 ocfs2: update docs for new features Update documentation listing ocfs2 features to reflect the current state of the file system. Add missing descriptions for some mount options which ocfs2 supports. Signed-off-by: Mark Fasheh commit b868868ae0f7272228c95cc760338ffe35bb739d Author: Ralf Baechle Date: Tue Sep 11 18:05:33 2007 +0100 [MIPS] Fix aliasing bug in copy_user_highpage. Copy_user_highpage was written assuming it was only being called for breaking COW pages in which case the source page isn't cached as in marked cachable under it kernel virtual address. If it is called anyway the aliasing avoidance strategy implemented by kmap_coherent will fail. Avoid the use of kmap_coherent for pages marked dirty and to avoid another instance of this sort of bug, place a BUG_ON in kmap_coherent. Signed-off-by: Ralf Baechle commit 01e9943c79ad4edb2c0b76c99029e34d704223ce Author: Thomas Bogendoerfer Date: Tue Sep 11 12:43:55 2007 +0200 [MIPS] IP22: fix wrong argument order Fix wrong argument order; this is just a minimal fix for the half baked redadb/writeb() conversion. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 0ba8bc60ca482d678fcc63af44b243de6555dab5 Author: Thomas Bogendoerfer Date: Tue Sep 11 12:46:03 2007 +0200 [MIPS] IP22: Fix wrong check for second HPC Wrong check for the second hpc on fullhouse machines, caused DBEs on SGI Indys Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 98f9085405b059d1e1915fbb9b861d9efcd7c597 Author: Yoichi Yuasa Date: Thu Sep 6 21:32:57 2007 +0900 [MIPS] Ocelot: remove remaining bits Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit d6698a2cd6ba23f5f73b0115c277dca8341af4a0 Author: Thiemo Seufer Date: Wed Sep 5 12:11:22 2007 +0100 [MIPS] TLB: Fix instruction bitmasks Signed-Off-By: Thiemo Seufer Signed-off-by: Ralf Baechle commit 8bce4e9de113e2957c74cc4ce36fbd6eff47d24d Author: Maxime Bizon Date: Fri Aug 31 11:03:14 2007 +0200 [MIPS] R10000: Fix wrong test in dma-default.c Signed-off-by: Maxime Bizon Signed-off-by: Ralf Baechle commit 4af2b1454da7a2feec071a6a50dd957df7d0b7a7 Author: Ralf Baechle Date: Mon Sep 3 16:22:26 2007 +0200 [MIPS] Provide empty irq_enable_hazard definition for legacy and R1 cores. Following a strict interpretation the empty definition of irq_enable_hazard has always been a bug - but an intentional one because it didn't bite. This has now changed, for uniprocessor kernels mm/slab.c:do_drain() [...] on_each_cpu(do_drain, cachep, 1, 1); check_irq_on(); [...] may be compiled into a mtc0 c0_status; mfc0 c0_status sequence resulting in a back-to-back hazard. Signed-off-by: Ralf Baechle commit 76e7f79950b54eb17f4041d020811331b7ae1a9e Author: Ralf Baechle Date: Thu Aug 30 00:58:53 2007 +0100 [MIPS] Sibyte: Remove broken dependency on EXPERIMENTAL from SIBYTE_SB1xxx_SOC. Otherwise Kconfig will produce a nonsenical .config for a kernel that is neither 32-bit nor 64-bit. Signed-off-by: Ralf Baechle commit ad015f41e1ea7c64bb8b25c46c33bb049ec54f71 Author: Ralf Baechle Date: Wed Aug 29 14:21:45 2007 +0100 [MIPS] Kconfig: whitespace cleanup. Signed-off-by: Ralf Baechle commit 41f9c78c2e599d3a50cf092eda2d1c2d5962bda8 Author: Ralf Baechle Date: Wed Aug 29 08:34:39 2007 +0100 [MIPS] PCI: Set need_domain_info if controller domain index is non-zero. This fixes this little funny: bigsur:/proc/bus/pci# ls -l total 0 dr-xr-xr-x 2 root root 0 Aug 28 19:31 00 dr-xr-xr-x 2 root root 0 Aug 28 19:31 00 dr-xr-xr-x 2 root root 0 Aug 28 19:31 01 dr-xr-xr-x 2 root root 0 Aug 28 19:31 03 -r--r--r-- 1 root root 0 Aug 28 19:31 devices Signed-off-by: Ralf Baechle commit 28e18a0f691b3737f73ab9033ded6a4da6c31b2f Author: Ralf Baechle Date: Wed Aug 29 00:38:13 2007 +0100 [MIPS] BCM1480: Fix computation of interrupt mask address register. CC arch/mips/sibyte/bcm1480/irq.o arch/mips/sibyte/bcm1480/irq.c: In function 'bcm1480_mask_irq': arch/mips/sibyte/bcm1480/irq.c:112: warning: cast to pointer from integer of different size arch/mips/sibyte/bcm1480/irq.c:114: warning: cast to pointer from integer of different size arch/mips/sibyte/bcm1480/irq.c: In function 'bcm1480_unmask_irq': arch/mips/sibyte/bcm1480/irq.c:130: warning: cast to pointer from integer of different size arch/mips/sibyte/bcm1480/irq.c:132: warning: cast to pointer from integer of different size Signed-off-by: Ralf Baechle commit 045e4bb2bafb7aa8141c2f8332ce31b224ac3bb0 Author: Kyungmin Park Date: Fri Aug 10 14:00:21 2007 -0700 [MIPS] i8259: Add disable method. After 76d2160147f43f982dfe881404cfde9fd0a9da21, the qemu NE2000 was frequently producing WATCHDOG timeouts. Signed-off-by: Kyungmin Park Cc: Ralf Baechle Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit dafd49fc6cf68f815a4c2838c2c1407678d82e51 Author: Alan Cox Date: Fri Aug 10 14:00:20 2007 -0700 [MIPS] tty: add the new ioctls and definitions. Same as all the others, just put in the constants for the existing kernel code and termios2 structure Signed-off-by: Alan Cox Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit e0cda54e4414e98f0bf72116d8522f4e434f6b4b Author: Anti Sullin Date: Thu Aug 30 16:15:16 2007 +0200 bug in AT91 MCI suspend routines This patch fixes a bug in AT91 mmc host driver, that enables the wakeup from suspend on card detection pin even if the card detect pin is not available (==0). If not card detection pin is defined, IRQ0 == FIQ gets enabled and if some activity is present on that pin, the system gets a FIQ request, that causes a crash. Signed-off-by: Anti Sullin Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 03fc370bdc1b31f3d09bd88d65bc50c03f450a9d Author: Satyam Sharma Date: Mon Sep 3 01:42:43 2007 +0530 USB: drivers/usb/serial/bus.c: Fix incompatible pointer type warning drivers/usb/serial/bus.c: In function usb_serial_bus_deregister: drivers/usb/serial/bus.c:185: warning: passing argument 1 of free_dynids from incompatible pointer type Above build warning comes when CONFIG_HOTPLUG=n because argument of free_dynids() in serial/bus.c is a struct usb_serial_driver, not a struct usb_driver. This is not a runtime bug, because the function is an empty stub and never dereferences the passed pointer anyway. Signed-off-by: Satyam Sharma Signed-off-by: Greg Kroah-Hartman commit e6a20ff999fe849d1f5f15d5e14763f5a553778f Author: Oliver Neukum Date: Tue Aug 28 10:34:22 2007 +0200 USB: another quirky device (LCD display) this time it is an LCD. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 49b4f902857c3d8d95b47ae5a8cecb34ae96a3ba Author: David Brownell Date: Sun Aug 26 12:44:24 2007 -0700 USB: fix serial gadget ACM breakage Two of the CDC ACM control requests in the serial gadget have never been correct, and have been reported to cause serious troubles ... as in, soft lockup and maybe watchdog reset (depending on hardware). This patch makes those request fail cleanly, rather than misbehaving. Someone using CDC ACM should fix them according to the FIXME comments which now replace the previous bugs. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 86833691c21efba661bd3512d2ebfa0b96c011c5 Author: Lamarque Vieira Souza Date: Tue Sep 4 12:15:08 2007 -0300 USB: More USB_QUIRK_RESET_RESUME devices I would like have the attached patch added to Linux kernel. The three usb flash memories listed in the patch are being used in Intel's ClassmatePC and need USB_QUIRK_RESET_RESUME to work reliably when resuming from ram. commit c4766560e4d3e2a9c10d69d7d618dc2b0082a3dc Author: Massimiliano Ghilardi Date: Tue Sep 4 22:53:43 2007 +0200 USB Mass Storage: limit "Rockchip ROCK MP3" device (071b:3203) max I/O to 64 sectors per command The MP3/MP4/AVI player "Rockchip ROCK MP3" is seen as a USB disk, but fails if more than 128 sectors (64kB) are sent or requested in a single read or write command, and disconnects from the USB bus. Typical kernel log showing the problem is: usb 3-1: reset high speed USB device using ehci_hcd and address 6 usb 3-1: reset high speed USB device using ehci_hcd and address 6 sd 14:0:0:0: [sdb] Result: hostbyte=0x07 driverbyte=0x00 end_request: I/O error, dev sdb, sector 32 sd 14:0:0:0: [sdb] Result: hostbyte=0x07 driverbyte=0x00 end_request: I/O error, dev sdb, sector 32 usb 3-1: USB disconnect, address 6 This patch works around the device limitation by adding "Rockchip ROCK MP3" to unusual USB devices list and limiting data transfers to 64 sectors (32kB) per command. Tested on 2.6.23-rc5 (amd64). Signed-off-by: Massimiliano Ghilardi Signed-off-by: Greg Kroah-Hartman commit 9374b9fd6cef7f8b75a543d044c5b0925aae08cd Author: Ortwin Glück Date: Thu Sep 6 00:06:26 2007 +0200 USB: Nikon D40 Quirks The D40 needs the same quirks as the other (semi-)professional Nikon cameras. The patch is against 2.6.23-rc5. Details: http://bugs.gentoo.org/show_bug.cgi?id=191431 From: Ortwin Glück Signed-off-by: Greg Kroah-Hartman commit 61392af387787dfa2b381880d195dfb7ab0d1ea3 Author: Ricardo Barberis Date: Wed Sep 5 22:37:19 2007 -0700 USB: Add Sony Ericsson P1i to unusual_devs.h Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 2c4cd1f13a658daacb4fe5ed88887675c31ae78f Author: Greg Kroah-Hartman Date: Thu Aug 30 19:02:10 2007 +0200 USB: option: Add Dell HSDPA 5520 to driver This is based on information sent in by Christian Gothe. Cc: Christian Gothe Signed-off-by: Greg Kroah-Hartman commit a3209a0efc404cc4190b496bae247e7706371032 Author: Jaime Velasco Juan Date: Fri Sep 7 19:06:39 2007 +0100 USB: option: Add a new device ID for the HUAWEI E220 HSDPA modem. Signed-off-by: Jaime Velasco Juan CC: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit e5dd01154c1e9ca2400f4682602d1a4fa54c25dd Author: Nathael Pajani Date: Tue Sep 4 11:46:23 2007 +0200 USB: fix linked list insertion bugfix for usb core This patch fixes the order of list_add_tail() arguments in usb_store_new_id() so the list can have more than one single element. Signed-off-by: Nathael Pajani Cc: stable Signed-off-by: Greg Kroah-Hartman commit ce05916f6bf9906fba88853078715f9a4d300237 Author: Oliver Neukum Date: Tue Sep 4 16:11:41 2007 +0200 USB: quirky flash drive That drive is quite odd. It has 2K sectors, times out getting string descriptors and needs a quirk. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit c269b6abd65c24517b70ccc9430c4c50dbc0dc84 Author: Alan Stern Date: Tue Sep 4 10:12:44 2007 -0400 USB: prevent Genesys USB-IDE from autosuspending This patch (as986) prevents the troublesome Genesys USB-IDE adapter from autosuspending. It may not be necessary for all such devices, but the one in Bugzilla #8892 sometimes fails to resume. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d7790baf62a0e9f034e4668bb4b5fdaaa248412b Author: Alan Stern Date: Tue Sep 4 10:11:56 2007 -0400 USB: prevent Thomson card reader from autosuspending This patch (as985) prevents the SGS THomson Microelectronics 4in1 card reader from autosuspending. This resolves Bugzilla #8885. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a74108d33878078b9403e5426a04c54683a8ebc2 Author: Matt Colyer Date: Tue Aug 28 23:33:52 2007 -0700 USB: Add iPhone device id to the quirk list. commit d7fde2d6729482e093b18a74fc24c4c2c0c61ca5 Author: Pierre Castella Date: Thu Sep 6 22:34:39 2007 +0200 USB: ftdi_sio: add of a new product/manufacturer, TML I have added to a new product based on the FTDI 232R USB/Serial transceiver, which is commercialized by The Mobility Lab. Here is a trivial patch enclosed, against 2.6.22.6 kernel. Signed-off-by: Pierre Castella Signed-off-by: Greg Kroah-Hartman commit ca9024eb6ca31df971c5fa40bf4bee2d913115e2 Author: samson yeung Date: Fri Aug 31 16:40:40 2007 -0400 usb/misc/sisusbvga: add product ID of TARGUS/MCT device Device is Targus ACP50US which includes a Magic Control Technologies usb vga device using the SiS315(E) or compatible. Signed-off-by: Samson Yeung Signed-off-by: Greg Kroah-Hartman commit fa0e6721e7931f5bb0293db982b327b0dff97596 Author: Alan Cox Date: Wed Aug 22 23:11:06 2007 +0100 USB: oti6858: Remove broken ioctl code in -mm tree and also the broken fixes This stuff is simply not needed. Signed-off-by: Alan Cox Cc: stable Signed-off-by: Greg Kroah-Hartman commit 99fa9844f0eed5582b5648f745204758b27db659 Author: Jason Gaston Date: Thu Aug 30 17:50:56 2007 -0700 PCI: irq and pci_ids patch for Intel Tolapai This patch adds the Intel Tolapai LPC and SMBus Controller DID's. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit d7698edca8d372e9ecaebca82d236828d72ea39d Author: gw.kernel@tnode.com Date: Thu Aug 23 21:22:04 2007 +0200 PCI: unhide SMBus on Compaq Deskpro EP 401963-001 motherboard PCI quirk to unhide SMBus on Compaq Deskpro EP 401963-001 (PCA# 010174) motherboard. Signed-off-by: Greg White Acked-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 4dd5bb987367d791e10e716538d83edb24c0817d Author: Ralf Baechle Date: Thu Aug 23 19:45:49 2007 +0100 PCI: Remove __devinit from pcibios_get_irq_routing_table pcibios_get_irq_routing_table is an exported symbol. This results in a modpost warning: WARNING: vmlinux.o(.text+0xdca51): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented') Signed-off-by: Ralf Baechle Signed-off-by: Greg Kroah-Hartman commit e365c3e75ef00a78bd38757a9da12e84039c2828 Author: Ralf Baechle Date: Thu Aug 23 18:49:17 2007 +0100 PCI: remove devinit from pci_read_bridge_bases On MIPS with PCI && !HOTPLUG, I'm currently getting the following modpost warning: MODPOST vmlinux.o WARNING: vmlinux.o(.text+0x1ce128): Section mismatch: reference to .init.text:pci_read_bridge_bases (between 'pcibios_fixup_bus' and 'pcibios_enable_device') On MIPS I have the call chains pci_scan_child_bus -> pcibios_fixup_bus -> pci_read_bridge_bases. pci_scan_child_bus can't be __devinit because it it is an exported symbol, thus pcibios_fixup_bus and pci_read_bridge_bases can't be either. For some reason I don't see this issue on x86; I blame compiler differences. Signed-off-by: Ralf Baechle Signed-off-by: Greg Kroah-Hartman commit 5547bbeed37f7ab64942ffcce9293681101577ef Author: Randy Dunlap Date: Thu Aug 23 10:37:53 2007 -0700 PCI AER: fix warnings when PCIEAER=n Fix warnings when CONFIG_PCIEAER=n: drivers/pci/pcie/portdrv_pci.c:105: warning: statement with no effect drivers/pci/pcie/portdrv_pci.c:226: warning: statement with no effect drivers/scsi/arcmsr/arcmsr_hba.c:352: warning: statement with no effect Signed-off-by: Randy Dunlap Acked-by: Linas Vepstas Signed-off-by: Greg Kroah-Hartman commit 0a9c73014415d2a84dac346c1e12169142a6ad37 Author: Patrick McHardy Date: Tue Sep 11 11:33:28 2007 +0200 [INET_DIAG]: Fix oops in netlink_rcv_skb netlink_run_queue() doesn't handle multiple processes processing the queue concurrently. Serialize queue processing in inet_diag to fix a oops in netlink_rcv_skb caused by netlink_run_queue passing a NULL for the skb. BUG: unable to handle kernel NULL pointer dereference at virtual address 00000054 [349587.500454] printing eip: [349587.500457] c03318ae [349587.500459] *pde = 00000000 [349587.500464] Oops: 0000 [#1] [349587.500466] PREEMPT SMP [349587.500474] Modules linked in: w83627hf hwmon_vid i2c_isa [349587.500483] CPU: 0 [349587.500485] EIP: 0060:[] Not tainted VLI [349587.500487] EFLAGS: 00010246 (2.6.22.3 #1) [349587.500499] EIP is at netlink_rcv_skb+0xa/0x7e [349587.500506] eax: 00000000 ebx: 00000000 ecx: c148d2a0 edx: c0398819 [349587.500510] esi: 00000000 edi: c0398819 ebp: c7a21c8c esp: c7a21c80 [349587.500517] ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068 [349587.500521] Process oidentd (pid: 17943, ti=c7a20000 task=cee231c0 task.ti=c7a20000) [349587.500527] Stack: 00000000 c7a21cac f7c8ba78 c7a21ca4 c0331962 c0398819 f7c8ba00 0000004c [349587.500542] f736f000 c7a21cb4 c03988e3 00000001 f7c8ba00 c7a21cc4 c03312a5 0000004c [349587.500558] f7c8ba00 c7a21cd4 c0330681 f7c8ba00 e4695280 c7a21d00 c03307c6 7fffffff [349587.500578] Call Trace: [349587.500581] [] show_trace_log_lvl+0x1c/0x33 [349587.500591] [] show_stack_log_lvl+0x8d/0xaa [349587.500595] [] show_registers+0x1cb/0x321 [349587.500604] [] die+0x112/0x1e1 [349587.500607] [] do_page_fault+0x229/0x565 [349587.500618] [] error_code+0x72/0x78 [349587.500625] [] netlink_run_queue+0x40/0x76 [349587.500632] [] inet_diag_rcv+0x1f/0x2c [349587.500639] [] netlink_data_ready+0x57/0x59 [349587.500643] [] netlink_sendskb+0x24/0x45 [349587.500651] [] netlink_unicast+0x100/0x116 [349587.500656] [] netlink_sendmsg+0x1c2/0x280 [349587.500664] [] sock_sendmsg+0xba/0xd5 [349587.500671] [] sys_sendmsg+0x17b/0x1e8 [349587.500676] [] sys_socketcall+0x230/0x24d [349587.500684] [] syscall_call+0x7/0xb [349587.500691] ======================= [349587.500693] Code: f0 ff 4e 18 0f 94 c0 84 c0 0f 84 66 ff ff ff 89 f0 e8 86 e2 fc ff e9 5a ff ff ff f0 ff 40 10 eb be 55 89 e5 57 89 d7 56 89 c6 53 <8b> 50 54 83 fa 10 72 55 8b 9e 9c 00 00 00 31 c9 8b 03 83 f8 0f Reported by Athanasius Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e1f52208bb968291f7d9142eff60b62984b4a511 Author: YOSHIFUJI Hideaki Date: Tue Sep 11 11:31:43 2007 +0200 [IPv6]: Fix NULL pointer dereference in ip6_flush_pending_frames Some of skbs in sk->write_queue do not have skb->dst because we do not fill skb->dst when we allocate new skb in append_data(). BTW, I think we may not need to (or we should not) increment some stats when using corking; if 100 sendmsg() (with MSG_MORE) result in 2 packets, how many should we increment? If 100, we should set skb->dst for every queued skbs. If 1 (or 2 (*)), we increment the stats for the first queued skb and we should just skip incrementing OutDiscards for the rest of queued skbs, adn we should also impelement this semantics in other places; e.g., we should increment other stats just once, not 100 times. *: depends on the place we are discarding the datagram. I guess should just increment by 1 (or 2). Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 16fcec35e7d7c4faaa4709f6434a4a25b06d25e3 Author: Neil Horman Date: Tue Sep 11 11:28:26 2007 +0200 [NETFILTER]: Fix/improve deadlock condition on module removal netfilter So I've had a deadlock reported to me. I've found that the sequence of events goes like this: 1) process A (modprobe) runs to remove ip_tables.ko 2) process B (iptables-restore) runs and calls setsockopt on a netfilter socket, increasing the ip_tables socket_ops use count 3) process A acquires a file lock on the file ip_tables.ko, calls remove_module in the kernel, which in turn executes the ip_tables module cleanup routine, which calls nf_unregister_sockopt 4) nf_unregister_sockopt, seeing that the use count is non-zero, puts the calling process into uninterruptible sleep, expecting the process using the socket option code to wake it up when it exits the kernel 4) the user of the socket option code (process B) in do_ipt_get_ctl, calls ipt_find_table_lock, which in this case calls request_module to load ip_tables_nat.ko 5) request_module forks a copy of modprobe (process C) to load the module and blocks until modprobe exits. 6) Process C. forked by request_module process the dependencies of ip_tables_nat.ko, of which ip_tables.ko is one. 7) Process C attempts to lock the request module and all its dependencies, it blocks when it attempts to lock ip_tables.ko (which was previously locked in step 3) Theres not really any great permanent solution to this that I can see, but I've developed a two part solution that corrects the problem Part 1) Modifies the nf_sockopt registration code so that, instead of using a use counter internal to the nf_sockopt_ops structure, we instead use a pointer to the registering modules owner to do module reference counting when nf_sockopt calls a modules set/get routine. This prevents the deadlock by preventing set 4 from happening. Part 2) Enhances the modprobe utilty so that by default it preforms non-blocking remove operations (the same way rmmod does), and add an option to explicity request blocking operation. So if you select blocking operation in modprobe you can still cause the above deadlock, but only if you explicity try (and since root can do any old stupid thing it would like.... :) ). Signed-off-by: Neil Horman Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0fb96701376874c9f1f80322f89a5bf4457c709f Author: Patrick McHardy Date: Tue Sep 11 11:27:01 2007 +0200 [NETFILTER]: nf_conntrack_ipv4: fix "Frag of proto ..." messages Since we're now using a generic tuple decoding function in ICMP connection tracking, ipv4_get_l4proto() might get called with a fragmented packet from within an ICMP error. Remove the error message we used to print when this happens. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fdd8a532a6764393305ae7063a8994d71404c482 Author: Peter P Waskiewicz Jr Date: Tue Sep 11 11:12:06 2007 +0200 [NET] DOC: Update networking/multiqueue.txt with correct information. Updated the multiqueue.txt document to call out the correct kernel options to select to enable multiqueue. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 9e3be4b34364a670bd6e57d2e8c3caabdd8d89f8 Author: Denis V. Lunev Date: Tue Sep 11 11:04:49 2007 +0200 [IPV6]: Freeing alive inet6 address From: Denis V. Lunev addrconf_dad_failure calls addrconf_dad_stop which takes referenced address and drops the count. So, in6_ifa_put perrformed at out: is extra. This results in message: "Freeing alive inet6 address" and not released dst entries. Signed-off-by: Denis V. Lunev Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit a2221f308dabb95abb914ad858d36c2462705558 Author: Patrick McHardy Date: Tue Sep 11 10:45:15 2007 +0200 [DECNET]: Fix interface address listing regression. Not all are listed, same as the IPV4 devinet bug. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 596e41509550447b030f7b16adaeb0138ab585a8 Author: Stephen Hemminger Date: Tue Sep 11 10:41:04 2007 +0200 [IPV4] devinet: show all addresses assigned to interface Bug: http://bugzilla.kernel.org/show_bug.cgi?id=8876 Not all ips are shown by "ip addr show" command when IPs number assigned to an interface is more than 60-80 (in fact it depends on broadcast/label etc presence on each address). Steps to reproduce: It's terribly simple to reproduce: # for i in $(seq 1 100); do ip ad add 10.0.$i.1/24 dev eth10 ; done # ip addr show this will _not_ show all IPs. Looks like the problem is in netlink/ipv4 message processing. This is fix from bug submitter, it looks correct. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ef8aef55ce61fd0e2af798695f7386ac756ae1e7 Author: Herbert Xu Date: Thu Sep 6 14:06:35 2007 +0100 [NET]: Do not dereference iov if length is zero When msg_iovlen is zero we shouldn't try to dereference msg_iov. Right now the only thing that tries to do so is skb_copy_and_csum_datagram_iovec. Since the total length should also be zero if msg_iovlen is zero, it's sufficient to check the total length there and simply return if it's zero. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2fbe43f6f631dd7ce19fb1499d6164a5bdb34568 Author: Michael Chan Date: Thu Sep 6 12:04:29 2007 +0100 [TG3]: Workaround MSI bug on 5714/5780. A hardware bug was revealed after a recent PCI MSI patch was made to always disable legacy INTX when enabling MSI. The 5714/5780 chips will not generate MSI when INTX is disabled, causing MSI failure messages to be reported, and another patch was made to workaround the problem by disabling MSI on ServerWorks HT1000 bridge chips commonly found with the 5714. We workaround this chip bug by enabling INTX after we enable MSI and after we resume from suspend. Update version to 3.81. This problem was discovered by David Miller. Signed-off-by: Michael Chan Acked-by: Andy Gospodarek Signed-off-by: David S. Miller commit 0d4cbb5e7f60b2f1a4d8b7f6ea4cc264262c7a01 Author: Linus Torvalds Date: Mon Sep 10 19:49:55 2007 -0700 Linux 2.6.23-rc6 commit 3dcc323fe8d7158bd662c04d41ba8b25fa3ce27b Author: Tejun Heo Date: Mon Sep 3 12:20:11 2007 +0900 libata clear horkage on ata_dev_init() dev->horkage should be cleared over device hotunplug/plug. Clear it in ata_dev_init(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b311ec4ae82b1dc337689e966dcf9c5f6a53877e Author: Joseph Chan Date: Mon Sep 10 22:06:01 2007 -0400 [libata, IDE] add new VIA bridge to VIA PATA drivers Signed-off-by: Joseph Chan Signed-off-by: Jeff Garzik commit 980abe215b861891c39aba0936817c46f372143b Author: Jeff Dike Date: Mon Sep 10 11:55:46 2007 -0400 UML: Fix ELF_CORE_COPY_REGS build botch The earlier crash dump fix on x86_64 depended on patches in -mm which are intended for post-2.6.23. Without those, it broke the build when it went into 2.6.23-rc5. This changes the field references in ELF_CORE_COPY_REGS back to those still used in mainline. Signed-off-by: Jeff Dike Signed-off-by: Linus Torvalds commit d95865480de280b892e19fe90921601876da5775 Author: Daniel Walker Date: Thu Sep 6 16:59:54 2007 +0200 i386: fix a hang on stuck nmi watchdog In the case when an nmi gets stucks the endflag stays equal to zero. This causes the busy looping on other cpus to continue, even though the nmi test is done. On my machine with out the change below the system would hang right after check_nmi_watchdog(). The change below just sets endflag prior to checking if the test was successful or not. Signed-off-by: Daniel Walker Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a534b679180025aa324ebd63c05516e478551cfd Author: Andi Kleen Date: Thu Sep 6 16:59:52 2007 +0200 x86_64: Remove CLFLUSH in text_poke() The CLFLUSH for the modified code line in text_poke was supposed to speed up CPU recovery. Unfortunately it seems to cause hangs on some VIA C3s (at least on VIA Esther Model 10 Stepping 9) Remove it. Thanks to Stefan Becker for reporting/testing. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 23d5ea5d3edcfe899cd91fca87a4af799bcc5794 Author: Stephane Eranian Date: Thu Sep 6 16:59:51 2007 +0200 i386: Fix perfctr watchdog on core duo Fix the NMI watchdog on Intel CoreDuo processor where the kernel would get stuck during boot. The issue is related to errata AE49, where the PERFEVTSEL1 counter does not have a working enable bit. Thus it is not possible to use it for NMI. The patch creates a dedicated wd_ops for CoreDuo which falls back to using PERFEVTSEL0. The other Intel processors supporting the architectural PMU will keep on using PERFEVTSEL1 as this allows other subsystems, such as perfmon, to use PERFEVTSEL0 for PEBS monitoring in particular. Bug initially reported by Daniel Walker. AK: Added comments Signed-off-by: Stephane Eranian Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b8da0d1c27f144bce999c653467106f3f0d5a308 Author: Neil Brown Date: Wed Sep 5 17:22:13 2007 -0400 knfsd: Validate filehandle type in fsid_source fsid_source decided where to get the 'fsid' number to return for a GETATTR based on the type of filehandle. It can be from the device, from the fsid, or from the UUID. It is possible for the filehandle to be inconsistent with the export information, so make sure the export information actually has the info implied by the value returned by fsid_source. Signed-off-by: Neil Brown Cc: "Luiz Fernando N. Capitulino" Signed-off-by: "J. Bruce Fields" Signed-off-by: Linus Torvalds commit a1033be72cdb053e182bb41e302a1c11e72b68bb Author: Neil Brown Date: Wed Sep 5 17:22:12 2007 -0400 knfsd: Fixed problem with NFS exporting directories which are mounted on. Recent changes in NFSd cause a directory which is mounted-on to not appear properly when the filesystem containing it is exported. *exp_get* now returns -ENOENT rather than NULL and when commit 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1 removed the NULL checks, it didn't add a check for -ENOENT. Signed-off-by: Neil Brown Signed-off-by: J. Bruce Fields Signed-off-by: Linus Torvalds commit 7d94143291e4e625e2bc3b1ebdc7143ee7a9a2f1 Author: Roland McGrath Date: Wed Sep 5 03:05:56 2007 -0700 Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH When PTRACE_SYSCALL was used and then PTRACE_DETACH is used, the TIF_SYSCALL_TRACE flag is left set on the formerly-traced task. This means that when a new tracer comes along and does PTRACE_ATTACH, it's possible he gets a syscall tracing stop even though he's never used PTRACE_SYSCALL. This happens if the task was in the middle of a system call when the second PTRACE_ATTACH was done. The symptom is an unexpected SIGTRAP when the tracer thinks that only SIGSTOP should have been provoked by his ptrace calls so far. A few machines already fixed this in ptrace_disable (i386, ia64, m68k). But all other machines do not, and still have this bug. On x86_64, this constitutes a regression in IA32 compatibility support. Since all machines now use TIF_SYSCALL_TRACE for this, I put the clearing of TIF_SYSCALL_TRACE in the generic ptrace_detach code rather than adding it to every other machine's ptrace_disable. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit bce7d5e0e1fc0c1f1251b7f21a19cb48207408b6 Author: Jeff Norden Date: Tue Sep 4 11:07:20 2007 -0500 pata_it821x: fix lost interrupt with atapi devices Fix "lost" interrupt problem when using dma with CD/DVD drives in some configurations. This problem can make installing linux from media impossible for distro's that have switched to libata-only configurations. The simple fix is to eliminate the use of dma for reading drive status, etc, by checking the number of bytes to transferred. This change will only affect the behavior of atapi devices, not disks. There is more info at http://bugzilla.redhat.com/show_bug.cgi?id=242229 This patch is for 2.6.22.1 Signed-off-by: Jeff Norden Reviewed-by: Alan Cox Signed-off-by: Jeff Garzik commit 08ebd43d6b9b63de681b8f255c0fabae8033527c Author: Laurent Riffard Date: Sun Sep 2 21:01:32 2007 +0200 Fix broken pata_via cable detection via_do_set_mode overwrites 80-wire cable detection bits. Let's preserve them. Signed-off-by: Laurent Riffard Acked-by: Alan Cox Signed-off-by: Jeff Garzik commit 83fcdb4b352f74a8a74737aedeaf622c37140c73 Author: Scott Wood Date: Wed Sep 5 14:29:10 2007 -0500 [POWERPC] cpm2: Fix off-by-one error in setbrg(). The hardware adds one to the BRG value to get the divider, so it must be subtracted by software. Without this patch, characters will occasionally be corrupted. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 36c50f729b77144cae8d43457fefca66a4eeff6a Author: Jochen Friedrich Date: Tue Aug 28 13:20:48 2007 +0200 [PPC] 8xx: Fix r3 trashing due to 8MB TLB page instantiation Instantiation of 8MB pages on the TLB cache for the kernel static mapping trashes r3 register on !CONFIG_8xx_CPU6 configurations. This ensures r3 gets saved and restored. This has been posted to linuxppc-embedded by Marcelo Tosatti , but only an incomplete version of the patch has been applied in c51e078f82096a7d35ac8ec2416272e843a0e1c4. This patch adds the rest of the fix. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit 2af8569dc9f29c303bf4aa012d991afcfaeed0c3 Author: Kumar Gala Date: Mon Sep 10 14:30:33 2007 -0500 [POWERPC] 8{5,6}xx: Fix build issue with !CONFIG_PCI We needed some ifdef CONFIG_PCI protection for pcibios_fixup so we can build !CONFIG_PCI. Signed-off-by: Kumar Gala commit 43863074659b71345b0047c2cf2ff8d8f7a4b4a1 Author: Yoichi Yuasa Date: Thu Sep 6 21:32:57 2007 +0900 [MIPS] Ocelot: remove remaining bits Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 603c338bdd455952d768fc24bf2c754dd4229aed Author: Thiemo Seufer Date: Wed Sep 5 12:11:22 2007 +0100 [MIPS] TLB: Fix instruction bitmasks Signed-Off-By: Thiemo Seufer Signed-off-by: Ralf Baechle commit d344dd52e50f4440810b641077282bfa1fd65d88 Author: Maxime Bizon Date: Fri Aug 31 11:03:14 2007 +0200 [MIPS] R10000: Fix wrong test in dma-default.c Signed-off-by: Maxime Bizon Signed-off-by: Ralf Baechle commit 7b0fdaa6a193e0b07d9f72e942f51ce25d9e0387 Author: Ralf Baechle Date: Mon Sep 3 16:22:26 2007 +0200 [MIPS] Provide empty irq_enable_hazard definition for legacy and R1 cores. Following a strict interpretation the empty definition of irq_enable_hazard has always been a bug - but an intentional one because it didn't bite. This has now changed, for uniprocessor kernels mm/slab.c:do_drain() [...] on_each_cpu(do_drain, cachep, 1, 1); check_irq_on(); [...] may be compiled into a mtc0 c0_status; mfc0 c0_status sequence resulting in a back-to-back hazard. Signed-off-by: Ralf Baechle commit 2e4dafd5d169ea2d5b066e38b5f8f9e416dc9eaa Author: Ralf Baechle Date: Thu Aug 30 00:58:53 2007 +0100 [MIPS] Sibyte: Remove broken dependency on EXPERIMENTAL from SIBYTE_SB1xxx_SOC. Otherwise Kconfig will produce a nonsenical .config for a kernel that is neither 32-bit nor 64-bit. Signed-off-by: Ralf Baechle commit 9308816c9f10142f9d0d5b4d0fa41f3bac4f4fd8 Author: Ralf Baechle Date: Wed Aug 29 14:21:45 2007 +0100 [MIPS] Kconfig: whitespace cleanup. Signed-off-by: Ralf Baechle commit d4ef9dd33d0f513777409710fd99e016d46c3a85 Author: Ralf Baechle Date: Wed Aug 29 08:34:39 2007 +0100 [MIPS] PCI: Set need_domain_info if controller domain index is non-zero. This fixes this little funny: bigsur:/proc/bus/pci# ls -l total 0 dr-xr-xr-x 2 root root 0 Aug 28 19:31 00 dr-xr-xr-x 2 root root 0 Aug 28 19:31 00 dr-xr-xr-x 2 root root 0 Aug 28 19:31 01 dr-xr-xr-x 2 root root 0 Aug 28 19:31 03 -r--r--r-- 1 root root 0 Aug 28 19:31 devices Signed-off-by: Ralf Baechle commit fbd0ed37c894759a5868638c3f509e0de864aba5 Author: Ralf Baechle Date: Wed Aug 29 00:38:13 2007 +0100 [MIPS] BCM1480: Fix computation of interrupt mask address register. CC arch/mips/sibyte/bcm1480/irq.o arch/mips/sibyte/bcm1480/irq.c: In function 'bcm1480_mask_irq': arch/mips/sibyte/bcm1480/irq.c:112: warning: cast to pointer from integer of different size arch/mips/sibyte/bcm1480/irq.c:114: warning: cast to pointer from integer of different size arch/mips/sibyte/bcm1480/irq.c: In function 'bcm1480_unmask_irq': arch/mips/sibyte/bcm1480/irq.c:130: warning: cast to pointer from integer of different size arch/mips/sibyte/bcm1480/irq.c:132: warning: cast to pointer from integer of different size Signed-off-by: Ralf Baechle commit d77a283d9bc8c6327e9dd6059fe09104f3ad4bf9 Author: Kyungmin Park Date: Fri Aug 10 14:00:21 2007 -0700 [MIPS] i8259: Add disable method. After 76d2160147f43f982dfe881404cfde9fd0a9da21, the qemu NE2000 was frequently producing WATCHDOG timeouts. Signed-off-by: Kyungmin Park Cc: Ralf Baechle Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit 5a6e4e4207bc1b69dca540d759d9d176e5ce4ff1 Author: Alan Cox Date: Fri Aug 10 14:00:20 2007 -0700 [MIPS] tty: add the new ioctls and definitions. Same as all the others, just put in the constants for the existing kernel code and termios2 structure Signed-off-by: Alan Cox Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit d8612417b2f78767b96ca434b50d23e5cdfcde07 Author: Joachim Fenkes Date: Wed Aug 29 18:15:17 2007 +0200 [POWERPC] ibmebus: Prevent bus_id collisions Previously, ibmebus derived a device's bus_id from its location code. The location code is not guaranteed to be unique, so we might get bus_id collisions if two devices share the same location code. The OFDT full_name, however, is unique, so we use that instead (truncating it on the left if it is too long). Signed-off-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit d51dd3de87026cb0ea1ea5f873f08e930053bfc5 Author: Geert Uytterhoeven Date: Thu Sep 6 18:14:57 2007 +0200 [POWERPC] cell/PS3: Ignore storage devices that are still being probed On PS3, A storage device may show up in the repository before the hypervisor has finished probing: - If its type is not yet known, it shows up as PS3_DEV_TYPE_STOR_DUMMY, - If its regions are being probed, it shows up as having zero regions. If any of these happen, consider the device not yet present. The storage probe thread will retry later. This fixes the timing-dependent problem where a kernel booted from FLASH ROM sometimes cannot find the hard disk. Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit ef8034d01a080e81488e9cf74052acf1e2a37bd0 Author: Jeremy Kerr Date: Fri Sep 7 18:28:27 2007 +1000 [POWERPC] cell/PS3: Always set master run control bit in mfc_sr1_set At present, running any SPE program on the ps3 will trigger a BUG_ON when spufs_run_spu tries to clear the master run control bit, as lv1 does not make the master run control available to Linux. This change makes SPE apps work again by disabling changes to the master run control on PS3. Although we don't have the facility to disable a SPE with supervisor-level privileges, it's better than hitting the BUG_ON unconditionally. Signed-off-by: Jeremy Kerr Acked-by: Masato Noguchi Signed-off-by: Paul Mackerras commit b7f90a406ff72d6698b619210c205e3375dd099a Author: Masato Noguchi Date: Fri Sep 7 18:28:27 2007 +1000 [POWERPC] cell/PS3: Fix a bug that causes the PS3 to hang on the SPU Class 0 interrupt. The Cell BE Architecture spec states that the SPU MFC Class 0 interrupt is edge-triggered. The current spu interrupt handler assumes this behavior and does not clear the interrupt status. The PS3 hypervisor visualizes all SPU interrupts as level, and on return from the interrupt handler the hypervisor will deliver a new virtual interrupt for any unmasked interrupts which for which the status has not been cleared. This fix clears the interrupt status in the interrupt handler. Signed-off-by: Masato Noguchi Signed-off-by: Geoff Levand Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 32528d0fbda1093eeeaa7d0a2c498bbb5154099d Author: Herbert Xu Date: Mon Sep 10 15:51:11 2007 +0800 [CRYPTO] blkcipher: Fix inverted test in blkcipher_get_spot The previous patch had the conditional inverted. This patch fixes it so that we return the original position if it does not straddle a page. Thanks to Bob Gilligan for spotting this. Signed-off-by: Herbert Xu commit 939bc4943d0483961edc45b63a7d27b4ffe547e3 Author: David Brownell Date: Sun Sep 9 22:29:14 2007 +0200 i2c-algo-bit: Read block data bugfix This fixes a bug in the way i2c-algo-bit handles I2C_M_RECV_LEN, used to implement i2c_smbus_read_block_data(). Previously, in the absence of PEC (rarely used!) it would NAK the "length" byte: S addr Rd [A] [length] NA That prevents the subsequent data bytes from being read: S addr Rd [A] [length] { A [data] }* NA The primary fix just reorders two code blocks, so the length used in the "should I NAK now?" check incorporates the data which it just read from the slave device. However, that move also highlighted other fault handling glitches. This fixes those by abstracting the RX path ack/nak logic, so it can be used in more than one location. Also, a few CodingStyle issues were also resolved. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 51e5709ad46127da9476f31336113b5401f94dba Author: Jean Delvare Date: Sun Sep 9 22:29:13 2007 +0200 i2c-pxa: Fix adapter number It turns out that platform_device.id is a "u32" so testing it for being nonnegative is useless when setting up an i2c adapte. Instead, do what the platform_bus code does and test it against the value "-1". Signed-off-by: Jean Delvare commit 9a3180e70e35ff69586ada5421b5e7bad52f60e4 Author: David Brownell Date: Sun Sep 9 22:29:13 2007 +0200 i2c-gpio: Fix adapter number It turns out that platform_device.id is a "u32" so testing it for being nonnegative is useless when setting up an i2c bitbang device. Instead, do what the platform_bus code does and test it against the value "-1". Signed-off-by: David Brownell Acked-by: Atsushi Nemoto Signed-off-by: Jean Delvare commit 15bde2f1a8e819213f54314505a5a0509673109b Author: Jean Delvare Date: Wed Aug 29 10:39:57 2007 +0200 hwmon: End of I/O region off-by-one Fix an off-by-one error in the I/O region declaration of two hardware monitoring drivers (lm78 and w83781d.) We were requesting one extra port at the end of the region. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e4630f9fd8cdc14eb1caa08dafe649eb5ae09985 Author: Herbert Xu Date: Sun Sep 9 08:45:21 2007 +0100 [CRYPTO] blkcipher: Fix handling of kmalloc page straddling The function blkcipher_get_spot tries to return a buffer of the specified length that does not straddle a page. It has an off-by-one bug so it may advance a page unnecessarily. What's worse, one of its callers doesn't provide a buffer that's sufficiently long for this operation. This patch fixes both problems. Thanks to Bob Gilligan for diagnosing this problem and providing a fix. Signed-off-by: Herbert Xu commit 89f2783ded0a4fc98852cb9552bb27a80cd6a41a Author: Marcel Holtmann Date: Sun Sep 9 08:39:49 2007 +0200 [Bluetooth] Fix parameter list for event filter command On device initialization the event filters are cleared. In case of clearing the filters the extra condition type shall be omitted. Signed-off-by: Marcel Holtmann commit 7c631a67601f116d303cfb98a3d964a150090e38 Author: Marcel Holtmann Date: Sun Sep 9 08:39:43 2007 +0200 [Bluetooth] Update security filter for Bluetooth 2.1 This patch updates the HCI security filter with support for the Bluetooth 2.1 commands and events. Signed-off-by: Marcel Holtmann commit 767c5eb5d35aeb85987143f0a730bc21d3ecfb3d Author: Marcel Holtmann Date: Sun Sep 9 08:39:34 2007 +0200 [Bluetooth] Add compat handling for timestamp structure The timestamp structure needs special handling in case of compat programs. Use the same wrapping method the network core uses. Signed-off-by: Marcel Holtmann commit 26a4a06e7ff2874154eb3f4b4ba0514dc563b100 Author: Marcel Holtmann Date: Sun Sep 9 08:39:27 2007 +0200 [Bluetooth] Add missing stat.byte_rx counter modification With the support for hci_recv_fragment() the call to increase the stat.byte_rx counter got accidentally removed. This patch fixes it. Signed-off-by: Marcel Holtmann commit 5511142870046a7bed947d51ec9b320856ee120a Author: Stefan Richter Date: Thu Sep 6 09:50:30 2007 +0200 firewire: fw-ohci: ignore failure of pci_set_power_state (fix suspend regression) Fixes (papers over) "Sleep problems with kernels >= 2.6.21 on powerpc", http://lkml.org/lkml/2007/8/25/155. The issue is that the FireWire controller's pci_dev.current_state of iBook G3 and presumably older PowerBooks is still in PCI_UNKNOWN instead of PCI_D0 when the firewire driver's .suspend method is called. Like it was suggested earlier in http://lkml.org/lkml/2006/10/24/13, we do not fail .suspend anymore if pci_set_power_state failed. Signed-off-by: Stefan Richter commit 7b6dff982b063b1b15c30508f16863e5449e7229 Author: Vladimir Shebordaev Date: Thu Sep 6 21:32:16 2007 -0400 Input: usbtouchscreen - correctly set 'phys' This patch fixes a nasty typo in usbtouchscreen driver. The typo is inherited from the original mtouchusb. It used to make the input subsytem to incorrectly report the physical device ids to userspace that in turn is very confusing for, e.g. XInput hotplug facilities in setups with multiple identical touchscreens. Signed-off-by: Vladimir Shebordaev Signed-off-by: Dmitry Torokhov commit 7071b2914a540b43dfcad17f6892a8c115799d50 Author: Hirokazu Takata Date: Mon Aug 20 20:53:50 2007 +0900 m32r: Rename STI/CLI macros The names of STI and CLI macros were derived from i386 arch historically, but their name are incomprehensible. So, for easy to understand, rename these macros to ENABLE_INTERRUPTS and DISABLE_INTERRUPTS, respectively. Signed-off-by: Hirokazu Takata commit 33205613cd603fa4d80bb81464e60b909b7047e1 Author: Hirokazu Takata Date: Tue Aug 21 12:04:29 2007 +0900 m32r: build fix of entry.S This patch fixes the following compile error: <-- snip --> ... AS arch/m32r/kernel/entry.o /home/bunk/linux/kernel-2.6/linux-2.6.23-rc3-mm1/arch/m32r/kernel/entry.S: Assembler messages: /home/bunk/linux/kernel-2.6/linux-2.6.23-rc3-mm1/arch/m32r/kernel/entry.S:358: Error: bad instruction `addi r0,#(((((0)+(64))+(32))+(32)))' make[2]: *** [arch/m32r/kernel/entry.o] Error 1 <-- snip --> Signed-off-by: Hirokazu Takata Cc: Adrian Bunk commit 1169783085adb9ac969d21103a6885e8435f7ed3 Author: Peter Zijlstra Date: Wed Sep 5 14:32:49 2007 +0200 sched: fix ideal_runtime calculations for reniced tasks fix ideal_runtime: - do not scale it using niced_granularity() it is against sum_exec_delta, so its wall-time, not fair-time. - move the whole check into __check_preempt_curr_fair() so that wakeup preemption can also benefit from the new logic. this also results in code size reduction: text data bss dec hex filename 13391 228 1204 14823 39e7 sched.o.before 13369 228 1204 14801 39d1 sched.o.after Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4a55b45036a677fac43fe81ddf7fdcd007aaaee7 Author: Peter Zijlstra Date: Wed Sep 5 14:32:49 2007 +0200 sched: improve prev_sum_exec_runtime setting Second preparatory patch for fix-ideal runtime: Mark prev_sum_exec_runtime at the beginning of our run, the same spot that adds our wait period to wait_runtime. This seems a more natural location to do this, and it also reduces the code a bit: text data bss dec hex filename 13397 228 1204 14829 39ed sched.o.before 13391 228 1204 14823 39e7 sched.o.after Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7c92e54f6f9601cfa9d8894ee248abcf62ed9a1c Author: Peter Zijlstra Date: Wed Sep 5 14:32:49 2007 +0200 sched: simplify __check_preempt_curr_fair() Preparatory patch for fix-ideal-runtime: simplify __check_preempt_curr_fair(): get rid of the integer return. text data bss dec hex filename 13404 228 1204 14836 39f4 sched.o.before 13393 228 1204 14825 39e9 sched.o.after functionality is unchanged. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit cf2ab4696ee42f895eed88c2b6e432fe03dda0db Author: Ingo Molnar Date: Wed Sep 5 14:32:49 2007 +0200 sched: fix xtensa build warning rename RSR to SRR - 'RSR' is already defined on xtensa. found by Adrian Bunk. Signed-off-by: Ingo Molnar commit 2491b2b89d4646e02ab51c90ab7012d124924ddc Author: Ingo Molnar Date: Wed Sep 5 14:32:49 2007 +0200 sched: debug: fix sum_exec_runtime clearing when cleaning sched-stats also clear prev_sum_exec_runtime. Signed-off-by: Ingo Molnar commit a206c07213cf6372289f189c3774c4c3255a7ae1 Author: Ingo Molnar Date: Wed Sep 5 14:32:49 2007 +0200 sched: debug: fix cfs_rq->wait_runtime accounting the cfs_rq->wait_runtime debug/statistics counter was not maintained properly - fix this. this also removes some code: text data bss dec hex filename 13420 228 1204 14852 3a04 sched.o.before 13404 228 1204 14836 39f4 sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit a0dc72601d48b171b4870dfdd0824901a2b2b1a9 Author: Ingo Molnar Date: Wed Sep 5 14:32:49 2007 +0200 sched: fix niced_granularity() shift fix niced_granularity(). This resulted in under-scheduling for CPU-bound negative nice level tasks (and this in turn caused higher than necessary latencies in nice-0 tasks). Signed-off-by: Ingo Molnar commit 7fd0d2dde929ead79901e389e70dbfb3c6c06986 Author: Suresh Siddha Date: Wed Sep 5 14:32:48 2007 +0200 sched: fix MC/HT scheduler optimization, without breaking the FUZZ logic. First fix the check if (*imbalance + SCHED_LOAD_SCALE_FUZZ < busiest_load_per_task) with this if (*imbalance < busiest_load_per_task) As the current check is always false for nice 0 tasks (as SCHED_LOAD_SCALE_FUZZ is same as busiest_load_per_task for nice 0 tasks). With the above change, imbalance was getting reset to 0 in the corner case condition, making the FUZZ logic fail. Fix it by not corrupting the imbalance and change the imbalance, only when it finds that the HT/MC optimization is needed. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 5995cb7d805496362e5af73235145667096fbc6f Author: Eric Sandeen Date: Thu Aug 16 16:49:11 2007 +1000 [XFS] fix nasty quota hashtable allocation bug This git mod: 77e4635ae191774526ed695482a151ac986f3806 converted to a "greedy" allocation interface, but for the quota hashtables it switched from allocating XFS_QM_HASHSIZE (nr of elements) xfs_dqhash_t's to allocating only XFS_QM_HASHSIZE *bytes* - quite a lot smaller! Then when we converted hsize "back" to nr of elements (the division line) hsize went to 0. This was leading to oopses when running any quota tests on the Fedora 8 test kernel, but the problem has been there for almost a year. SGI-PV: 968837 SGI-Modid: xfs-linux-melb:xfs-kern:29354a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 265c1fac38e37e828df09965406e9cc20bfa3588 Author: Christoph Hellwig Date: Thu Aug 16 15:38:19 2007 +1000 [XFS] fix sparse shadowed variable warnings - in xfs_probe_cluster rename the inner len to pg_len. There's no harm here because the outer len isn't used after the inner len comes into existence but it keeps the code clean. - in xfs_da_do_buf remove the inner i because they don't overlap and they are both the same type. SGI-PV: 968555 SGI-Modid: xfs-linux-melb:xfs-kern:29311a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit ee5c80239d5f152d99f69165afbd115518353563 Author: Christoph Hellwig Date: Thu Aug 16 15:38:08 2007 +1000 [XFS] fix ASSERT and ASSERT_ALWAYS - remove the != 0 inside the unlikely in ASSERT_ALWAYS because sparse now complains about comparisons between pointers and 0 - add a standalone ASSERT implementation because defining it to ASSERT_ALWAYS means the string is expanded before the token passing stringification. This way we get the actual content of the assertion in the assfail message and don't overflow sparse's stringification buffer leading to sparse error messages. SGI-PV: 968555 SGI-Modid: xfs-linux-melb:xfs-kern:29310a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 34521c5e4971d01f6ef650fdee59e07be6c2c5e3 Author: Christoph Hellwig Date: Thu Aug 16 15:37:57 2007 +1000 [XFS] Fix sparse warning in kmem_shake_allow We can't return a masked result of a __bitwise type. Compare it to 0 first to keep the behaviour without the warning. SGI-PV: 968555 SGI-Modid: xfs-linux-melb:xfs-kern:29309a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 4b80916b29170744632356dd2e801f7c374676eb Author: Christoph Hellwig Date: Thu Aug 16 15:37:36 2007 +1000 [XFS] Fix sparse NULL vs 0 warnings Sparse now warns about comparing pointers to 0, so change all instance where that happens to NULL instead. SGI-PV: 968555 SGI-Modid: xfs-linux-melb:xfs-kern:29308a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 8da22d7a3690818f6d340baa0ea585e71f0c506f Author: David Chinner Date: Thu Aug 16 15:20:56 2007 +1000 [XFS] Set filestreams object timeout to something sane. SGI-PV: 968554 SGI-Modid: xfs-linux-melb:xfs-kern:29303a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 749aea73aaf4ff1dbd83c2021b57a4dde6bbe2b9 Author: Elvis Pranskevichus Date: Tue Sep 4 23:18:21 2007 -0400 Input: i8042 - add HP Pavilion DV4270ca to the MUX blacklist This fixes "atkbd.c: Suprious NAK on isa0060/serio0" errors for HP Pavilion DV4270ca. Signed-off-by: Elvis Pranskevichus Signed-off-by: Dmitry Torokhov commit 7a1904c32c5a18a1123fa0ea5040439337617877 Author: Ralf Baechle Date: Tue Sep 4 23:16:31 2007 -0400 Input: i8042 - fix modpost warning i8042_unregister_ports's only caller i8042_remove is a __devexit function so make it __devexit too. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 9e3d3d07de1a9f2b83299653b75bfdbc0a8118f2 Author: Samuel Thibault Date: Tue Sep 4 23:16:04 2007 -0400 Input: add more Braille keycodes Some braille keyboards have 10 dots, so extend the Input braille keys definitions. Signed-off-by: Samuel Thibault Signed-off-by: Dmitry Torokhov commit ce29a1f8bd99aac409904b4ca4fd700e67802556 Author: Christian Ehrhardt Date: Mon Sep 3 20:32:38 2007 +0200 [x86 setup] Work around bug in Xen HVM Apparently XEN does not keep the contents of the 48-bit gdt_48 data structure that is passed to lgdt in the XEN machine state. Instead it appears to save the _address_ of the 48-bit descriptor somewhere. Unfortunately this data happens to reside on the stack and is probably no longer availiable at the time of the actual protected mode jump. This is Xen bug but given that there is a one-line patch to work around this problem, the linux kernel should probably do this. My fix is to make the gdt_48 description in setup_gdt static (in setup_idt this is already the case). This allows the kernel to boot under Xen HVM again. Signed-off-by: Christian Ehrhardt Signed-off-by: H. Peter Anvin commit 66baf327ae5d4c17e75d1f501145e79eaeeaf649 Author: Henrique de Moraes Holschuh Date: Mon Sep 3 00:03:35 2007 -0300 ACPI: fix CONFIG_NET=n acpi_bus_generate_netlink_event build failure drivers/acpi/event.c:243: error: 'acpi_generate_netlink_event' undeclared here (not in a function) Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 9990b48a403fa465b4ff600cd8a7b5108d1bc135 Author: Hirokazu Takata Date: Mon Aug 20 09:12:46 2007 +0900 m32r: Separate syscall table from entry.S - Separate sys_call_table from arch/m32r/kernel/entry.S and move it to arch/m32r/kernel/system_call.S. - Change sys_call_table section from .data to .rodata. Signed-off-by: Hirokazu Takata commit de2232edb8d82aca938570eb6f136e2d70a26418 Author: Hirokazu Takata Date: Sat Aug 18 00:10:18 2007 +0900 m32r: Cosmetic updates of arch/m32r/kernel/entry.S - Remove unused symbols *_MASK - Change indentation of comments, etc. Signed-off-by: Hirokazu Takata commit abd0a782359717ded8f663bc5b8e5e9e3cc4f5e7 Author: Hirokazu Takata Date: Fri Aug 17 23:40:37 2007 +0900 m32r: Exit ei_handler directly for no IRQ case or IPI operations If no IRQ request is found in the IRQ check of ei_handler, we can exit directly by jumping "restore_all", instead of via "ret_from_intr". This modification is also likely effective for IPI operations, because scheduler call never happen at the exit of IPIs. Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata commit 5171b100511513bc52875055f7d900fc3f7c922b Author: Hirokazu Takata Date: Fri Aug 17 18:11:37 2007 +0900 m32r: Simplify ei_handler code Simplify and clean up messy ei_handler code in arch/m32r/kernel/entry.S. - Remove ifdef's for CONFIG_CHIP_* configulations. - Rearrange the M32700 workaround code. - Remove the messy platform-dependent interrupt check routines and consolidate them to common INT0/INT1/INT2 check routines for all platforms with cascaded interrupt controllers. Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata commit e070fb743d9d13d9757e633d1bdd1f9c20b2d792 Author: Hirokazu Takata Date: Fri Aug 17 17:22:15 2007 +0900 m32r: Define symbols to unify platform-dependent ICU checks On some m32r platforms, cascaded ICUs are used. This patch is required to simplify ei_handler and consolidate platform- dependent ICU check routines. platform ICU/INT1 ICU/INT0 ICU/INT2 -------------- -------- -------- -------- m32104ut o - - m32700ut o o o opsput o o o usrv o - - (others) - - - Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata commit ef64cf605daa9c36d950ba94cc115b0aed130dbc Author: Hirokazu Takata Date: Wed Aug 1 21:10:11 2007 +0900 m32r: Move dot.gdbinit files Move dot.gdbinit files from arch/m32r/{platforms}/dot.gdbinit* to arch/m32r/platforms/{platform}/. Signed-off-by: Hirokazu Takata commit 3264f976d3188bea80819793c13a3220b8a4867c Author: Hirokazu Takata Date: Wed Aug 1 21:09:31 2007 +0900 m32r: Rearrange platform-dependent codes Rearrange platform-dependent codes from arch/m32r/kernel/*.c to arch/m32r/platforms/{platform}/. Signed-off-by: Hirokazu Takata commit e6a7ba7efddbb393b726453eae8601ef02b9a610 Author: Hirokazu Takata Date: Wed Aug 1 21:00:46 2007 +0900 m32r: Add defconfig file for the usrv platform. Add usrv_defcofig file for the usrv (M32R MicroServer) platform. platform defconfig Note ---------- ---------------------- --------------------------- usrv usrv_defconfig SMP Signed-off-by: Hirokazu Takata commit 9716e886aab47bc79fb3f9aad574d9d94662b6b0 Author: Hirokazu Takata Date: Wed Aug 1 20:59:20 2007 +0900 m32r: Update defconfig files for 2.6.23-rc1 Update defconfig files for 2.6.23-rc1 in arch/m32r/configs/. Signed-off-by: Hirokazu Takata commit 8ff262df2cf3f7878ba064a10f56c1b42fefa534 Author: Hirokazu Takata Date: Wed Aug 1 20:54:38 2007 +0900 m32r: Move defconfig files to arch/m32r/configs/ Change defconfig file's location from arch/m32r/{platform}/defconfig* to arch/m32r/configs/{platform}_defconfig. Applying this patch, we can use defconfig file for each m32r platform easily, like other architectures. ex. Setup defconfig for cross-building $ make ARCH=m32r CROSS_COMPILE=m32r-linux-gnu- {platform}_defconfig. platform defconfig Note ---------- ---------------------- --------------------------- m32104ut m32104ut_defconfig MMU-less m32700ut m32700ut.smp_defconfig SMP m32700ut m32700ut.up_defconfig UP mappi mappi.smp_defconfig SMP mappi mappi.up_defconfig UP mappi mappi.nommu_defconfig MMU-less mappi2 mappi2.opsp_defconfig FPGA env. (CPU Core: OPSP) mappi2 mappi2.vdec2_defconfig FPGA env. (CPU Core: VDEC2) mappi3 imappi3.smp_defconfig SMP oaks32r oaks32r_defconfig MMU-less opsput opsput_defconfig UP Signed-off-by: Hirokazu Takata commit 48440e893d700fb8f0de95fa7d748b711d290365 Author: David Howells Date: Thu Aug 30 17:21:19 2007 +0100 [MTD] Initialise s_flags in get_sb_mtd_aux() Initialise s_flags in get_sb_mtd_aux() from the flags parameter. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit fc0e01974ccccc7530b7634a63ee3fcc57b845ea Author: Jason Lunz Date: Sat Sep 1 12:06:03 2007 -0700 [JFFS2] fix write deadlock regression I've bisected the deadlock when many small appends are done on jffs2 down to this commit: commit 6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2 Author: Nick Piggin Date: Sun May 6 14:49:04 2007 -0700 mm: make read_cache_page synchronous Ensure pages are uptodate after returning from read_cache_page, which allows us to cut out most of the filesystem-internal PageUptodate calls. I didn't have a great look down the call chains, but this appears to fixes 7 possible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in ecryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in block2mtd. All depending on whether the filler is async and/or can return with a !uptodate page. It introduced a wait to read_cache_page, as well as a read_cache_page_async function equivalent to the old read_cache_page without any callers. Switching jffs2_gc_fetch_page to read_cache_page_async for the old behavior makes the deadlocks go away, but maybe reintroduces the use-before-uptodate problem? I don't understand the mm/fs interaction well enough to say. [It's fine. dwmw2.] Signed-off-by: Jason Lunz Signed-off-by: David Woodhouse commit 1b3b4a1a2deb7d3e5d66063bd76304d840c966b3 Author: Trond Myklebust Date: Tue Aug 28 10:29:36 2007 -0400 NFS: Fix a write request leak in nfs_invalidate_page() Ryusuke Konishi says: The recent truncate_complete_page() clears the dirty flag from a page before calling a_ops->invalidatepage(), ^^^^^^ static void truncate_complete_page(struct address_space *mapping, struct page *page) { ... cancel_dirty_page(page, PAGE_CACHE_SIZE); <--- Inserted here at kernel 2.6.20 if (PagePrivate(page)) do_invalidatepage(page, 0); ---> will call a_ops->invalidatepage() ... } and this is disturbing nfs_wb_page_priority() from calling nfs_writepage_locked() that is expected to handle the pending request (=nfs_page) associated with the page. int nfs_wb_page_priority(struct inode *inode, struct page *page, int how) { ... if (clear_page_dirty_for_io(page)) { ret = nfs_writepage_locked(page, &wbc); if (ret < 0) goto out; } ... } Since truncate_complete_page() will get rid of the page after a_ops->invalidatepage() returns, the request (=nfs_page) associated with the page becomes a garbage in nfs_inode->nfs_page_tree. ------------------------ Fix this by ensuring that nfs_wb_page_priority() recognises that it may also need to clear out non-dirty pages that have an nfs_page associated with them. Signed-off-by: Trond Myklebust commit 7d1cca72994c0e910ca443076dcfcfd473871dda Author: Chuck Lever Date: Wed Aug 29 17:59:03 2007 -0400 NFS: change NFS mount error return when hostname/pathname too long According to the mount(2) man page, the proper error return code for the mount(2) system call when the special device name or the mounted-on directory name is too long is ENAMETOOLONG. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 350c73af6af51ae7654dad91874c0d30dd13bbbe Author: Chuck Lever Date: Wed Aug 29 17:59:01 2007 -0400 NFS: Off-by-one length error in string handling The hostname was getting truncated in the new text-based NFS mount API. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fdc6e2c8c0dc0ac702fca0b802f5d9ae99a54bb6 Author: Chuck Lever Date: Wed Aug 29 17:58:59 2007 -0400 NFS: Return a real error code from mount(2) Don't filter the return code from the in-kernel rpcbind or NFS mount clients. Return the real error code so that callers of the new NFS text-based mount API can apply a useful retry strategy. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fdb66ff4ace3c4e18809b9b71dfcce1692143147 Author: Chuck Lever Date: Wed Aug 29 17:58:57 2007 -0400 NFS: mount option parser chokes on proto= The new text-based NFS mount option parsing logic doesn't recognize any valid transport protocols due to a silly mistake in the protocol token matching logic. This prevents basic mount requests such as: mount.nfs server:/export /mnt -o proto=tcp from working with the new text-based NFS mount API. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit deee9369b993b52a8e2f25683b4a67be7a65e8ae Author: Trond Myklebust Date: Mon Aug 27 11:33:00 2007 -0400 NFSv4: Ensure that we pass the correct dentry to nfs4_intent_set_file This patch fixes an Oops that was reported by Gabriel Barazer. Signed-off-by: Trond Myklebust commit 65bbf6bdbba0f74e254f706bfb00fe533974f4f1 Author: Trond Myklebust Date: Mon Aug 27 09:57:46 2007 -0400 NFSv4: Fix a typo in _nfs4_do_open_reclaim This should fix the following Oops reported by Jeff Garzik: kernel BUG at fs/nfs/nfs4xdr.c:1040! invalid opcode: 0000 [1] SMP CPU 0 Modules linked in: nfs lockd sunrpc af_packet ipv6 cpufreq_ondemand acpi_cpufreq battery floppy nvram sg snd_hda_intel ata_generic snd_pcm_oss snd_mixer_oss snd_pcm i2c_i801 snd_page_alloc e1000 firewire_ohci ata_piix i2c_core sr_mod cdrom sata_sil ahci libata sd_mod scsi_mod ext3 jbd ehci_hcd uhci_hcd Pid: 16353, comm: 10.10.10.1-recl Not tainted 2.6.23-rc3 #1 RIP: 0010:[] [] :nfs:encode_open+0x1c0/0x330 RSP: 0018:ffff8100467c5c60 EFLAGS: 00010202 RAX: ffff81000f89b8b8 RBX: 00000000697a6f6d RCX: ffff81000f89b8b8 RDX: 0000000000000004 RSI: 0000000000000004 RDI: ffff8100467c5c80 RBP: ffff8100467c5c80 R08: ffff81000f89bc30 R09: ffff81000f89b83f R10: 0000000000000001 R11: ffffffff881e79e0 R12: ffff81003cbd1808 R13: ffff81000f89b860 R14: ffff81005fc984e0 R15: ffffffff88240af0 FS: 0000000000000000(0000) GS:ffffffff8052a000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 00002adb9e51a030 CR3: 000000007ea7e000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process 10.10.10.1-recl (pid: 16353, threadinfo ffff8100467c4000, task ffff8100038ce780) Stack: ffff81004aeb6a40 ffff81003cbd1808 ffff81003cbd1808 ffffffff88240b5d ffff81000f89b8bc ffff81005fc984e8 ffff81000f89bc30 ffff81005fc984e8 0000000300000000 0000000000000000 0000000000000000 ffff81003cbd1800 Call Trace: [] :nfs:nfs4_xdr_enc_open_noattr+0x6d/0x90 [] :sunrpc:rpcauth_wrap_req+0x97/0xf0 [] :nfs:nfs4_xdr_enc_open_noattr+0x0/0x90 [] :sunrpc:call_transmit+0x18a/0x290 [] :sunrpc:__rpc_execute+0x6b/0x290 [] :sunrpc:rpc_do_run_task+0x76/0xd0 [] :nfs:_nfs4_proc_open+0x76/0x230 [] :nfs:nfs4_open_recover_helper+0x5e/0xc0 [] :nfs:nfs4_open_recover+0xe4/0x120 [] :nfs:nfs4_open_reclaim+0xa4/0xf0 [] :nfs:nfs4_reclaim_open_state+0x55/0x1b0 [] :nfs:reclaimer+0x2ca/0x390 [] :nfs:reclaimer+0x0/0x390 [] kthread+0x4b/0x80 [] child_rip+0xa/0x12 [] kthread+0x0/0x80 [] child_rip+0x0/0x12 Code: 0f 0b eb fe 48 89 ef c7 00 00 00 00 02 be 08 00 00 00 e8 79 RIP [] :nfs:encode_open+0x1c0/0x330 RSP Signed-off-by: Trond Myklebust commit 560aef74503e928f44ddbf481b8b02d9cef37dbf Author: Trond Myklebust Date: Mon Aug 27 09:14:56 2007 -0400 NFS: Fix use of cancel_delayed_work_sync in nfs_release_automount_timer Doh! We can't use cancel_delayed_work_sync because we may have been called from an unmount that was being performed by nfs_automount_task. Signed-off-by: Trond Myklebust commit b4154d4a01c6cc98b97dc239ca4302316c8f98da Author: Ondrej Zary Date: Sat Sep 1 00:55:21 2007 +0200 Fix sata_via write errors on PATA drive connected to VT6421 I think that I've found and fixed the problem. There is a copy/paste bug in vt6421_set_dma_mode() function which causes wrong values to be written to PATA_UDMA_TIMING register. This patch fixes a copy/paste bug that breaks DMA modes on VT6421 PATA port. Signed-off-by: Ondrej Zary Acked-by: Alan Cox Signed-off-by: Jeff Garzik commit 7d05154840db52201d8e719fd0f091b8381e362f Author: Jeff Garzik Date: Sat Sep 1 06:48:52 2007 -0400 [libata] ata_piix: properly terminate DMI system list If you don't terminate a list, bad things happen... Signed-off-by: Jeff Garzik commit 7b3166dbc3df5b72f2ba4ea130f4461e318a3838 Author: Peter Chubb Date: Tue Aug 21 13:57:01 2007 +1000 [IA64] Cleanup HPSIM code (was: Re: Enable early console for Ski simulator) After my last patch we have a new header file for HP simulator use. Here's code to use it for stuff that used to have `extern' statements inline in the code. Functionality should not change with this patch. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit 8b713c67bccef7cabb0ee915f47eb33d82636af9 Author: Peter Chubb Date: Tue Aug 21 13:51:45 2007 +1000 [IA64] Enable early console for Ski simulator This patch cleans up the `enable early console for SKI' patch (471e7a44848f467c9b83adc3463d019d2fa8817f), and 1. potentially allows the gensparse_defconfig to work again. (there are other problems running a generic kernel on Ski) 2. fixes the `console registered twice' problem. 3. Cleans up the code by moving the `extern hpsim_cons' declaration to a new asm/hpsim.h file. Thanks to Jes for comments. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit 99a19cf1c0eb22bad83fff060f08330ee9e029e2 Author: Prarit Bhargava Date: Wed Aug 22 14:34:38 2007 -0400 [IA64] Stop bogus NMI & softlockup warnings in ia64 show_mem When dumping memory via sysrq-m it is possible to take a bogus NMI watchdog or softlockup watchdog because the dump can take a long time on big memory systems. Occasionally tickle the watchdog when doing the dump. Signed-off-by: Prarit Bhargava Signed-off-by: Tony Luck commit 6e9de18120988388cdae5097c09e774416d58745 Author: John Keller Date: Wed Aug 22 19:32:06 2007 -0500 [IA64] SN: Add support for CPU disable Add additional support for CPU disable on SN platforms. Correctly setup the smp_affinity mask for I/O error IRQs. Restrict the use of the feature to Altix 4000 and 450 systems running with a CPU disable capable PROM, and do not allow disabling of CPU 0. Signed-off-by: John Keller Signed-off-by: Tony Luck commit 1aac0b5739ae192ee812eee09625ebfc08c2d760 Author: Jesper Juhl Date: Fri Aug 24 01:40:26 2007 +0200 [IA64] Remove unnecessary cast of allocation return value in sn_hwperf_enum_objects() vmalloc() returns a void pointer - no need to cast it. Signed-off-by: Jesper Juhl Signed-off-by: Tony Luck commit f82f3f9422d4da1eeec6f6cf3e64c6c34c4fe19b Author: Roman Zippel Date: Thu Aug 30 05:06:17 2007 +0200 kconfig: oldconfig shall not set symbols if it does not need to Avoid setting the value if the symbol doesn't need to be changed or can't be changed. Later choices may change the dependencies and thus the possible input range. make oldconfig from a 2.6.22 .config with CONFIG_HOTPLUG_CPU not set was in some configurations setting CONFIG_HOTPLUG_CPU=y without asking, even when there was no actual requirement for CONFIG_HOTPLUG_CPU. This was triggered by SUSPEND_SMP that does a select HOTPLUG_CPU. Signed-off-by: Roman Zippel Tested-by: Hugh Dickins Signed-off-by: Sam Ravnborg commit 40ffbfad6bb79a99cc7627bdaca0ee22dec526f6 Author: Linus Torvalds Date: Fri Aug 31 23:08:24 2007 -0700 Linux 2.6.23-rc5 commit e89a5a43b95cdc4305b7c8e8121a380f02476636 Author: Trond Myklebust Date: Fri Aug 31 10:45:17 2007 -0400 NFS: Fix the mount regression This avoids the recent NFS mount regression (returning EBUSY when mounting the same filesystem twice with different parameters). The best I can do given the constraints appears to be to have the kernel first look for a superblock that matches both the fsid and the user-specified mount options, and then spawn off a new superblock if that search fails. Note that this is not the same as specifying nosharecache everywhere since nosharecache will never attempt to match an existing superblock. Signed-off-by: Trond Myklebust Tested-by: Hua Zhong Signed-off-by: Linus Torvalds commit 36ad4885c47c2187822f2783fb46fde2d36bf200 Author: Linus Torvalds Date: Fri Aug 31 20:18:51 2007 -0700 x86: be even more careful about checking the stack frame on dumping lguest didn't initialize the kernel stack the way a real i386 kernel does, and ended up triggering a corner-case in the stack frame checking that doesn't happen on naive i386, and that the stack dumping didn't handle quite right. This makes the frame handling more correct, and tries to clarify the code at the same time so that it's a bit more obvious what is going on. Thanks to Rusty Russell for debugging the lguest failure- Cc: Rusty Russell Signed-off-by: Linus Torvalds commit 3b2b64fd311c92f2137eb7cee7025794cd854057 Author: Linus Torvalds Date: Fri Aug 31 20:13:57 2007 -0700 Do not use the ia64 clocksource on non-ia64 architectures The HPET clocksource in drivers/char/hpet.c was written as generic code for ia64, but it is not yet ready to replace the native HPET clocksource implementations that the i386/x86-64 architectures use. On x86[-64], trying to register this clocksource results in potentially multiple hpet-based clocksources being registered, and if the ia64 one is chosen on x86_64 some users have experienced hangs. Eventually all three architectures may end up using the same code, but that is not the case right now. Cc: John Stultz Cc: Tony Luck Cc: Paolo Ornati Cc: Bob Picco Cc: Thomas Gleixner Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 5c127c58ae9bf196d787815b1bd6b0aec5aee816 Author: David S. Miller Date: Fri Aug 31 14:39:44 2007 -0700 [TCP]: 'dst' can be NULL in tcp_rto_min() Reported by Rick Jones. Signed-off-by: David S. Miller commit 5ff70cac3e98af64f9a1eaec9e762ff4927c26d1 Author: Joachim Fenkes Date: Fri Aug 31 16:03:37 2007 +0200 IB/ehca: SRQ fixes to enable IPoIB CM Fix ehca SRQ support so that IPoIB connected mode works: - Report max_srq > 0 if SRQ is supported - Report "last wqe reached" asynchronous event when base QP dies; this is required by the IB spec and IPoIB CM relies on receiving it when cleaning up. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit fecea0ab3415bfab9a1964690e53b10c5d8f2e46 Author: Stefan Roscher Date: Fri Aug 31 16:02:59 2007 +0200 IB/ehca: Fix Small QP regressions The new Small QP code had a few bugs that would also make it trigger for non-Small QPs. Fix them. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 4221d014ea04d439e6d1e65951c3b406e7c1b7ab Author: H. Peter Anvin Date: Fri Aug 31 11:30:31 2007 -0700 [x86 setup] Don't rely on the VESA BIOS being register-clean The VESA BIOS is specified to be register-clean. However, we have now found at least one system which violates that. Thus, be as paranoid about VESA calls as about everything else. Huge thanks to Will Simoneau for reporting, diagnosing, and testing this out on Dell Inspiron 5150. Cc: Will Simoneau Signed-off-by: H. Peter Anvin commit 47330077650a25d417155848516b2cba97999602 Author: Divy Le Ray Date: Wed Aug 29 19:15:52 2007 -0700 - cxgb3 engine microcode load Load the engine microcode when an interface is brought up, instead of of doing it when the module is loaded. Loosen up tight binding between the driver and the engine microcode version. There is no need for microcode update with T3A boards. Fix the file naming. Do a better job at logging the loading activity. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 5fbf816fe7d72bfdbf22bfec05b4ec3aa6849f72 Author: Divy Le Ray Date: Wed Aug 29 19:15:47 2007 -0700 cxgb3 - Fix dev->priv usage cxgb3 used netdev_priv() and dev->priv for different purposes. In 2.6.23, netdev_priv() == dev->priv, cxgb3 needs a fix. This patch is a partial backport of Dave Miller's changes in the net-2.6.24 git branch. Without this fix, cxgb3 crashes on 2.6.23. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 54d0f56e63edb1aa3901ea6389bf7ea5d43d0c22 Author: Klaus D. Wacker Date: Wed Aug 29 11:26:58 2007 +0200 qeth: Drop ARP packages on HiperSockets interface with NOARP attribute. A network interface can get ARP packets even when the interface has NOARP specified. In a HiperSockets environment this disturbs receiving systems when packets are sent on the multicast queue. (E.g. TCP/IP on z/VM issues messages reporting invalid data on the HiperSockets interface.) Qeth will no longer send ARP packets on HiperSockets interface when interface has the NOARP attribute. Signed-off-by: Klaus D. Wacker Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 6e55cab9f004e6e7a9ab5d7b27fb705ed0de838e Author: Ursula Braun Date: Wed Aug 29 11:26:57 2007 +0200 qeth: provide specific message for OSA-adapters exclusively used Exclusive usage of OSA-cards has been introduced. Even though Linux does not make use of it, qeth should be prepared to receive a bad RC for some initialization steps. A meaningful message is now given, if an OSA-device is set online, even though the OSA-adapter is already exclusively used by another host. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 6d4f3d182b1c6074b84feaadd84a0957059a5940 Author: Ursula Braun Date: Wed Aug 29 11:26:56 2007 +0200 qeth: crash during reboot after failing online setting Online setting of a qeth device may fail for instance because of: - out-of-memory condition when allocating qdio queues - IDX ACTIVATE problem - ... Such a device is still returned in a driver_for_each_device loop processed in qeth_reboot_event(), which calls qeth_clear_qdio_buffers(). Make sure qeth_clear_output_buffer() is called only, if the qdio queues have been successfully allocated during initialization of a qeth device. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 5a4b61a95a9b742d8a966950d23f386c34a733f2 Author: Frank Blaschka Date: Wed Aug 29 11:26:55 2007 +0200 qeth: Announce tx checksumming for qeth devices in TSO/EDDP mode TSO requires tx checksumming. For non GSO frames in TSO/EDDP mode we have to manually calculate the checksum. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit ecee51b755335d3ff254199fc1a2775ea451eecf Author: Heiko Carstens Date: Wed Aug 29 11:26:54 2007 +0200 qeth: dont return the return values of void functions. Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit cde46035161d677617983177e877c87d89fbb5e1 Author: Frank Blaschka Date: Wed Aug 29 11:26:53 2007 +0200 qeth: enforce a rate limit for inbound scatter gather messages under memory pressure scatter gather mode switching messages must be rate limited. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit d0a34f98d1da66a5b4e02171854e6c04c9916016 Author: Ursula Braun Date: Wed Aug 29 11:26:52 2007 +0200 qeth: ungrouping a device must not be interruptible Problem: A recovery thread must not be active when device is removed. In qeth_remove_device() an interruptible wait operation is used to wait until a qeth recovery thread is finished. If a user really interrupts the ungroup operation of a qeth device while a recovery is running, cio and qeth are out of sync (device already removed from cio, but kept in qeth). A following module unload of qeth results in a kernel OOPS here. Solution: Do not allow interruption of ungroup operation to guarantee finishing of a potentially running qeth recovery thread. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 3052246c815fe17ff3a9fcb5601c6688b523e5f5 Author: dhananjay@netxen.com Date: Tue Aug 28 17:23:26 2007 +0530 netxen: fix crashes during module unload This patch fixes two problems during driver unload. The pci_disable_device() call is before firmware reload, causing reads and writes across PCI bus after disabling device. Second problem is the register window was wrong during firmware reload Signed-off by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit b3e2d8874e8ba92bfefede645b8be2ec6c956933 Author: dhananjay@netxen.com Date: Tue Aug 28 17:23:25 2007 +0530 netxen: Avoid firmware load in PCI probe Loading firmware during PCI probe can lead to incorrect initialization, rendering the card unusable until next reboot. This was introduced a while ago as a workaround for firmware bug, a better workaround was submitted for this a while ago. So removing original hack that loads firmware during probe. Signed-off by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 14cc0a2b733cc1129676d8e01558bab32b138d63 Author: Masakazu Mokuno Date: Tue Aug 28 13:18:15 2007 +0900 PS3: fix the bug that 'ifconfig down' would hang Fix the bug that 'ifconfig eth0 down' would hang up, reported by Stefan Assmann . As we removed netif_poll_enable() from dev->open(), we should not use netif_poll_disable() in dev->stop(). Signed-off-by: Masakazu Mokuno CC: Geoff Levand Signed-off-by: Jeff Garzik commit 0491d1f3fd93f838d8bfb75b12acfba39d06a4da Author: Ralf Baechle Date: Sun Aug 26 18:51:22 2007 +0100 IOC3: Program UART predividers. The IOC3 driver's UART detection bits used to rely on the the firmware setting the UART pre-divider in a way that's apropriate for the 8250 driver which doesn't currently program this register. This happens to work for the console but not rarely for additional ports. While at it, also program the UART to RS-232 PIO mode; it the UART might have been in mac-serial and/or DMA mode though that hasn't actually been observed in practice. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 2a3103ce4357a09c2289405f969acec0edf4398f Author: Jeff Garzik Date: Fri Aug 31 04:54:06 2007 -0400 [libata] Bump driver versions Bump the versions for drivers that were modified, but had not already had a version number bump. Signed-off-by: Jeff Garzik commit 3b42d28b2a04b3c9830eb865288239d45eccc402 Author: Christoph Lameter Date: Fri Aug 31 00:12:08 2007 -0700 Page migration: Do not accept invalid nodes in the target nodeset Page migration currently does not check if the target of the move contains nodes that that are invalid (if root attempts to migrate pages) and may try to allocate from invalid nodes if these are specified leading to oopses. Return -EINVAL if an offline node is specified. Signed-off-by: Christoph Lameter Cc: Shaohua Li Cc: Andrew Morton Signed-off-by: Linus Torvalds commit dec4ad86c2fbea062e9ef9caa6d6e79f7c5e0b12 Author: David Gibson Date: Thu Aug 30 23:56:40 2007 -0700 hugepage: fix broken check for offset alignment in hugepage mappings For hugepage mappings, the file offset, like the address and size, needs to be aligned to the size of a hugepage. In commit 68589bc353037f233fe510ad9ff432338c95db66, the check for this was moved into prepare_hugepage_range() along with the address and size checks. But since BenH's rework of the get_unmapped_area() paths leading up to commit 4b1d89290b62bb2db476c94c82cf7442aab440c8, prepare_hugepage_range() is only called for MAP_FIXED mappings, not for other mappings. This means we're no longer ever checking for an aligned offset - I've confirmed that mmap() will (apparently) succeed with a misaligned offset on both powerpc and i386 at least. This patch restores the check, removing it from prepare_hugepage_range() and putting it back into hugetlbfs_file_mmap(). I'm putting it there, rather than in the get_unmapped_area() path so it only needs to go in one place, than separately in the half-dozen or so arch-specific implementations of hugetlb_get_unmapped_area(). Signed-off-by: David Gibson Cc: Adam Litke Cc: Andi Kleen Cc: "David S. Miller" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a58448b0a375f7198de34dd0d3e2881afeaf025 Author: Jiri Slaby Date: Thu Aug 30 23:56:39 2007 -0700 MAINTAINERS, order NETERION alphabetically MAINTAINERS, order NETERION alphabetically Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60693e5a9a2063b87d4dbe8029816c814b3fa84e Author: Shane Huang Date: Thu Aug 30 23:56:38 2007 -0700 i2c-piix4: Fix SB700 PCI device ID We find that SB700 and SB800 use the same SMBus device ID as SB600, which is 0x4385, instead of the already submitted 0x4395. Besides removing the wrong SB700 device ID, add SB800 support to kernel, by renaming the PCI_DEVICE_ID_ATI_IXP600_SMBUS into PCI_DEVICE_ID_ATI_SBX00_SMBUS. Signed-off-by: Shane Huang Signed-off-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4500371e050af18e606c25ee5cc8b030868d3089 Author: Randy Dunlap Date: Thu Aug 30 23:56:37 2007 -0700 MAINTAINERS: update DCO info Drop the URL for DCO (URL is invalid). Also, point to SubmittingPatches for the current DCO. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60187d2708caa870f0825d753df1612ea688eb9e Author: Oleg Nesterov Date: Thu Aug 30 23:56:35 2007 -0700 sigqueue_free: fix the race with collect_signal() Spotted by taoyue and Jeremy Katz . collect_signal: sigqueue_free: list_del_init(&first->list); if (!list_empty(&q->list)) { // not taken } q->flags &= ~SIGQUEUE_PREALLOC; __sigqueue_free(first); __sigqueue_free(q); Now, __sigqueue_free() is called twice on the same "struct sigqueue" with the obviously bad implications. In particular, this double free breaks the array_cache->avail logic, so the same sigqueue could be "allocated" twice, and the bug can manifest itself via the "impossible" BUG_ON(!SIGQUEUE_PREALLOC) in sigqueue_free/send_sigqueue. Hopefully this can explain these mysterious bug-reports, see http://marc.info/?t=118766926500003 http://marc.info/?t=118466273000005 Alexey Dobriyan reports this patch makes the difference for the testcase, but nobody has an access to the application which opened the problems originally. Also, this patch removes tasklist lock/unlock, ->siglock is enough. Signed-off-by: Oleg Nesterov Cc: taoyue Cc: Jeremy Katz Cc: Sukadev Bhattiprolu Cc: Alexey Dobriyan Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Roland McGrath Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99db67bc04af0f2e8cb710ac92aaeb9af135a7c6 Author: Alexey Dobriyan Date: Thu Aug 30 23:56:34 2007 -0700 userns: don't leak root user Signed-off-by: Alexey Dobriyan Acked-by: Cedric Le Goater Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59845b1ffd9121e5ef474ea5f27405fd7a83c85b Author: Jarek Poplawski Date: Thu Aug 30 23:56:34 2007 -0700 request_irq: fix DEBUG_SHIRQ handling Mariusz Kozlowski reported lockdep's warning: > ================================= > [ INFO: inconsistent lock state ] > 2.6.23-rc2-mm1 #7 > --------------------------------- > inconsistent {in-hardirq-W} -> {hardirq-on-W} usage. > ifconfig/5492 [HC0[0]:SC0[0]:HE1:SE1] takes: > (&tp->lock){+...}, at: [] rtl8139_interrupt+0x27/0x46b [8139too] > {in-hardirq-W} state was registered at: > [] __lock_acquire+0x949/0x11ac > [] lock_acquire+0x99/0xb2 > [] _spin_lock+0x35/0x42 > [] rtl8139_interrupt+0x27/0x46b [8139too] > [] handle_IRQ_event+0x28/0x59 > [] handle_level_irq+0xad/0x10b > [] do_IRQ+0x93/0xd0 > [] common_interrupt+0x2e/0x34 ... > other info that might help us debug this: > 1 lock held by ifconfig/5492: > #0: (rtnl_mutex){--..}, at: [] mutex_lock+0x1c/0x1f > > stack backtrace: ... > [] _spin_lock+0x35/0x42 > [] rtl8139_interrupt+0x27/0x46b [8139too] > [] free_irq+0x11b/0x146 > [] rtl8139_close+0x8a/0x14a [8139too] > [] dev_close+0x57/0x74 ... This shows that a driver's irq handler was running both in hard interrupt and process contexts with irqs enabled. The latter was done during free_irq() call and was possible only with CONFIG_DEBUG_SHIRQ enabled. This was fixed by another patch. But similar problem is possible with request_irq(): any locks taken from irq handler could be vulnerable - especially with soft interrupts. This patch fixes it by disabling local interrupts during handler's run. (It seems, disabling softirqs should be enough, but it needs more checking on possible races or other special cases). Reported-by: Mariusz Kozlowski Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2aeb3db17fc33443d21b11d7121c5627d55717c6 Author: Ryusuke Konishi Date: Thu Aug 30 23:56:33 2007 -0700 eCryptfs: fix possible fault in ecryptfs_sync_page This will avoid a possible fault in ecryptfs_sync_page(). In the function, eCryptfs calls sync_page() method of a lower filesystem without checking its existence. However, there are many filesystems that don't have this method including network filesystems such as NFS, AFS, and so forth. They may fail when an eCryptfs page is waiting for lock. Signed-off-by: Ryusuke Konishi Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85787a2bea516b76a013eea7f5f3fad12c5a6417 Author: Andrew Victor Date: Thu Aug 30 23:56:32 2007 -0700 Fix typo in atmel_spi.c Fix cut 'n paste bug in Atmel SPI driver. Signed-off-by: Andrew Victor Acked-by: David Brownell Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f79abb828e1d851387def4247eb3f9477fe03234 Author: Ralf Baechle Date: Thu Aug 30 23:56:31 2007 -0700 Fix modpost warning in serial driver This is triggered if PCI && !HOTPLUG. MODPOST vmlinux.o WARNING: vmlinux.o(.data+0xc910): Section mismatch: reference to .init.text:pci_ite887x_init (between 'pci_serial_quirks' and 'serial_pci_tbl') Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb109a0eb44cea24e83e7176473011fa41507b8b Author: Ralf Baechle Date: Thu Aug 30 23:56:30 2007 -0700 Add MAINTAINERS entry for IOC3 serial driver The IOC3 is a multifunction device but not in sense of the PCI specification. Currently its ethernet and serial functionality are supported by two separate drivers authored and maintained by different people, so MAINTAINERS should reflect that. Cc: Patrick Gefre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3de4be9d5f8551d7880a1f1f5231a30e0161b1f Author: Rafael J. Wysocki Date: Thu Aug 30 23:56:29 2007 -0700 PM: Fix dependencies of CONFIG_SUSPEND and CONFIG_HIBERNATION Dependencies of CONFIG_SUSPEND and CONFIG_HIBERNATION introduced by commit 296699de6bdc717189a331ab6bbe90e05c94db06 "Introduce CONFIG_SUSPEND for suspend-to-Ram and standby" are incorrect, as they don't cover the facts that (1) not all architectures support suspend and (2) SMP hibernation is only possible on X86 and PPC64 (if CONFIG_PPC64_SWSUSP is set). Signed-off-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b07e35f94a7b6a059f889b904529ee907dc0634d Author: Oleg Nesterov Date: Thu Aug 30 23:56:27 2007 -0700 setpgid(child) fails if the child was forked by sub-thread Spotted by Marcin Kowalczyk . sys_setpgid(child) fails if the child was forked by sub-thread. Fix the "is it our child" check. The previous commit ee0acf90d320c29916ba8c5c1b2e908d81f5057d was not complete. (this patch asks for the new same_thread_group() helper, but mainline doesn't have it yet). Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Tested-by: "Marcin 'Qrczak' Kowalczyk" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d540fb71552b9f2c542bea967200c48be2d8ef6 Author: Christoph Lameter Date: Thu Aug 30 23:56:26 2007 -0700 slub: do not fail if we cannot register a slab with sysfs Do not BUG() if we cannot register a slab with sysfs. Just print an error. The only consequence of not registering is that the slab cache is not visible via /sys/slab. A BUG() may not be visible that early during boot and we have had multiple issues here already. Signed-off-by: Christoph Lameter Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ccdb4c8727c9963c7aa0d6301df283cf1f8a731 Author: Atsushi Nemoto Date: Thu Aug 30 23:56:25 2007 -0700 spi: correct name for spi_txx9 Correct the name of the spi_txx9 driver (and their in-tree user) instead of MODULE_ALIAS workaround. This would be preferable in the long term. Signed-off-by: Atsushi Nemoto Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc3ba9525b50ea0d1670357ece21ebedcee507ae Author: David Brownell Date: Thu Aug 30 23:56:24 2007 -0700 SPI driver hotplug/coldplug fixes Update various SPI drivers so they properly support - coldplug through "modprobe $(cat /sys/devices/.../modalias)" - hotplug through "modprobe $(MODALIAS)" The basic rule for platform, SPI, and (new style) I2C drivers is just to make sure that modprobing the driver name works. In this case, all the relevant drivers are platform drivers, and this patch either (a) Changes the driver name, if no in-tree code would break; this is simpler and thus preferable in the long term. (b) Adds MODULE_ALIAS directives, when in-tree platforms declare devices using the current driver name; less desirable. Most systems will link SPI controller drivers statically, but there's no point in being needlessly broken. Signed-off-by: David Brownell Cc: Jean Delvare Acked-by: Andrei Konovalov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2ab6d8889422c1f5354f014e8bef337b1d1bade Author: Jonathan Lim Date: Thu Aug 30 23:56:23 2007 -0700 Assign task_struct.exit_code before taskstats_exit() taskstats.ac_exitcode is assigned to task_struct.exit_code in bacct_add_tsk() through the following kernel function calls: do_exit() taskstats_exit() fill_pid() bacct_add_tsk() The problem is that in do_exit(), task_struct.exit_code is set to 'code' only after taskstats_exit() has been called. So we need to move the assignment before taskstats_exit(). Signed-off-by: Jonathan Lim Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c24c55c75a0d799be07ad6c1a7ff4ccfe25da75b Author: Ralf Baechle Date: Thu Aug 30 23:56:23 2007 -0700 Fix font dependency for SGI Newport console driver We better select a font when the newport driver is a module or the user experience might suffer. Signed-off-by: Ralf Baechle Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5cc15dac55d4943176f84681f37aa48094ffa8b Author: Jan Kara Date: Thu Aug 30 23:56:22 2007 -0700 Fix possible NULL pointer dereference in udf_table_free_blocks() Fix possible NULL pointer dereference when freeing blocks in case table of free space is used. Also fix handling of the case when we need to move extent from one block to another one to make space for indirect extent. BTW: Nobody seem to have ever used this code. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcec44770cc65660369ae17b4e44be027a64a46c Author: Jan Kara Date: Thu Aug 30 23:56:22 2007 -0700 UDF: handle wrong superblock better If UDF superblock is incorrect, we can fail to find a table of free / allocated space and consequently Oops. Handle this situation more gracefully by ignoring the broken UDF partition. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 989f89c57e6361e7d16fbd9572b5da7d313b073d Author: KAMEZAWA Hiroyuki Date: Thu Aug 30 23:56:21 2007 -0700 fix rcu_read_lock() in page migraton In migration fallback path, write_page() or lock_page() will be called. This causes sleep with holding rcu_read_lock(). For avoding that, just do rcu_lock if the page is Anon.(this is enough.) Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1254b12c93e1e586137a2ffef71fd33cf273f35 Author: Jeff Dike Date: Thu Aug 30 23:56:20 2007 -0700 uml: fix x86_64 core dump crash Stop UML crashing when trying to dump a process core on x86_64. This is the minimal fix to stop the crash - more things are broken here, and patches are forthcoming. The immediate thing to do is define ELF_CORE_COPY_REGS and ELF_CORE_COPY_FPREGS. Defining ELF_CORE_COPY_FPREGS allows dump_fpu to go away. It is defined in terms of save_fp_registers, so that needs to be added. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7ec16da5adc1c1b341b2a83bde7add17dcf811a Author: Jeff Dike Date: Thu Aug 30 23:56:17 2007 -0700 uml: fix linker script alignment bugs Fix a class of bugs in the UML linker scripts which caused section boundary variables to sometimes not line up with their sections. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 641916881322a2dee5b120d509a3bdd05a502510 Author: Andrew Morton Date: Thu Aug 30 23:56:17 2007 -0700 process_zones(): fix recovery code Don't try to free memory which we didn't allocate. Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 060d11b0b35d13eb2251fd08403d900b71df5791 Author: Andrew Morton Date: Thu Aug 30 23:56:16 2007 -0700 revert "eCryptfs: fix lookup error for special files" This patch got appied twice. Cc: Ryusuke Konishi Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43a98f05d99205687ddf74089e79a8312c8c5f90 Author: Tejun Heo Date: Thu Aug 23 10:15:18 2007 +0900 ata_piix: implement IOCFG bit18 quirk Some notebooks need bit18 of IOCFG to be cleared for the drive bay to work even though the bit is NOOP according to the datasheet. This patch implement IOCFG bit18 quirk and apply it to Clevo M570U. http://bugzilla.kernel.org/show_bug.cgi?id=8051 Signed-off-by: Tejun Heo Cc: D. Angelis Signed-off-by: Jeff Garzik commit 16c55b038033d8f6f7601996dfae44399666d9ab Author: Tejun Heo Date: Wed Aug 29 11:58:33 2007 +0900 libata: implement BROKEN_HPA horkage and apply it to affected drives Some drives choke on READ_NATIVE_MAX_ADDRESS[_EXT]. Implement ATA_HORKAGE_BROKEN_HPA and apply it to affected drives. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7f9992a23190418592f0810900e4f91546ec41da Author: Mikael Pettersson Date: Wed Aug 29 10:25:37 2007 +0200 sata_promise: FastTrack TX4200 is a second-generation chip This patch corrects sata_promise to classify FastTrack TX4200 (DID 3515/3519) as a second-generation chip. Promise's partial- source FT TX4200 driver confirms this classification. Treating it as a first-generation chip causes several problems: 1. Detection failures. This is a recent regression triggered by the hotplug-enabling changes in 2.6.23-rc1. 2. Various "failed to resume link for reset" warnings. This patch fixes . Thanks to Stephen Ziemba for reporting the bug and for testing the fix. Signed-off-by: Mikael Pettersson Tested-by: Stephen Ziemba Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit aa137f9d29d30592774c727ec5cfcf9891e576fa Author: Christoph Lameter Date: Fri Aug 31 00:48:45 2007 -0700 SLUB: Force inlining for functions in slub_def.h Some compilers (especially older gcc releases) may skip inlining sometimes which will lead to link failures. Force the inlining of keyfunctions in slub_def.h to avoid these issues. Signed-off-by: Christoph Lameter Acked-by: Jan Dittmer Signed-off-by: Linus Torvalds commit d36ee189f392ea89de85124a0b58477bb0f2e0a6 Author: Alan Cox Date: Thu Aug 23 20:19:55 2007 +0100 pata_marvell: Add more identifiers This replaces the patch which incorrectly removed the 6145 Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 3cc0b9d3baeb6103d87743e4737a4b6eda30d399 Author: Tejun Heo Date: Sat Aug 25 08:31:02 2007 +0900 ata_piix: add Satellite U200 to broken suspend list Satellite U200 also shares the problem. Add it to the broken suspend list. Original patch from John Schember. Signed-off-by: Tejun Heo Cc: John Schember Signed-off-by: Jeff Garzik commit 91a6d4ed333a47003f07636b3bd143521e0bbad1 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 27 19:35:22 2007 +0200 ata: add ATA_MWDMA* and ATA_SWDMA* defines Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit c5cf0ffa71d32c03607d287b76483479afb0bcd3 Author: Jason Gaston Date: Thu Aug 30 21:36:56 2007 -0700 ata_piix: IDE mode SATA patch for Intel Tolapai Resend trying to remove 8-bit characters in the email. This patch adds the Intel Tolapai IDE mode SATA controller DID's. Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit 18b2466c3050e23c98bb69bd3f35295ff8164851 Author: Alan Cox Date: Wed Aug 8 14:28:49 2007 +0100 libata-core: Allow translation setting to fail On some early drives (pre ATA1) this feature is not supported. If it fails then we know the drive geometry is the hardware geometry and the one we tried to set anyway so just carry on. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 5f92c329364c0bf2d3a356da5e8759fbe349f9d1 Author: David S. Miller Date: Thu Aug 30 22:27:28 2007 -0700 [SPARC64]: Fix several bugs in MSI handling. 1) sun4{u,v}_build_msi() have improper return value handling. We should always return negative error codes, instead of using the magic value "0" which could in fact be a valid MSI number. 2) sun4{u,v}_build_msi() should return -ENOMEM instead of calling prom_prom() halt with kzalloc() of the interrupt data fails. 3) We 'remembered' the MSI number using a singleton in the struct device archdata area, this doesn't work for MSI-X which can cause multiple MSIs assosciated with one device. Delete that archdata member, and instead store the MSI number in the IRQ chip data area. Signed-off-by: David S. Miller commit 6e69d6068cc2aa545544189a1ee4d2e1a32ad591 Author: David S. Miller Date: Tue Aug 28 14:25:32 2007 -0700 [SPARC64]: Fix type and constant sizes wrt. sun4u IMAP/ICLR handling. Sometimes we were using 32-bit values and the top bits were getting inadvertantly chopped off. This will matter for the forthcoming Fire controller MSI support. Signed-off-by: David S. Miller commit 88282c6ecf0dacefda6090b0289d35e8a3cc6221 Author: Pavel Emelyanov Date: Thu Aug 30 22:46:36 2007 -0700 [PKTGEN]: Remove write-only variable. The pktgen_thread.pid is set to current->pid and is never used after this. So remove this at all. Found during isolating the explicit pid/tgid usage. Signed-off-by: Pavel Emelyanov Acked-by: Sukadev Bhattiprolu Signed-off-by: David S. Miller commit a289d70d74c39a8e6938619f967fc6cd70ce1798 Author: Jesper Bengtsson Date: Thu Aug 30 22:36:43 2007 -0700 [NETFILTER]: xt_tcpudp: fix wrong struct in udp_checkentry It doesn't seem to have any effect on the x86 architecture but it does have effect on the Axis CRIS architecture. Signed-off-by: Jesper Bengtsson Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dbaaa07a60edf71670b484a65e14400ab40c84f7 Author: Lucas Nussbaum Date: Thu Aug 30 22:35:46 2007 -0700 [NET_SCHED] sch_prio.c: remove duplicate call of tc_classify() When CONFIG_NET_CLS_ACT is enabled, tc_classify() is called twice in prio_classify(). This causes "interesting" behaviour: with the setup below, packets are duplicated, sent twice to ifb0, and then loop in and out of ifb0. The patch uses the previously calculated return value in the switch, which is probably what Patrick had in mind in commit bdba91ec70fb5ccbdeb1c7068319adc6ea9e1a7d -- maybe Patrick can double-check this? -- example setup -- ifconfig ifb0 up tc qdisc add dev ifb0 root netem delay 2s tc qdisc add dev $ETH root handle 1: prio tc filter add dev $ETH parent 1: protocol ip prio 10 u32 \ match ip dst 172.24.110.6/32 flowid 1:1 \ action mirred egress redirect dev ifb0 ping -c1 172.24.110.6 Signed-off-by: Lucas Nussbaum Signed-off-by: David S. Miller commit 2d8348b429b4ae5cc47449c787881221fe43af4b Author: Alexey Starikovskiy Date: Fri Aug 31 09:05:26 2007 +0400 ACPI: EC: Check if boot_ec was really found in DSDT acpi_get_devices() returns success if it did not find any device. We have to check for this case. Signed-off-by: Alexey Starikovskiy Tested-by: Daniel Ritz Tested-by: Luca Signed-off-by: Linus Torvalds commit b4a488d1824a2cc3514f9ee1298d805bd5edc893 Author: Stephen Hemminger Date: Thu Aug 30 22:16:22 2007 -0700 [BRIDGE]: Fix OOPS when bridging device without ethtool. Bridge code calls ethtool to get speed. The conversion to using only ethtool_ops broke the case of devices without ethtool_ops. This is a new regression in 2.6.23. Rearranged the switch to a logical order, and use gcc initializer. Ps: speed should have been part of the network device structure from the start rather than burying it in ethtool. Signed-off-by: Stephen Hemminger Acked-by: Matthew Wilcox Signed-off-by: David S. Miller commit df1c0b8468b34628ed12b103804a4576cd9af8bb Author: Stephen Hemminger Date: Thu Aug 30 22:15:35 2007 -0700 [BRIDGE]: Packets leaking out of disabled/blocked ports. This patch fixes some packet leakage in bridge. The bridging code was allowing forward table entries to be generated even if a device was being blocked. The fix is to not add forwarding database entries unless the port is active. The bug arose as part of the conversion to processing STP frames through normal receive path (in 2.6.17). Signed-off-by: Stephen Hemminger Acked-by: John W. Linville Signed-off-by: David S. Miller commit 05bb1fad1cde025a864a90cfeb98dcbefe78a44a Author: David S. Miller Date: Thu Aug 30 22:10:28 2007 -0700 [TCP]: Allow minimum RTO to be configurable via routing metrics. Cell phone networks do link layer retransmissions and other things that cause unnecessary timeout retransmits. So allow the minimum RTO to be inflated per-route to deal with this. Signed-off-by: David S. Miller commit 62e6f1e8bb7c48c02b8bdb3085c5f6365682149b Author: Hugh Dickins Date: Fri Aug 31 04:26:50 2007 +0100 fix maxcpus=1 oops in show_stat() Alexey Dobriyan reports that maxcpus=1 is still broken in 2.6.23-rc4: if CONFIG_HOTPLUG_CPU is not set, x86_64 bootup oopses in show_stat() - for_each_possible_cpu accesses a per-cpu area which was never set up. Alexey identified commit 61ec7567db103d537329b0db9a887db570431ff4 (ACPI: boot correctly with "nosmp" or "maxcpus=0") as the origin; but it's not really to blame, just exposes a bug in 2.6.23-rc1's commit 8b3b295502444340dd0701855ac422fbf32e161d (Especially when !CONFIG_HOTPLUG_CPU, avoid needlessy allocating resources for CPUs that can never become available). rc1's test for max_cpus < 2 in start_kernel() wasn't working because max_cpus was still NR_CPUS at that point: until rc4 moved the maxcpus parsing earlier. Now it sets cpu_possible_map to 1 before allocating all possible per-cpu areas; then smp_init() expands cpu_possible_map to cpu_present_map (0xf in my case) later on. rc1's commit has good intentions, but expects cpu_present_map to be limited by maxcpus, which is only the case on i386. cpus_and(possible, possible,present) might be good, but needs an audit of cpu_present_map uses - there may well be assumptions that any cpu present is possible. So stay safe for now and just revert those #ifndef CONFIG_HOTPLUG_CPU optimizations in rc1's commit. Signed-off-by: Hugh Dickins Cc: Alexey Dobriyan Cc: Len Brown Cc: Andrew Morton Cc: Jan Beulich Signed-off-by: Linus Torvalds commit 4ac212ad4e8fafc22fa147fc255ff5fa5435cf33 Author: Stephen Smalley Date: Wed Aug 29 08:51:50 2007 -0400 SELinux: clear parent death signal on SID transitions Clear parent death signal on SID transitions to prevent unauthorized signaling between SIDs. Signed-off-by: Stephen Smalley Acked-by: Eric Paris Signed-off-by: James Morris commit cb243a1a9fef4aaff262a5dd14f987070d37229b Author: Wei Yongjun Date: Mon Aug 6 13:55:58 2007 +0800 SCTP: Fix to handle invalid parameter length correctly If an INIT with invalid parameter length look like this: Parameter Type : 1 Parameter Length: 800 and not contain any payload, SCTP will ignore this parameter and send back a INIT-ACK. This patch is fix to handle this invalid parameter length correctly. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 609ee4679b8a0831257552dd2b0e54f509ba0c77 Author: Vlad Yasevich Date: Fri Aug 31 03:10:59 2007 +0900 SCTP: Abort on COOKIE-ECHO if backlog is exceeded. Currently we abort on the INIT chunk we our backlog is currenlty exceeded. Delay this about untill COOKIE-ECHO to give the user time to accept the socket. Also, make sure that we treat sk_max_backlog of 0 as no connections allowed. Signed-off-by: Vlad Yasevich commit 498d63071ef378e201979e441aefcc6565702ca7 Author: Vlad Yasevich Date: Thu Aug 30 14:03:58 2007 -0400 SCTP: Correctly disable listening when backlog is 0. Signed-off-by: Vlad Yasevich commit d0ce92910bc04e107b2f3f2048f07e94f570035d Author: Vlad Yasevich Date: Fri Aug 24 19:37:46 2007 +0900 SCTP: Do not retransmit chunks that are newer then rtt. When performing a retransmit, do not include the chunk if it was sent less then 1 rtt ago. The reason is that we may receive the SACK very soon and wouldn't retransmit. Suggested by Randy Stewart. Signed-off-by: Vlad Yasevich commit cc75689a4c4eb94b2fd7e3870347b9237ab39503 Author: Vlad Yasevich Date: Fri Aug 24 19:30:25 2007 +0900 SCTP: Uncomfirmed transports can't become Inactive Do not set Unconfirmed transports to Inactive state. This may result in an inactive association being destroyed since we start counting errors on "inactive" transports against the association. This was found at the SCTP interop event. Signed-off-by: Vlad Yasevich commit 2772b495efe341a02c867bc3a03d7362bd336832 Author: Vlad Yasevich Date: Tue Aug 21 14:24:30 2007 +0900 SCTP: Pick the correct port when binding to 0. sctp_bindx() allows the use of unspecified port. The problem is that every address we bind to ends up selecting a new port if the user specified port 0. This patch allows re-use of the already selected port when the port from bindx was 0. Signed-off-by: Vlad Yasevich commit d99fa42963a5ae394cf1df9d5bb739eb378a189b Author: Wei Yongjun Date: Mon Aug 27 11:19:24 2007 +0800 SCTP: Use net_ratelimit to suppress error messages print too fast When multi bundling SHUTDOWN-ACK message is received in ESTAB state, this will cause "sctp protocol violation state" message print many times. If SHUTDOWN-ACK is bundled 300 times in one packet, message will be print 300 times. The same problem also exists when received unexpected HEARTBEAT-ACK message which is bundled message times. This patch used net_ratelimit() to suppress error messages print too fast. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 00f1c2df2a1c4903f4daa1333bafeb6dcbc9591d Author: Wei Yongjun Date: Tue Aug 21 15:50:01 2007 +0800 SCTP: Fix to encode PROTOCOL VIOLATION error cause correctly PROTOCOL VIOLATION error cause in ABORT is bad encode when make abort chunk. When SCTP encode ABORT chunk with PROTOCOL VIOLATION error cause, it just add the error messages to PROTOCOL VIOLATION error cause, the rest four bytes(struct sctp_paramhdr) is just add to the chunk, not change the length of error cause. This cause the ABORT chunk to be a bad format. The chunk is like this: ABORT chunk Chunk type: ABORT (6) Chunk flags: 0x00 Chunk length: 72 (*1) Protocol violation cause Cause code: Protocol violation (0x000d) Cause length: 62 (*2) Cause information: 5468652063756D756C61746976652074736E2061636B2062... Cause padding: 0000 [Needless] 00030010 Chunk Length(*1) = 72 but Cause length(*2) only 62, not include the extend 4 bytes. ((72 - sizeof(chunk_hdr)) = 68) != (62 +3) / 4 * 4 Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit b5f281a62761887e7cb5f60fa81f7cd052fec5cb Author: Adrian Bunk Date: Thu Aug 30 01:29:33 2007 +0200 xtensa process.c must #include Another fallout from the removal of #include from mm.h Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 8057d763ed7a7365dc3402db0aed7c87d8531ecb Author: Rusty Russell Date: Thu Aug 30 06:35:08 2007 +1000 Fix lguest page-pinning logic ("lguest: bad stack page 0xc057a000") If the stack pointer is 0xc057a000, then the first stack page is at 0xc0579000 (the stack pointer is decremented before use). Not calculating this correctly caused guests with CONFIG_DEBUG_PAGEALLOC=y to be killed with a "bad stack page" message: the initial kernel stack was just proceeding the .smp_locks section which CONFIG_DEBUG_PAGEALLOC marks read-only when freeing. Thanks to Frederik Deweerdt for the bug report! Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 8d614ade511fef11f992d6a73e538d33b3b81f12 Author: Wei Yongjun Date: Mon Aug 6 13:55:47 2007 +0800 SCTP: Fix sctp_addto_chunk() to add pad with correct length At function sctp_addto_chunk(), it do pad before add payload to chunk if chunk length is not 4-byte alignment. But it do pad with a bad length. This patch fixed this probleam. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit fc43dca9e75b87d24a16d5be7b497e83837d9d31 Author: Masakazu Mokuno Date: Wed Aug 29 20:30:25 2007 +0900 [POWERPC] PS3: Fix bug where the major version part is not compared Fix the bug that the major version part of the firmware version number is ignored in the comparison done by ps3_compare_firmware_version because the difference of two 64-bit quantities is returned as an int. Signed-off-by: Masakazu Mokuno Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit a98b38b83db3d377ede6b72cebe7ed2dc4127766 Author: Pavel Pisa Date: Wed Aug 29 23:23:38 2007 +0100 [ARM] 4561/1: i.MX/MX1 GPIO parenthes omission and input setup fix During GPIO testing on PiMX1 board there has been revealed problem with some pins input functions. The GIUS bit has to be set for inputs to work reliably too. It is surprising that input worked on some inputs with incorrect setup before. DR is not mandatory, but it ensures stable constant level on internal traces. Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 13a6976afdb10d54ac5ad344aa0c588bc0bd8b0a Author: Paul Mackerras Date: Thu Aug 30 16:51:51 2007 +1000 [POWERPC] Update defconfigs Signed-off-by: Paul Mackerras commit ada83daab31c3ec35845785482124373a62f430c Author: Andre Detsch Date: Tue Aug 21 10:06:22 2007 +0800 [POWERPC] spufs: Don't call spu_run_init from spu_reacquire_runnable This fixes a major bug which was happening when a SPU thread advances its execution right after being restored to a SPU. A potentially outdated NPC value was being (re)written to the SPU. So, spu_run_init, in this case, was either not doing anything relevant, or breaking the execution of the SPU thread. This fixes a common problem of losing a mailbox write when it was done to a saved context. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 62ee68e3bcb0d056aae5b36dea0388ca25572cdf Author: Arnd Bergmann Date: Tue Aug 21 10:06:22 2007 +0800 [POWERPC] spufs: Fix update of mailbox status register during backed wbox write When a process writes into the inbound spu mailbox (wbox) while the context is saved, we accidentally break the contents of the mb_stat_R register by clearing other entries of the mailbox status register. This can cause the user side to hang. This change fixes the problem by only altering the appropriate bits of the mailbox status register during a backing-store write. Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit b3e2c70cd0d05fb6621521521fbd5debed57d753 Author: Adrian Bunk Date: Thu Aug 30 00:44:33 2007 -0400 Input: psmouse - make dummy touchkit_ps2_detect() static The dummy touchkit_ps2_detect() for the CONFIG_MOUSE_PS2_TOUCHKIT=n case shouldn't be a global function. Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 7460caf32a16866f9d8675aa7aefd7d82d1e23f7 Author: Mariusz Kozlowski Date: Thu Aug 30 00:18:00 2007 -0400 Input: gscps2 - convert to use kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit d9f03831e7dc743ae25863c59f38884f5989ab39 Author: Andrew Morton Date: Thu Aug 30 00:04:33 2007 -0400 Input: iforce - fix 'unused variable' warning drivers/input/joystick/iforce/iforce-packets.c: In function `iforce_get_id_packet': drivers/input/joystick/iforce/iforce-packets.c:249: warning: unused variable `status' Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit e3758b2ab61b3001b9db4582559bbaeba5e24a29 Author: Fernando Luis Vázquez Cao Date: Thu Aug 30 00:04:15 2007 -0400 Input: i8042 - fix retrun value of i8042_aux_test_irq We should not return IRQ_HANDLED if we didn't handle the interrupt. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Dmitry Torokhov commit aac2e68481681a362ab6f44fc515034e2a4c7f2c Author: Christian Krafft Date: Thu Aug 30 01:33:53 2007 +0200 [POWERPC] spu_manage: fix spu_unit_number for celleb device tree This fixes a regression introduced with 2.6.23-rc4 after on some confusion about the device tree interfaces. IBM QS21 device trees provide "physical-id", so we changed the code to run on that and remain compatible with all IBM machines. However, the Toshiba Celleb device tree provides the "unit-id" property, which was in the Linux code, but never used in this way on IBM hardware. Legacy device tree used the reg property for the physical id of an spe. This patch fixes find_spu_unit_number to look for the spu id in that order. The length is checked to avoid misinterpretation in case the attributes unit-id or reg do not contain the id. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Cc: Jeremy Kerr commit 5cc44e086d7a4e20035997ec612678ca91f426e7 Author: Kumar Gala Date: Tue Aug 28 21:46:53 2007 -0500 [POWERPC] Update defconfigs Signed-off-by: Kumar Gala commit ab3e5e7b65dde661f5eb86b445496c5967283333 Author: Vlad Yasevich Date: Thu Aug 2 16:51:42 2007 -0400 SCTP: Assign stream sequence numbers to the entire message Currently we only assign the sequence number to a packet that we are about to transmit. This however breaks the Partial Reliability extensions, because it's possible for us to never transmit a packet, i.e. it expires before we get to send it. In such cases, if the message contained multiple SCTP fragments, and we did manage to send the first part of the message, the Stream sequence numbers would get into invalid state and cause receiver to stall. Signed-off-by: Vlad Yasevich commit ea2dfb3733d53ac98b17756435d1f99e25490357 Author: Vlad Yasevich Date: Fri Jul 13 17:01:19 2007 -0400 SCTP: properly clean up fragment and ordering queues during FWD-TSN. When we recieve a FWD-TSN (meaning the peer has abandoned the data), we need to clean up any partially received messages that may be hanging out on the re-assembly or re-ordering queues. This is a MUST requirement that was not properly done before. Signed-off-by: Vlad Yasevich commit cb90ab5b424e711390c2ef6f0882b615b042dcb6 Author: Jonathan Woithe Date: Wed Aug 29 15:58:19 2007 +0930 msi-laptop: replace ',' with ';' Signed-off-by: Jonathan Woithe Signed-off-by: Len Brown commit 0ee6c15e7ba7b36a217cdadb292eeaf32a057a59 Author: Kumar Gala Date: Tue Aug 28 21:15:53 2007 -0500 [POWERPC] Flush registers to proper task context When we flush register state for FP, Altivec, or SPE in flush_*_to_thread we need to respect the task_struct that the caller has passed to us. Most cases we are called with current, however sometimes (ptrace) we may be passed a different task_struct. This showed up when using gdbserver debugging a simple program that used floating point. When gdb tried to show the FP regs they all showed up as 0, because the child's FP registers were never properly flushed to memory. Signed-off-by: Kumar Gala commit f740e6c9c55cac6ab0a7d44a464b54467cca4f4f Author: Kenji Kaneshige Date: Wed Aug 22 19:53:30 2007 +0900 [IA64] Clear pending interrupts at CPU boot up time The pending interrupts can be remaining at boot up time on some platform. This will cause spurious interrupts when interrupt is enabled for the first time. This patch clears IVR at the CPU initialization to eliminate such spurious interrupts. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 17764d2437b0c4440e0718205f2c26dbaa72bc27 Author: Kenji Kaneshige Date: Tue Aug 28 16:01:21 2007 -0700 [IA64] Fix unexpected interrupt vector handling Fix handling for spurious interrupts not being mapped to any IRQs. Currently, spurious interrupts that are not mapped to any IRQs are handled as IRQ 15 (== IA64_SPURIOUS_VECTOR). But it is not proper because vector != irq. We need special handlings for such spurious interrupts not being mapped to any IRQs. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 378be2c08314fc46e3f814fa264ff8ebdb79712f Author: Robert Olsson Date: Tue Aug 28 15:43:14 2007 -0700 [PKTGEN]: Fix multiqueue oops. Initially pkt_dev can be NULL this causes netif_subqueue_stopped to oops. The patch below should cure it. But maybe the pktgen TX logic should be reworked to better support the new multiqueue support. Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 594a9dfae7113d9601b2c353754c40d0b7e00a03 Author: Michael Chan Date: Tue Aug 28 15:39:42 2007 -0700 [BNX2]: Add write posting comment. Add comment to explain why we cannot read back after chip reset before delaying. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fd51bcc5dc4073b18308f25846aa3b421fa3c42e Author: Samuel Date: Tue Aug 28 19:56:34 2007 +0100 [ARM] 4557/1: Fix PXA irq gpio initialization As pointed out by Jrgen, we are overflowing the number of GPIOs in pxa_init_irq_gpio(). I'm seeing the same problem on my HTC Universal PXA270 based PDA. According to Eric, the function argument is the number of GPIOs, so we should keep the semantics and reduce the number of iteration by 1. Signed-off-by: Samuel Ortiz Acked-by: Jrgen Schindele Signed-off-by: Russell King commit 8e54588161577435d64dfb5cfdf40a73a5705ea0 Author: Arjan van de Ven Date: Tue Aug 28 14:34:43 2007 -0700 [BNX2]: Use msleep(). bnx2.c (incorrectly) sets current->state directly to TASK_UNINTERRUPTIBLE, without going through set_task_state(). However all the code wants to do is an msleep so just make it do that instead... Signed-off-by: Arjan van de Ven Acked-by: Michael Chan Signed-off-by: David S. Miller commit 134c21715ac3cb36db13c8d362cc80ccc87ee48d Author: Christian Borntraeger Date: Tue Aug 28 14:58:56 2007 -0400 ACPI: (more) delete CONFIG_ACPI_PROCFS_SLEEP (again) Commit 2bcf9dddeb8e79a4ba55bf191533f70f39ce ('ACPI: delete CONFIG_ACPI_PROCFS_SLEEP (again)') was incomplete. Signed-off-by: Christian Borntraeger Signed-off-by: Len Brown commit 9f508f8258e18e9333f18daf1f0860df48d49ed2 Author: Ingo Molnar Date: Tue Aug 28 12:53:24 2007 +0200 sched: clean up task_new_fair() cleanup: we have the 'se' and 'curr' entity-pointers already, no need to use p->se and current->se. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit 213c8af67f21c1dc0d50940b159d9521c95f3c89 Author: Ingo Molnar Date: Tue Aug 28 12:53:24 2007 +0200 sched: small schedstat fix small schedstat fix: the cfs_rq->wait_runtime 'sum of all runtimes' statistics counters missed newly forked tasks and thus had a constant negative skew. Fix this. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit b77d69db9f4ba03b2ed17e383c2d73ca89f5ab14 Author: Ingo Molnar Date: Tue Aug 28 12:53:24 2007 +0200 sched: fix wait_start_fair condition in update_stats_wait_end() Peter Zijlstra noticed the following bug in SCHED_FEAT_SKIP_INITIAL (which is disabled by default at the moment): it relies on se.wait_start_fair being 0 while update_stats_wait_end() did not recognize a 0 value, so instead of 'skipping' the initial interval we gave the new child a maximum boost of +runtime-limit ... (No impact on the default kernel, but nice to fix for completeness.) Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit 7109c4429af3640f79a638f177fc5d05b9807149 Author: Ting Yang Date: Tue Aug 28 12:53:24 2007 +0200 sched: call update_curr() in task_tick_fair() update the fair-clock before using it for the key value. [ mingo@elte.hu: small cleanups. ] Signed-off-by: Ting Yang Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra commit f6cf891c4d7128f9f91243fc0b9ce99e10fa1586 Author: Ingo Molnar Date: Tue Aug 28 12:53:24 2007 +0200 sched: make the scheduler converge to the ideal latency de-HZ-ification of the granularity defaults unearthed a pre-existing property of CFS: while it correctly converges to the granularity goal, it does not prevent run-time fluctuations in the range of [-gran ... 0 ... +gran]. With the increase of the granularity due to the removal of HZ dependencies, this becomes visible in chew-max output (with 5 tasks running): out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40 out: 27 . 27. 32 | flu: 0 . 0 | ran: 17 . 13 | per: 44 . 40 out: 27 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 36 . 40 out: 29 . 27. 32 | flu: 2 . 0 | ran: 17 . 13 | per: 46 . 40 out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40 out: 29 . 27. 32 | flu: 0 . 0 | ran: 18 . 13 | per: 47 . 40 out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40 average slice is the ideal 13 msecs and the period is picture-perfect 40 msecs. But the 'ran' field fluctuates around 13.33 msecs and there's no mechanism in CFS to keep that from happening: it's a perfectly valid solution that CFS finds. to fix this we add a granularity/preemption rule that knows about the "target latency", which makes tasks that run longer than the ideal latency run a bit less. The simplest approach is to simply decrease the preemption granularity when a task overruns its ideal latency. For this we have to track how much the task executed since its last preemption. ( this adds a new field to task_struct, but we can eliminate that overhead in 2.6.24 by putting all the scheduler timestamps into an anonymous union. ) with this change in place, chew-max output is fluctuation-less all around: out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 1 | ran: 13 . 13 | per: 41 . 40 out: 28 . 27. 39 | flu: 0 . 1 | ran: 13 . 13 | per: 41 . 40 this patch has no impact on any fastpath or on any globally observable scheduling property. (unless you have sharp enough eyes to see millisecond-level ruckles in glxgears smoothness :-) Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit 5f01d519e60a6ca1a7d9be9f2d73c5f521383992 Author: Mike Galbraith Date: Tue Aug 28 12:53:24 2007 +0200 sched: fix sleeper bonus limit There is an Amarok song switch time increase (regression) under hefty load. What is happening is that sleeper_bonus is never consumed, and only rarely goes below runtime_limit, so for the most part, Amarok isn't getting any bonus at all. We're keeping sleeper_bonus right at runtime_limit (sched_latency == sched_runtime_limit == 40ms) forever, ie we don't consume if we're lower that that, and don't add if we're above it. One Amarok thread waking (or anybody else) will push us past the threshold, so the next thread waking gets nada, but will reap pain from the previous thread waking until we drop back to runtime_limit. It looks to me like under load, some random task gets a bonus, and everybody else pays, whether deserving or not. This diff fixed the regression for me at any load rate. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit b07d68b5ca4d55a16fab223d63d5fb36f89ff42f Author: Linus Torvalds Date: Mon Aug 27 18:32:35 2007 -0700 Linux 2.6.23-rc4 commit f99ba18a96195f047546bd515aabf81fda70ef09 Author: Andrew Vasquez Date: Mon Aug 27 15:25:01 2007 -0700 dm-mpath-rdac: don't stomp on a requests transfer bit Without this, we get qla2xxx complaining about "ISP System Error". What's happening here is the firmware is detecting a Xfer-ready from the storage when in fact the data-direction for a mode-select should be a write (DATA_OUT). The following patch fixes the problem (typo). Verified by Brian, as well. Signed-off-by: Andrew Vasquez Verified-by: Brian De Wolf Signed-off-by: Chandra Seetharaman Signed-off-by: Linus Torvalds commit ebb2a97b2e7422176d52f4f33e3ee400653875b4 Author: Alan Cox Date: Wed Aug 22 10:54:43 2007 -0700 [patch 1/2] Xtensa: enable arbitary tty speed setting ioctls Adding the defines/constants activates the existing code in the tty layer and allows arbitary tty speeds to be requested on this platform Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Chris Zankel commit 969f865f36b65c2fcd1fb1ba09b4a2c6f071f864 Author: Frederik Deweerdt Date: Wed Aug 22 10:47:58 2007 -0700 [patch 2/2] xtensa console.c: remove duplicate #include This patch removes one of the two linux/console.h included in arch/xtensa/platform-iss/console.c Signed-off-by: Frederik Deweerdt Signed-off-by: Andrew Morton Signed-off-by: Chris Zankel commit 6656920b0b50beacb6cb64cf55273cbb686e436e Author: Chris Zankel Date: Wed Aug 22 10:14:51 2007 -0700 [XTENSA] Add support for cache-aliasing Add support for processors that have cache-aliasing issues, such as the Stretch S5000 processor. Cache-aliasing means that the size of the cache (for one way) is larger than the page size, thus, a page can end up in several places in cache depending on the virtual to physical translation. The method used here is to map a user page temporarily through the auto-refill way 0 and of of the DTLB. We probably will want to revisit this issue and use a better approach with kmap/kunmap. Signed-off-by: Chris Zankel commit ff6fd469885aafa5ec387babcb6537f3c00d6df0 Author: Chris Zankel Date: Tue Aug 14 13:02:06 2007 -0700 [XTENSA] Add kernel module support Add kernel module support. Signed-off-by: Chris Zankel commit 01858d1b0b406307626bbc01238391b06aae2c20 Author: Chris Zankel Date: Mon Aug 6 23:57:57 2007 -0700 [XTENSA] Add support for executable/non-executable feature in the mmu Newer processor versions starting with Xtensa6/LX2 support an 'executable' bit for memory pages. This bit replaces the 'valid' bit, so it must be always set to one for older processor versions. To mark a page invalid, we now set the cache-attributes to b11, which is backward compatible. Signed-off-by: Chris Zankel commit 26465f2f4f5a253f22596fc9245a6bb5c0856ee1 Author: Chris Zankel Date: Mon Aug 6 23:12:24 2007 -0700 [XTENSA] Use the generic version of get_order Use the generic version of get_order for processor configurations that don't have the 'nsa/nsau' instructions. Signed-off-by: Chris Zankel commit 5c1c8085b5dc30ae4ff0ee54039e387ed59262bf Author: Chris Zankel Date: Sun Aug 5 11:51:57 2007 -0700 [XTENSA] Initialize semaphore_wake_lock Initialize semaphore_wake_lock. Signed-off-by: Chris Zankel commit 24a9ab7fa143498802b35c66de10cc3cfdac2c51 Author: Chris Zankel Date: Sun Aug 5 11:24:13 2007 -0700 [XTENSA] Add typecast macro for constants Add macros (__XTENSA_UL and __XTENSA_UL_CONST) for typecasting constants. Signed-off-by: Chris Zankel commit 2b8aea74e78e977b1f9987e23e3e59f3ef4359f4 Author: Chris Zankel Date: Sun Aug 5 10:26:30 2007 -0700 [XTENSA] Fix timer instabilities. The timer code could have missed a tick. Signed-off-by: Chris Zankel commit bc671aa9838f234ccfc794a77325628f1e41e083 Author: Chris Zankel Date: Sun Aug 5 10:22:58 2007 -0700 [XTENSA] Fix fadvise64_64 Xtensa passes long long arguments in a even/odd register pair, so we also need to shuffle the arguments when passed through the system call to avoid an empty argument register. Signed-off-by: Chris Zankel commit 068732d9b465cafcc56a745c3931f2fc4e58f48f Author: Chris Zankel Date: Sun Aug 5 10:16:54 2007 -0700 [XTENSA] Remove extraneous include statement We don't need to include processor.h in bug.h. Signed-off-by: Chris Zankel commit 787a22d1d284b21ad810fd0bedbdefb329f31cd2 Author: Chris Zankel Date: Sat Aug 4 14:31:04 2007 -0700 [XTENSA] Move string-io functions to io.c from pci.c The string-io functions (outs{bwl}, ins{bwl}) are independent from the PCI option and should be in a separate file. Signed-off-by: Chris Zankel commit 73089cbfdf0c69e061a4fa90d614679e630c6727 Author: Chris Zankel Date: Sat Aug 4 09:27:30 2007 -0700 [XTENSA] Move pre-initialized structures to init_task.c Move all initialization structures for the initial task to it's own file. Signed-off-by: Chris Zankel commit b2444d34a0e727a80fee4b725bc5ecb9d0f206f0 Author: Chris Zankel Date: Sat Aug 4 09:23:54 2007 -0700 [XTENSA] Add freestanding option to CFLAGS We also need to set the freestanding option for GCC in the CFLAGS. Signed-off-by: Chris Zankel commit cef9287ead2775e4d7eaa280a73ee99d7269c3e4 Author: Chris Zankel Date: Sat Aug 4 09:20:43 2007 -0700 [XTENSA] Add getpgrp system-call to unistd.h Although __ARCH_WANT_SYS_GETPGRP was defined, the actualy entry for the getpgrp system-call was missing. Signed-off-by: Chris Zankel commit 3547cdb1526aabd38b1e71dba93d545340fe41f8 Author: Chris Zankel Date: Fri Aug 3 15:55:07 2007 -0700 [XTENSA] add missing system calls Add missing system calls that have been recently added to the kernel for the Xtensa architecture and define __IGNORE macros for system calls that we don't need for Xtensa. Signed-off-by: Chris Zankel commit b91dc336cc7e0c9843f87ad0ba4cdbc821d69549 Author: Chris Zankel Date: Fri Aug 3 15:54:36 2007 -0700 [XTENSA] fix wrong usage of __init and __initdata in traps.c A variable was defined with __init instead of __initdata and the function accessing that variable wasn't initialized with __init. Signed-off-by: Chris Zankel commit d243769d3f83b318813a04a9592bb7cfedc6c280 Author: Hugh Dickins Date: Mon Aug 27 16:06:19 2007 +0100 fix bogus hotplug cpu warning Fix bogus DEBUG_PREEMPT warning on x86_64, when cpu brought online after bootup: current_is_keventd is right to note its use of smp_processor_id is preempt-safe, but should use raw_smp_processor_id to avoid the warning. Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 721ebe005c3bb9add55b2e462dfc1bcf8efc6b8f Author: Hugh Dickins Date: Mon Aug 27 16:04:39 2007 +0100 reverse CONFIG_ACPI_PROC_EVENT default Sigh. Again an ACPI assault on the Thinkpad's Fn+F4 to suspend to RAM. The default and text for CONFIG_THINKPAD_ACPI_INPUT_ENABLED were fixed in -rc3, but now commit 14e04fb34ffa82ee61ae69f98d8fca12d2e8e31c ("ACPI: Schedule /proc/acpi/event for removal") introduces the ACPI_PROC_EVENT config entry, and defaults it to 'n' to disable it again. Change default to y, and add comment to make it clearer that n is for future distros. Signed-off-by: Hugh Dickins Cc: Andrew Morton Cc: Len Brown Signed-off-by: Linus Torvalds commit 813409771731d80e6fa94199adf99f2269a4afc0 Author: Hugh Dickins Date: Mon Aug 27 16:02:12 2007 +0100 fix maxcpus=N parsing Commit 61ec7567db103d537329b0db9a887db570431ff4 ('ACPI: boot correctly with "nosmp" or "maxcpus=0"') broke 'maxcpus=' handling on x86[-64]. maxcpus=N is now having no effect on x86_64, and freezing bootup on i386 (because of inconsistency with the separate maxcpus parsing down in arch/i386, I guess). That's because early_param parsing is a little different from __setup parsing, and needs the "=" omitted: then it seems to work as the original commit intended (no mention of IO-APIC in /proc/interrupts when maxcpus=0). Signed-off-by: Hugh Dickins Cc: Andrew Morton Cc: Len Brown Cc: Andi Kleen Cc: Rusty Russell Signed-off-by: Linus Torvalds commit 81b4b98ae484f11d97b3d5b8e88d916b74055b78 Author: Kyle McMartin Date: Sun Aug 26 23:28:34 2007 -0400 [PARISC] Add NOTES section Bisected bizarre kernel-space nullptr dereference in udev to commit 18991197b4b588255ccabf472ebc84db7b66a19c, adding the NOTES section fixes it. Signed-off-by: Kyle McMartin commit 88a79078f9ca7d84736799605ff9d9e9545f18e7 Author: Kyle McMartin Date: Fri Jun 29 03:38:10 2007 -0400 [PARISC] Use compat_sys_getdents Switch to using the generic compat_sys_getdents instead of a homebrew one. Signed-off-by: Kyle McMartin commit 1eb51c362d5e7b3e2cc741d87872aa4fc867de42 Author: Kyle McMartin Date: Fri Jun 29 02:15:12 2007 -0400 [PARISC] Do not allow STI_CONSOLE to be modular It doesn't really make much sense, anyways, and would need a pile of symbols exported. Signed-off-by: Kyle McMartin commit 03b18f1b2afeac76840648b4232d8e53cfb7ec84 Author: Kyle McMartin Date: Fri Jun 29 02:17:50 2007 -0400 [PARISC] Clean up sti_flush sti_flush is supposed to flush the caches so we can execute the STI rom we copied to memory. Anything more than flush_icache_range is overkill. Fixes a missing symbol when built as a module. Signed-off-by: Kyle McMartin commit fabb8ff4ffa2b6bf89df8ed598551b6aaf632478 Author: Kyle McMartin Date: Fri Jun 29 02:21:03 2007 -0400 [PARISC] Add dummy isa_(bus|virt)_to_(virt|bus) inlines Less painful than fixing up the Kconfig for a pile of drivers to only build on X86 && ARM && MIPS... Just make them BUG(), as defining them to be 1:1 with physical memory will likely HPMC the box anyways. Signed-off-by: Kyle McMartin commit 37efbb705a7c8778c5ee9f4ec6493cf2d958eecd Author: Kyle McMartin Date: Thu Jun 28 12:12:39 2007 -0400 [PARISC] Add empty Signed-off-by: Kyle McMartin commit 17a82e932d67e2885d9fa18d4656ff53337b1130 Author: David S. Miller Date: Sat Aug 25 15:21:51 2007 -0700 [SPARC32]: Make flush_tlb_kernel_range() an inline function. This avoids unused variable warnings in places like mm/vmalloc.c: mm/vmalloc.c: In function ‘unmap_kernel_range’: mm/vmalloc.c:75: warning: unused variable ‘start’ caused by it previously being a macro. Signed-off-by: David S. Miller commit 4f1296a5169c13b2c1f76c1446aaf361e8519050 Author: David S. Miller Date: Sat Aug 25 15:17:31 2007 -0700 [SERIAL]: Fix 32-bit warnings in sunzilog.c and sunsu.c resource_size_t can be either a u64 or a u32, and we can't really know for sure, so when printing such a value out always use long-long printf formatting and cast the argument to that type. Signed-off-by: David S. Miller commit 7bcd4dae6261b221108148befee20286c6c3a230 Author: David S. Miller Date: Sat Aug 25 15:12:32 2007 -0700 [SPARC32]: Kill unused vars and macros from prom/console.c This should have been removed during the of_console_device changes. Signed-off-by: David S. Miller commit 6cc0735d0dbf6a0e5f802f47d51e1e463466955c Author: David S. Miller Date: Sat Aug 25 15:10:44 2007 -0700 [SPARC32]: Add __cmpdi2() libcall implementation ala. MIPS. Device mapper generates calls to this with recent versions of gcc. Signed-off-by: David S. Miller commit 6c8f5b90bfbe69a27763fb0e181bd2465181446d Author: David S. Miller Date: Fri Aug 24 22:33:15 2007 -0700 [VIDEO]: Do not prom_halt() in cg3 and bw2 device probe. Just give a normal kernel log message of the problem and return failure. Based upon a patch from Mark Fortescue. Signed-off-by: David S. Miller commit 1bd4b280394cdd14f82efc00808c6d77b097285a Author: David S. Miller Date: Fri Aug 24 22:05:44 2007 -0700 [SUNVDC]: Use slice 0xff on VD_DISK_TYPE_DISK. While debugging issues with the VDS server I made the driver use partition 2 to get at the whole disk since this is the "whole disk" partition in the Sun disk label. We really should use slice 0xff which really means the whole physical disk in the VIO disk protocol. Otherwise things won't work well on a disk image that doesn't have a proper disk label on it. Signed-off-by: David S. Miller commit 10e2ff1c39e6d829379c7c5bb8f1c8f512f257c8 Author: James Morris Date: Sat Aug 25 14:41:28 2007 -0700 [NET]: Mark Paul Moore as maintainer of labelled networking. Signed-off-by: James Morris Acked-by: Paul Moore Signed-off-by: David S. Miller commit e7c243c925f6d9dcb898504ff24d6650b5cbb3b1 Author: Evgeniy Polyakov Date: Fri Aug 24 23:36:29 2007 -0700 [VLAN/BRIDGE]: Fix "skb_pull_rcsum - Fatal exception in interrupt" I tried to preserve bridging code as it was before, but logic is quite strange - I think we should free skb on error, since it is already unshared and thus will just leak. Herbert Xu states: > + if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) > + goto out; If this happens it'll be a double-free on skb since we'll return NF_DROP which makes the caller free it too. We could return NF_STOLEN to prevent that but I'm not sure whether that's correct netfilter semantics. Patrick, could you please make a call on this? Patrick McHardy states: NF_STOLEN should work fine here. Signed-off-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit 7c8347a91dbbb723d8ed106ec817dabac97f2bbc Author: Jesper Juhl Date: Fri Aug 24 23:25:33 2007 -0700 [ISDN]: Get rid of some pointless allocation casts in common and bsd comp. vmalloc() returns a void pointer - no need to cast the return value. Signed-off-by: Jesper Juhl Signed-off-by: David S. Miller commit c573f73ce95d7e421cb4b9928dd41ac9518fcccf Author: Jesper Juhl Date: Fri Aug 24 23:24:43 2007 -0700 [NET]: Avoid pointless allocation casts in BSD compression module The general kernel memory allocation functions return void pointers and there is no need to cast their return values. Signed-off-by: Jesper Juhl Signed-off-by: David S. Miller commit 901ded25fb98d76e55a8920834b173e7efc026b6 Author: Jesper Juhl Date: Fri Aug 24 23:23:41 2007 -0700 [IRDA]: Do not do pointless kmalloc return value cast in KingSun driver kmalloc() returns a void pointer, so there is no need to cast it in drivers/net/irda/kingsun-sir.c::kingsun_probe(). Signed-off-by: Jesper Juhl Signed-off-by: David S. Miller commit aaa53c4aba14f14de06419a20e552fe2d8823a33 Author: Benjamin Thery Date: Fri Aug 24 23:12:08 2007 -0700 [NET]: Fix crash in dev_mc_sync()/dev_mc_unsync() This patch fixes a crash that may occur when the routine dev_mc_sync() deletes an address from the list it is currently going through. It saves the pointer to the next element before deleting the current one. The problem may also exist in dev_mc_unsync(). Signed-off-by: Benjamin Thery Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit f424bb9efaee90b752aabcb4e5e95920ee9580bb Author: Al Viro Date: Fri Aug 24 23:04:18 2007 -0700 [PPPOL2TP]: Fix endianness annotations. {s,d}_{session,tunnel} in pppol2tp_addr are actually host-endian everywhere. We might switch them to net-endian, of course, but that structure is exposed to userland via getname... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e4223976341ffb22fabe5b3a69873966808c83aa Author: Shannon Nelson Date: Fri Aug 24 23:02:53 2007 -0700 [IOAT]: ioatdma needs to to play nice in a multi-dma-client world Now that the DMA engine has a multi-client interface, fix the ioatdma driver to play along. At the same time, remove a couple of unnecessary reads and writes. Signed-off-by: Shannon Nelson Signed-off-by: David S. Miller commit 97a1ad431b89765755d2b5aa8c0777ed637d5c4a Author: Stephen Hemminger Date: Fri Aug 24 22:38:26 2007 -0700 [SLIP]: trivial sparse warning fix Function declared static in forward declaration, but not in actual code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 37d2e7316007b4583e5783c608efdd3b2284b74d Author: Stephen Hemminger Date: Fri Aug 24 22:37:49 2007 -0700 [EQL]: sparse warning fix More noodlin on long flights, patch bin. Sparse warning fix for eql. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c3609d510f844100669965db8a9ff10ba029bb4a Author: vignesh babu Date: Fri Aug 24 22:27:55 2007 -0700 [NET]: is_power_of_2 in net/core/neighbour.c Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu Signed-off-by: David S. Miller commit 26722873a460703e319462afa7ebb8ed3a036c07 Author: David S. Miller Date: Fri Aug 24 22:21:50 2007 -0700 [TCP]: Describe tcp_init_cwnd() thoroughly in a comment. People often get tripped up by this function and think that it does not implemented the prescribed algorithms from RFC2414 and RFC3390, even though it does. So add a comment to head off such misunderstandings in the future. Signed-off-by: David S. Miller commit a96fb49be3dd2031f722bf32af6ed7db965b60f7 Author: Flavio Leitner Date: Fri Aug 24 22:16:39 2007 -0700 [NET]: Fix IP_ADD/DROP_MEMBERSHIP to handle only connectionless Fix IP[V6]_ADD_MEMBERSHIP and IP[V6]_DROP_MEMBERSHIP to return -EPROTO for connection oriented sockets. Signed-off-by: Flavio Leitner Signed-off-by: David S. Miller commit 36d98d3edce12c8f9ffd33f8f5d23ce728380925 Author: Stephen Hemminger Date: Wed Aug 22 12:36:01 2007 -0700 [KBUILD]: Sanitize tc_ematch headers. The headers in tc_ematch are used by iproute2, so these headers should be processed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 96fe1c0237224b24a0dfaaee6467a5767902ba4a Author: Nick Bowler Date: Wed Aug 22 12:33:51 2007 -0700 [IPSEC] AH4: Update IPv4 options handling to conform to RFC 4302. In testing our ESP/AH offload hardware, I discovered an issue with how AH handles mutable fields in IPv4. RFC 4302 (AH) states the following on the subject: For IPv4, the entire option is viewed as a unit; so even though the type and length fields within most options are immutable in transit, if an option is classified as mutable, the entire option is zeroed for ICV computation purposes. The current implementation does not zero the type and length fields, resulting in authentication failures when communicating with hosts that do (i.e. FreeBSD). I have tested record route and timestamp options (ping -R and ping -T) on a small network involving Windows XP, FreeBSD 6.2, and Linux hosts, with one router. In the presence of these options, the FreeBSD and Linux hosts (with the patch or with the hardware) can communicate. The Windows XP host simply fails to accept these packets with or without the patch. I have also been trying to test source routing options (using traceroute -g), but haven't had much luck getting this option to work *without* AH, let alone with. Signed-off-by: Nick Bowler Signed-off-by: David S. Miller commit 23dd6d351a2f8157602e854e3a147a04cf7279a1 Author: Ralf Baechle Date: Fri Aug 24 16:49:23 2007 +0100 [MIPS] Fulong doesn't need ISA DMA. Signed-off-by: Ralf Baechle commit 52625caaee4930995ab25e0855713a7a2dd89151 Author: Ralf Baechle Date: Mon Aug 27 00:29:11 2007 +0100 [MIPS] IP27: intr_sconnect_level: don't disable interrupts. There is no reason to. Signed-off-by: Ralf Baechle commit 84ced30675b1454f1c2dca1fe055ae75eb1df53e Author: Ralf Baechle Date: Mon Aug 27 00:26:58 2007 +0100 [MIPS] IP27: startup_bridge_irq: connect interrupt. shutdown_bridge_irq disconnects the irq so we need to connect the irq or requesting the same irq a send time will fail. This used to make things like ifconfig eth0 down; ifconfig eth0 up fail on IP27. Signed-off-by: Ralf Baechle commit ed7a2365062bc9968e8e01423a889a95e85fba80 Author: Ralf Baechle Date: Mon Aug 27 00:19:21 2007 +0100 [MIPS] IP27: shutdown_bridge_irq: don't free irq. Signed-off-by: Ralf Baechle commit 8313da304cdb32465064202814996a2ca33f04e7 Author: Ralf Baechle Date: Fri Aug 24 16:48:30 2007 +0100 [MIPS] Sort out handling of ISA-less PCI systems. Signed-off-by: Ralf Baechle commit 2704afebecc8e268e8c873b6dfab2077d679b593 Author: Ralf Baechle Date: Fri Aug 24 13:47:45 2007 +0100 [MIPS] Add __cmpdi2 Certain 32-bit kernel configurations seem to be able to cause references, this was observed with gcc 4.1.2. Signed-off-by: Ralf Baechle commit 606bf782846163b87868d8cdd46f44241c0c2a6b Author: Ralf Baechle Date: Fri Aug 24 02:13:33 2007 +0100 [MIPS] HOTPLUG: Make register_pci_controller __devinit. Signed-off-by: Ralf Baechle commit c4aa2563f953d13a9bcf4731b00b0900a45626d7 Author: Ralf Baechle Date: Thu Aug 23 14:17:14 2007 +0100 [MIPS] PCI: Remove __devinit attribute from pcibios_fixup_bus. Since 96bde06a2df1b363206d3cdef53134b84ff37813 several callers of pcibios_resource_to_bus are no longer marked __devinit resulting in a pile of modpost warnings if PCI && !HOTPLUG: MODPOST vmlinux.o WARNING: vmlinux.o(.text+0x15dde8): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_map_rom' and 'pci_map_rom_copy') WARNING: vmlinux.o(.text+0x15e140): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_update_resource' and 'pci_claim_resource') WARNING: vmlinux.o(.text+0x15f0cc): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'pci_bus_assign_resources') WARNING: vmlinux.o(.text+0x15f0f0): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'pci_bus_assign_resources') WARNING: vmlinux.o(.text+0x15f114): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'pci_bus_assign_resources') WARNING: vmlinux.o(.text+0x15f138): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'pci_bus_assign_resources') WARNING: vmlinux.o(.text+0x15f438): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'pbus_size_mem') WARNING: vmlinux.o(.text+0x15f4f4): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'pbus_size_mem') Removing __devinit from pcibios_resource_to_bus make the same necessary for pcibios_fixup_device_resources as well. Signed-off-by: Ralf Baechle commit 4547d224d29a6a9a81df91858c2e26b7f88e02e1 Author: Ralf Baechle Date: Thu Aug 23 14:12:56 2007 +0100 [MIPS] PCI: Remove __devinit attribute from pcibios_fixup_bus. Since 96bde06a2df1b363206d3cdef53134b84ff37813 pcibios_fixup_bus's caller pci_scan_child_bus is no longer marked __devinit resulting in this modpost warning if PCI && !HOTPLUG: MODPOST vmlinux.o WARNING: vmlinux.o(.text+0x158b9c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented') Signed-off-by: Ralf Baechle commit db15f3626df80cebd69b69494c90528aae483caf Author: Ralf Baechle Date: Wed Aug 22 22:48:08 2007 +0100 [MIPS] Delete duplicate inclusion of . Signed-off-by: Ralf Baechle commit 1bfa771e610bebb29d8051884ff3672845ac9c00 Author: Ralf Baechle Date: Wed Aug 22 22:42:18 2007 +0100 [MIPS] Polish . Signed-off-by: Ralf Baechle commit 88eb4134b0515babd2e6b3f817ed685886e07479 Author: Ralf Baechle Date: Wed Aug 22 16:29:56 2007 +0100 [MIPS] IP22: Export sgi_gfxaddr for use by the Newport console driver. Signed-off-by: Ralf Baechle commit 948a34cf3988462090291774e55f21f7efdfb072 Author: Thiemo Seufer Date: Wed Aug 22 01:42:04 2007 +0100 [MIPS] Maintain si_code field properly for FP exceptions The appended patch adds code to update siginfo_t's si_code field. It fixes e.g. a floating point overflow regression in the SBCL testsuite. Signed-off-By: Thiemo Seufer Signed-off-by: Ralf Baechle commit 34412c7231f513283ab501eea41774b4ae623dcc Author: Thiemo Seufer Date: Mon Aug 20 23:43:49 2007 +0100 [MIPS] SMTC: Fix duplicate status dumps on NMI Also removes the while(1); loop by propagating the ATTRIB_NORET of die() to nmi_exception_handler. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle commit 97ce9a8d6c9b50ea38f45d05a73fded2e0701ddf Author: Nicolas Schichan Date: Mon Aug 20 15:57:38 2007 +0200 [MIPS] Unconditionally writeback and invalidate caches on kexec. Signed-off-by: Nicolas Schichan Signed-off-by: Ralf Baechle commit 9f90a03a7f93be7f247aa902a7d962a56a6f600e Author: Atsushi Nemoto Date: Sun Aug 19 22:32:10 2007 +0900 [PATCH] rtc: Make rtc-rs5c348 driver hotplug-aware The rtc-rs5c348 SPI driver name doesn't match its module name, which prevents it from properly hotplugging. There is only one in-tree user of its driver, which is fixed by this patch too. Signed-off-by: Atsushi Nemoto Acked-by: David Brownell Signed-off-by: Ralf Baechle commit c99dcac435cec7aca313638db2f1bc406f29210b Author: Ralf Baechle Date: Thu Aug 16 12:10:16 2007 +0100 [MIPS] Fix gcc 3.3 warning. CC arch/mips/kernel/cpu-bugs64.o arch/mips/kernel/cpu-bugs64.c: In function 'align_mod': arch/mips/kernel/cpu-bugs64.c:23: warning: asm operand 0 probably doesn't match constraints arch/mips/kernel/cpu-bugs64.c:23: warning: asm operand 1 probably doesn't match constraints Signed-off-by: Ralf Baechle commit 0806133af401381c559673c3e7269bf62af40388 Author: Ilpo Järvinen Date: Thu Aug 16 01:03:01 2007 +0300 [MIPS] Fix invalid semicolon after if statement Signed-off-by: Ilpo Järvinen Signed-off-by: Ralf Baechle commit c5d7eb9e8c25cc908461c34844241e5bad0504fe Author: Yoichi Yuasa Date: Tue Aug 7 23:20:21 2007 +0900 [MIPS] Update Cobalt defconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 0d2d6446fe69ee85636648b4b8abb32c456a416f Author: Yoichi Yuasa Date: Tue Aug 14 20:34:52 2007 +0900 [MIPS] Update workpad_defconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit dd7043815a710e93a731fbb56782db33467755e9 Author: Yoichi Yuasa Date: Tue Aug 14 20:33:54 2007 +0900 [MIPS] Update tb0287_defconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 96a6d8727f2b4a5b94f2a78d67c6126c87144e2b Author: Yoichi Yuasa Date: Tue Aug 14 20:32:47 2007 +0900 [MIPS] Update tb0226_defconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit aabfc589919e9833df25754138e25adafbe3919d Author: Yoichi Yuasa Date: Tue Aug 14 20:31:35 2007 +0900 [MIPS] Update tb0219_defconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f5594fd91497ab7eec8dd1859a90ebb31058fd5d Author: Yoichi Yuasa Date: Tue Aug 14 20:30:21 2007 +0900 [MIPS] Update mpc30x_defconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit be72bd605039d2840391fec513edd58983345a74 Author: Yoichi Yuasa Date: Tue Aug 14 20:29:02 2007 +0900 [MIPS] Update e55_defconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit d2a34c400b59f93c8c3875d46e067bb4e361b93f Author: Yoichi Yuasa Date: Tue Aug 14 20:27:47 2007 +0900 [MIPS] Update capcella_defconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 5bd080f7d21c8f6841d63b8cdb4123a95a311eb9 Author: Ralf Baechle Date: Mon Aug 13 12:47:17 2007 +0100 [MIPS] IP22: Fix modpost warning. MODPOST vmlinux.o WARNING: vmlinux.o(.text+0xc70): Section mismatch: reference to .init.text:add_memory_region (between 'probe_memory' and 'enable_local0_irq') Signed-off-by: Ralf Baechle commit 9975e77df5428a1afff57fd8f76a1bc0bfc247fc Author: Ralf Baechle Date: Mon Aug 13 12:44:41 2007 +0100 [MIPS] Gcc 3.3 build fixes. Work around gcc 3.3's unability to evaluate that certain expressions indeed are constant. Signed-off-by: Ralf Baechle commit bdd3ede0e11b5bc2d8424f73fb0219b8236d98bb Author: Ralf Baechle Date: Fri Aug 10 18:30:57 2007 +0100 [MIPS] MT: Use kallsyms in CPU state dump Signed-off-by: Ralf Baechle commit 153ef95e7a9c6ae248998ba390b911bc27f4f553 Author: Ralf Baechle Date: Tue Aug 7 18:40:06 2007 +0100 [MIPS] MIPSsim: Delete old file that survived moving around in the tree. Signed-off-by: Ralf Baechle commit a204458acb358c147618c749ba0fac8ef2c5d4e6 Author: Ralf Baechle Date: Tue Aug 7 17:30:58 2007 +0100 [MIPS] unwind_stack should return a value ... And gcc 3.4 doesn't even warn out this, grrr. Signed-off-by: Ralf Baechle commit b5438582090406e2ccb4169d9b2df7c9939ae42b Author: Ralf Baechle Date: Tue Aug 7 17:18:28 2007 +0100 [MIPS] SMTC: Fix crash on bootup with idebus= command line argument. Signed-off-by: Ralf Baechle commit de4b21474053513d9ad41994c95dade3e6b3362f Author: Ralf Baechle Date: Tue Aug 7 15:02:55 2007 +0100 [MIPS] Fix build error if CONFIG_KALLSYMS is undefined. CC arch/mips/kernel/traps.o arch/mips/kernel/traps.c: In function 'show_backtrace': arch/mips/kernel/traps.c:110: warning: unused variable 'ra' Signed-off-by: Ralf Baechle commit 3f478a873944fd4d040b7f40408da67e78473c8e Author: Ralf Baechle Date: Tue Aug 7 14:55:47 2007 +0100 [MIPS] Excite: disable 64-bit kernel support. CC arch/mips/basler/excite/excite_prom.o arch/mips/basler/excite/excite_prom.c:136:3: #error 64 bit support not implemented Signed-off-by: Ralf Baechle commit dbb74540aec2f70660d6ad43414a3d1f3c3aceec Author: Ralf Baechle Date: Tue Aug 7 14:52:17 2007 +0100 [MIPS] Kconfig: Fix configuration warning by hardwiring HOTPLUG_CPU to n. Signed-off-by: Ralf Baechle commit 028151bfed9f94e83a79f3886f93861587de08b4 Author: Ralf Baechle Date: Tue Aug 7 13:05:27 2007 +0100 [MIPS] Update a few defconfigs. Signed-off-by: Ralf Baechle commit fe56b954eadefb8b93b7d6b9244af38a352c8799 Author: Ralf Baechle Date: Mon Aug 6 16:35:23 2007 +0100 [MIPS] SMTC: Move MIPS_CPU_IPI_IRQ definition into header. Signed-off-by: Ralf Baechle commit 45a98eb2b775caa3d6113cb7a5c2ff4361e09c91 Author: Ralf Baechle Date: Mon Aug 6 16:32:20 2007 +0100 [MIPS] Malta: Include commit 428ab280a0754656fa09304017b0ce626744cc77 Author: Ralf Baechle Date: Mon Aug 6 14:02:12 2007 +0100 [MIPS] SMP: Scatter __cpuinit over the code as needed. MIPS doesn't do CPU hotplugging yet but since many of the functions don't even have an __init let's fix this right. Signed-off-by: Ralf Baechle commit d98cc84dd11c126f85675dab8e2aebcbee114a90 Author: Ralf Baechle Date: Mon Aug 6 10:02:07 2007 +0100 [MIPS] SEAD: Don't mark as experimental. Signed-off-by: Ralf Baechle commit 48d365e22641f8e3881d62e56ecb9fe79513a0e7 Author: Yoichi Yuasa Date: Sat Aug 4 23:35:47 2007 +0900 [MIPS] remove unused marvell.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 106e8028ce81305b93dfd6b809c196d62910feae Author: Yoichi Yuasa Date: Sat Aug 4 23:34:17 2007 +0900 [MIPS] remove unused gt64240.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit e2286d755506afb5066740f251ae3bedc63f2ced Author: Yoichi Yuasa Date: Sat Aug 4 23:26:53 2007 +0900 [MIPS] SNI: remove unused pcimt_scache.c Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit dee3c75058485d55c8188a13d660d72188c5bcee Author: Yoichi Yuasa Date: Sat Aug 4 23:24:51 2007 +0900 [MIPS] SNI: Remove unneeded sni_machine_halt Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 5d3fdeacee5d071a5c3d674231bf00cfa5d35a7a Author: Atsushi Nemoto Date: Fri Aug 3 23:33:38 2007 +0900 [MIPS] Remove dead code from irq_txx9.c Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6c76988b813ae7a9fa2282032effa6f5a66dd8d2 Author: Daniel Jacobowitz Date: Fri Aug 3 11:43:01 2007 -0400 [MIPS] Do not discard extra debugging sections. Leaving these sections is useful to some tools that look at the image, and none of them are loaded into memory. The .mdebug.abi64 section, in particular, lets GDB recognize vmlinux.32 as an N64 program instead of guessing that it is O32. Signed-off-by: Daniel Jacobowitz Signed-off-by: Ralf Baechle commit bda4d16cee1b70c61392bb76cb4119179348c176 Author: Atsushi Nemoto Date: Thu Aug 2 23:36:26 2007 +0900 [MIPS] Update defconfigs for TX39/TX49 Update defconfigs, disabling CONFIG_EXPERIMENTAL. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit cd463f3483bf7ddebfaade4a0e590478d501b896 Author: Atsushi Nemoto Date: Thu Aug 2 23:36:17 2007 +0900 [MIPS] Use -Werror on TX39/TX49 boards Now these directories can be built cleanly. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ad99876ad4309c6d9db1fb47d3e0b78f5d959896 Author: Atsushi Nemoto Date: Thu Aug 2 23:36:11 2007 +0900 [MIPS] Drop unneeded config options for RBTX4938 Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c87abd75b35e8f991ff8ff1510d6fb62612c61fa Author: Atsushi Nemoto Date: Thu Aug 2 23:36:02 2007 +0900 [MIPS] Cleanup TX39/TX49 irq code Cleanup jmr3927, tx4927 and tx4938 irq codes, using common IRQ_CPU, I8259 and IRQ_TXX9 irq routines. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 8420fd00e88ef4f6082866aa151bc753b006b3b6 Author: Atsushi Nemoto Date: Thu Aug 2 23:35:53 2007 +0900 [MIPS] The irq_chip for TX39/TX49 SoCs Add generic irq_chip for TX39/TX49 SoCs. This can be replace jmr3927_irq_irc, tx4927_irq_pic_type and tx4938_irq_pic_type. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 477f949e0ad7f1d3503a87b9f158d70c29abc918 Author: Ralf Baechle Date: Thu Aug 2 12:08:32 2007 +0100 [MIPS] Sibyte: CONFIG_SIBYTE_SB1250_DUART -> CONFIG_SERIAL_SB1250_DUART This is needed since the Sibyte serial driver was exchanged. Issue report by Imre Kaloz . Signed-off-by: Ralf Baechle commit 7acae224a423a492454d6550ce65c9af556d02c7 Author: Yoichi Yuasa Date: Thu Aug 2 12:48:00 2007 +0900 [MIPS] Fix au1xxx_gpio_direction_* return value Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f201b46328ac378bbd0894dd3a0c72bce4c1131e Author: Yoichi Yuasa Date: Thu Aug 2 12:44:44 2007 +0900 [MIPS] Remove unused pnx8550 Kconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit d806cb2b601c0d6c55b29e1ef9ca2f96f499ea1c Author: Ralf Baechle Date: Thu Aug 2 00:36:08 2007 +0100 [MIPS] Kconfig: Enable 64BIT_PHYS_ADDR only through select. The user should not have to have any clue about this setting. Signed-off-by: Ralf Baechle commit dc0366bf3cd35e4be89f715ff834a06c590fff7a Author: Ralf Baechle Date: Wed Aug 1 19:42:37 2007 +0100 [MIPS] SMTC: Fix secondary VPE interrupt mask initialization. Signed-off-by: Ralf Baechle commit 99e480d81ca98c25918c460fdb5ca876d7df6178 Author: Ralf Baechle Date: Wed Aug 1 15:46:18 2007 +0100 [MIPS] Compute PGD_ORDER from the select page size. Signed-off-by: Ralf Baechle commit 03b8b8e7c9c36e2d7c4bc9c63eeed872e6f01ad0 Author: Ralf Baechle Date: Wed Aug 1 15:27:36 2007 +0100 [MIPS] Extract {PGD,PMD,PTE}_ORDER into asm-offset.h For debugging purposes only. Signed-off-by: Ralf Baechle commit 5ff974720abec255c17af6f3732dd410d364e367 Author: Ralf Baechle Date: Wed Aug 1 15:25:28 2007 +0100 [MIPS] Fix computation of {PGD,PMD,PTE}_T_LOG2. For the generation of asm-offset.h to work these need to be evaulatable by gcc as a constant expression. This issue did exist for a while but didn't bite because they're only in asm-offset.h for debugging purposes. Signed-off-by: Ralf Baechle commit 4c8081e4696c7afc61930e4a49a6fa55c545b7e0 Author: Ralf Baechle Date: Tue Jul 31 21:47:03 2007 +0100 [MIPS] Fix computation of PGDIR_SHIFT for 16K pagesize on 32-bit kernels. Signed-off-by: Ralf Baechle commit 50c46637aa894f904e2fb39086a3d7732f68bd50 Author: Ingo Molnar Date: Sat Aug 25 22:17:19 2007 +0200 sched: s/sched_latency/sched_min_granularity runtime limit and wakeup granularity used to be a function of granularity and that was incorrect changed to sched_latency. Fix this to make wakeup granularity a function of min-granularity, and the runtime limit equal to latency. Signed-off-by: Ingo Molnar commit 172ac3dbb7d3e528ac53d08a34df88d1ac53c534 Author: Ingo Molnar Date: Sat Aug 25 18:41:53 2007 +0200 sched: cleanup, sched_granularity -> sched_min_granularity due to adaptive granularity scheduling the role of sched_granularity has changed to "minimum granularity", so rename the variable (and the tunable) accordingly. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 218050855ece4e923106ab614ac65afa0f618df3 Author: Peter Zijlstra Date: Sat Aug 25 18:41:53 2007 +0200 sched: adaptive scheduler granularity Instead of specifying the preemption granularity, specify the wanted latency. By fixing the granlarity to a constany the wakeup latency it a function of the number of running tasks on the rq. Invert this relation. sysctl_sched_granularity becomes a minimum for the dynamic granularity computed from the new sysctl_sched_latency. Then use this latency to do more intelligent granularity decisions: if there are fewer tasks running then we can schedule coarser. This helps performance while still always keeping the latency target. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1fc84aaae3bae9646dd4c7798b8c0ff934338909 Author: Peter Zijlstra Date: Sat Aug 25 18:41:52 2007 +0200 sched: fix CONFIG_SCHED_DEBUG dependency of lockdep sysctls Make the lockdep sysctls not depend on CONFIG_SCHED_DEBUG. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit e57d2011a6276d55a87f26653a0395f302ce0d51 Author: Kristian Høgsberg Date: Fri Aug 24 18:59:58 2007 -0400 firewire: Add ref-counting for sbp2 orbs (fix command abortion) This handles the case where we get the status write before getting the complete_transaction callback ("status write for unknown orb"). In this case, we just assume that the initial orb pointer transaction succeeded and finish the orb. To prevent the transaction callback from touching freed memory, we ref-count the orb structures. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 8a2d9ed3210464d22fccb9834970629c1c36fa36 Author: Stefan Richter Date: Tue Aug 21 01:05:14 2007 +0200 firewire: fix unloading of fw-ohci while devices are attached Fix panic in run_timer_softirq right after "modprobe -r firewire-ohci" if a FireWire disk was attached and firewire-sbp2 loaded. Signed-off-by: Stefan Richter commit a2ee3f9bbb0ce57102dad8928d54f59acdc4b8f7 Author: Stefan Richter Date: Sat Aug 11 11:51:16 2007 +0200 ieee1394: sbp2: fix sbp2_remove_device for error cases Bug found by Olaf Hering : sbp2util_remove_command_orb_pool requires a valid lu->hi pointer. Signed-off-by: Stefan Richter commit 0769d39c993145754852b517ddd9c11586f0a014 Author: Scott Thompson Date: Sat Aug 25 18:17:49 2007 +1000 drm: ioremap return value checks Signed-off-by: Scott Thompson hushmail.com> Signed-off-by: Dave Airlie commit 5bdbc7dc2c07d507b41bffdadc2c8cc13b2d4326 Author: Scott Thompson Date: Sat Aug 25 18:14:00 2007 +1000 agp: balance ioremap checks patchset against 2.6.23-rc3. corrects missing ioremap return checks and balancing on iounmap calls, integrated changes per list recommendations on the original set of patches.. Signed-off-by: Scott Thompson hushmail.com> Signed-off-by: Dave Airlie commit 32ddef98f232585f20bc8bdb891029a6a5f633d0 Author: Xavier Bachelot Date: Sat Aug 25 18:10:52 2007 +1000 agp: Add device id for P4M900 to via-agp module Signed-off-by: Dave Airlie commit 175587cca7447daf5a13e4a53d32360ed8cba804 Author: Paul Mackerras Date: Sat Aug 25 13:14:28 2007 +1000 [POWERPC] Fix SLB initialization at boot time This partially reverts edd0622bd2e8f755c960827e15aa6908c3c5aa94. It turns out that the part of that commit that aimed to ensure that we created an SLB entry for the kernel stack on secondary CPUs when starting the CPU didn't achieve its aim, and in fact caused a regression, because get_paca()->kstack is not initialized at the point where slb_initialize is called. This therefore just reverts that part of that commit, while keeping the change to slb_flush_and_rebolt, which is correct and necessary. Signed-off-by: Paul Mackerras commit e120e8d03a263cf75f2abc0f8b3a03a65cfd3b88 Author: Olaf Hering Date: Sat Aug 25 05:42:01 2007 +1000 [POWERPC] Fix undefined reference to device_power_up/resume Current Linus tree fails to link on pmac32: drivers/built-in.o: In function `pmac_wakeup_devices': via-pmu.c:(.text+0x5bab4): undefined reference to `device_power_up' via-pmu.c:(.text+0x5bb08): undefined reference to `device_resume' drivers/built-in.o: In function `pmac_suspend_devices': via-pmu.c:(.text+0x5c260): undefined reference to `device_power_down' via-pmu.c:(.text+0x5c27c): undefined reference to `device_resume' make[1]: *** [.tmp_vmlinux1] Error 1 changing CONFIG_PM > CONFIG_PM_SLEEP leads to: drivers/built-in.o: In function `pmu_led_set': via-pmu-led.c:(.text+0x5cdca): undefined reference to `pmu_sys_suspended' via-pmu-led.c:(.text+0x5cdce): undefined reference to `pmu_sys_suspended' drivers/built-in.o: In function `pmu_req_done': via-pmu-led.c:(.text+0x5ce3e): undefined reference to `pmu_sys_suspended' via-pmu-led.c:(.text+0x5ce42): undefined reference to `pmu_sys_suspended' drivers/built-in.o: In function `adb_init': (.init.text+0x4c5c): undefined reference to `pmu_register_sleep_notifier' make[1]: *** [.tmp_vmlinux1] Error 1 So change even more places from PM to PM_SLEEP to allow linking. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit b22ddc703c5daa603d8d53881b530da3cab94cd4 Author: Arnd Bergmann Date: Thu Aug 23 03:09:17 2007 +1000 [POWERPC] cell: Update cell_defconfig for 2.6.23 Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit b0e81ebb1062eba20fbcbe459662c0a6ec6075f7 Author: Maxim Shchetynin Date: Thu Aug 23 03:01:28 2007 +1000 [POWERPC] axonram: Do not delete gendisks queue in error path On exit do not delete gendisk's queue because this is already done by del_gendisk(). Doing it twice may cause memory damage. Signed-off-by: Maximilian Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit fedcd2c53d838e7a69df699ce2a14e45d34d7f7f Author: Maxim Shchetynin Date: Thu Aug 23 03:01:27 2007 +1000 [POWERPC] axonram: Module modification for latest firmware API changes Firmware would not deliver two interrupt numbers in device-tree any more but only one, for correctable ECC, because uncorrectable ECC from now is handled by firmware itself. Changes in the axonram module are necessary because in the old version, if it is not allowed to fetch the second interrupt number from device-tree, it interpretes this as an error case and exits. Signed-off-by: Maximilian Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 3addf55c9415f9da039947b33d064332137e49fe Author: Arnd Bergmann Date: Thu Aug 23 03:01:26 2007 +1000 [POWERPC] cell: Support pinhole-reset on IBM cell blades The Cell Broadband Engine has a method of injecting a system-reset-exception from an external source into the operating system, which should trigger the regular behaviour of entering xmon or kdump. Unfortunately, the exception handler cannot distinguish it from other interrupt causes by the SRR1 register, which gets used for this on Power 6 and others. IBM Blade servers that want to support triggering the system reset exception using a pinhole button in the front panel therefore use an extra register to determine the reset cause. Signed-off-by: Arnd Bergmann -- Signed-off-by: Paul Mackerras commit fa7f374bbf6d8e5fc7dd281a62498041066aaf43 Author: Christian Krafft Date: Thu Aug 23 03:01:25 2007 +1000 [POWERPC] spu_manage: Use newer physical-id attribute Legacy device tree used the reg property for the physical id of an spe. On newer device tree layouts the reg property contains the "correct" value in the reg attribute. So there has been intoduced the "physical-id" on newer devicetree layouts. The id is stored by spu_manage into the spu struct as spe_id. cbe_thermal has been changed to use the spu->spe_id. There's no need for the thermal code to check devicetree attributes for itself. Signed-off-by: Christian Krafft Cc: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit dfa70f81a05fa857fb1428ac2a88da84ecd50dd9 Author: Olof Johansson Date: Fri Aug 17 13:57:39 2007 +1000 [POWERPC] pasemi: Another IOMMU bugfix for 64K PAGE_SIZE More fallout from the switch from PAGE_SIZE based IOMMU to the native page size for the driver. By pure luck it happened to work most of the time, since we end up invalidating the wrong entries in the TLB. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 2972863768cc2ef94734abb22dec6a46b0891307 Author: Brice Goglin Date: Fri Aug 24 08:57:54 2007 +0200 myri10ge: update driver version to 1.3.2-1.269 Update myri10ge driver version to 1.3.2-1.269. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 302d242cfb64eb53fb6d2aa2ae68ddd1ab47079f Author: Brice Goglin Date: Fri Aug 24 08:57:17 2007 +0200 myri10ge: use pcie_get/set_readrq Based on a patch from Peter Oruba, convert myri10ge to use pcie_get_readrq() and pcie_set_readrq() instead of our own PCI calls and arithmetics. These driver changes incorporate the proposed PCI-X / PCI-Express read byte count interface. Reading and setting those values doesn't take place "manually", instead wrapping functions are called to allow quirks for some PCI bridges. Signed-off-by: Brice Goglin Signed-off by: Peter Oruba Based on work by Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 28721c890c9b71cfee45e835bda4639777862e2f Author: Jan-Bernd Themann Date: Wed Aug 22 16:21:28 2007 +0200 ehea: fix queue destructor Includes hcp_epas_dtor in eq/cq/qp destructors to unmap HW register. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 18072a5bf7211d6899a2edc90c291c5c6fbc83d2 Author: Jan-Bernd Themann Date: Wed Aug 22 16:21:24 2007 +0200 ehea: fix module parameter description Update the module parameter description of "use_mcs" to show correct default value Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit a8e34fda798861d0f3f12c2739c1bec258be8bed Author: Jan-Bernd Themann Date: Wed Aug 22 16:20:58 2007 +0200 ehea: fix interface to DLPAR tools Userspace DLPAR tool expects decimal numbers to be written to and read from sysfs entries. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit e3efb05468128e834cf17d492822333c6e189ae4 Author: Ralf Baechle Date: Wed Aug 22 16:03:52 2007 +0100 sgiseeq: Fix return type of sgiseeq_remove The driver remove method needs to return an int not void. This was just never noticed because usually this driver is not being built as a module. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit c2cb71fafb4d514fbb8c9a8d663486a8f0400afa Author: Stephen Hemminger Date: Tue Aug 21 14:34:04 2007 -0700 sky2 1.17 Mark new version to track if current driver is in use. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 32c2c30085324aef9699934295281cca0161ef7e Author: Stephen Hemminger Date: Tue Aug 21 14:34:03 2007 -0700 sky2: only bring up watchdog if link is active This fixes the extra timer overhead that people were whining about as a 2.6.23 regression. Running the watchdog timer all the time is unneeded. Change it to run only if link is up, and reduce frequency to save power. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit b23457737f073eaf5a7b797c2a195f83633e003d Author: Stephen Hemminger Date: Tue Aug 21 14:34:02 2007 -0700 sky2: clear PCI power control reg at startup Make sure PCI register for PHY power gets cleared on boot, and make sure to avoid any PCI posting problems. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c46ac9463fbdee41723dd9fd108b2c1ffd30615f Author: Florian Westphal Date: Tue Aug 21 01:33:42 2007 +0200 DM9000: fix interface hang under load When transferring data at full speed, the DM9000 network interface sometimes stops sending/receiving data. Worse, ksoftirqd consumes 100% cpu and the net tx watchdog never triggers. Fix by spin_lock_irqsave() in dm9000_start_xmit() to prevent the interrupt handler from interfering. Signed-off-by: Florian Westphal Signed-off-by: Jeff Garzik commit bc1e0a095e9b8c4df4a2eedd7dc6a9d470a0e6b7 Author: Domen Puncer Date: Fri Aug 17 08:54:45 2007 +0200 phy layer: fix genphy_setup_forced (don't reset) Writing BMCR_RESET bit will reset MII_BMCR to default values. This is clearly not what we want. Signed-off-by: Domen Puncer Signed-off-by: Jeff Garzik commit 09e06f652d86d358583df0b601c0c4d11923dd88 Author: Ralf Baechle Date: Wed Aug 15 12:53:16 2007 +0100 Don't use GFP_DMA for zone allocation. IP32 doesn't even have a ZONE_DMA so no point in using GFP_DMA in any IP32-specific device driver. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit ba685fb2abd71162bea6895a99449c1071b01402 Author: Willy Tarreau Date: Thu Aug 23 21:35:41 2007 +0200 fix realtek phy id in forcedeth As noticed by Chuck Ebbert, commit c5e3ae8823693b260ce1f217adca8add1bc0b3de introduced a copy-paste typo, as realtek phy is 0x732 and not 0x1c1. Obvious fix below suggested by Ayaz Abdulla. Signed-off-by: Willy Tarreau Cc: Ayaz Abdulla Cc: Chuck Ebbert Signed-off-by: Jeff Garzik commit e6d9da1de0f31c57cfe3837b1b4e51c6d96fcd3c Author: Zhang Rui Date: Sat Aug 25 02:23:31 2007 -0400 ACPI: work around duplicate name "VID" problem on T61 This can only fix the problem that more than one video bus device have the same AML name "VID". ie. the proc I/F for the second "VID" video bus device is located under /proc/acpi/video/VID1/... As this is really rare and the ACPI proc I/F is a legacy feature that we are planning to remove. We won't provide a generic solution for this problem. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 5e1f198bbfcffa1e3b9091b4ca7032c2d07fde81 Author: Jeremy Fitzhardinge Date: Sat Aug 25 01:31:45 2007 -0400 acpiphp_ibm: add missing '\n' to error message Add missing \n to error in ibm_find_acpi_device. Signed-off-by: Jeremy Fitzhardinge Cc: Kristen Carlson Accardi Cc: Greg Kroah-Hartman Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 3e0d69ecf04d25f1e9c4ad658683d6d92641bb08 Author: Andrew Morton Date: Sat Aug 25 01:28:20 2007 -0400 ACPI: add dump_stack() to trace acpi_format_exception programming errors Dump the stack so we can find the secretive caller to acpi_format_exception(). Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit b3e572d2eb7cdbda6f212ad177acd0c9381903b9 Author: Adrian Bunk Date: Tue Aug 14 23:22:35 2007 +0200 make drivers/acpi/scan.c:create_modalias() static This patch makes the needlessly global create_modalias() static. Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit 70b30fb13bf46d7874537f5e2089bcc772559fc4 Author: Al Viro Date: Tue Aug 21 16:18:20 2007 +0100 ACPI: Fix a warning of discarding qualifiers from pointer target type drivers/acpi/ec.c: In function `acpi_ec_ecdt_probe': drivers/acpi/ec.c:873: warning: passing arg 1 of `acpi_get_devices' discards qualifiers from pointer target type Signed-off-by: Al Viro Signed-off-by: Len Brown commit ead77594af3a49e48ceec61a1824362be4b5cafa Author: Shaohua Li Date: Thu Aug 23 15:01:13 2007 +0800 ACPI: "ACPI handle has no context!" should be KERN_DEBUG Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit e9dab1960ac9746fa34eff726b81635147615a79 Author: Luming Yu Date: Mon Aug 20 18:23:53 2007 +0800 ACPI video hotkey: export missing ACPI video hotkey events via input layer Signed-off-by: Yu Luming Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 6e106b0d97e79f1abb60cc49a53af760950c3384 Author: Randy Dunlap Date: Fri Aug 24 15:35:15 2007 -0700 DM_MULTIPATH_RDAC: "scsi_normalize_sense" undefined DM_MULTIPATH_RDAC uses SCSI API(s) and is for a SCSI device, so add SCSI to its depends on to prevent build errors. Signed-off-by: Randy Dunlap [ Tested and Verified by Chandra Seetharaman ] Acked-by: Chandra Seetharaman Signed-off-by: Linus Torvalds commit 9f3119b70cf189530f1b46a006a052e171a1622f Author: Zhao Yakui Date: Fri Aug 24 16:18:16 2007 +0800 ACPI: Validate XSDT, use RSDT if XSDT fails ACPI 1.0 used an RSDT with 32-bit physical addresses. ACPI 2.0 adds an XSDT with 32-bit physical addresses. An ACPI 2.0 aware OS is supposed to use the XSDT (when present) instead of the RSDT. However, several systems have failed because the XSDT contains NULL entries -- while it is missing pointers to needed tables, such as SSDTs. When we find an XSDT with NULL entries, discard it and use the ACPI 1.0 RSDT instead. http://bugzilla.kernel.org/show_bug.cgi?id=8630 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 2db9ccba8d4bb8e3aa6d0cd8e7544c5736963bbc Author: Pavel Machek Date: Fri Aug 24 11:45:50 2007 +0200 ACPI: /proc/acpi/thermal_zone trip points are now read-only, mark them as such Signed-off-by: Pavel Machek Signed-off-by: Len Brown commit 095e56c7036fe97bc3ebcd80ed6e121be0847656 Author: Ingo Molnar Date: Fri Aug 24 20:39:10 2007 +0200 sched: fix startup penalty calculation fix task startup penalty miscalculation: sysctl_sched_granularity is unsigned int and wait_runtime is long so we first have to convert it to long before turning it negative ... Signed-off-by: Ingo Molnar commit ea0aa3b23a193d1fc5c982286edecd071af67d94 Author: Peter Zijlstra Date: Fri Aug 24 20:39:10 2007 +0200 sched: simplify bonus calculation #2 current code: delta = calc_delta_mine(delta_exec, curr->load.weight, lw); delta = min((u64)delta, cfs_rq->sleeper_bonus); Notice that this calc_delta_mine() line is exactly delta_mine, which gives: delta = min((u64)delta_mine, cfs_rq->sleeper_bonus); Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a6f2994042cc2db9e507dc702ed0b5e2cc5890fe Author: Peter Zijlstra Date: Fri Aug 24 20:39:10 2007 +0200 sched: simplify bonus calculation #1 current code: delta = min(cfs_rq->sleeper_bonus, (u64)delta_exec); delta = calc_delta_mine(delta, curr->load.weight, lw); delta = min((u64)delta, cfs_rq->sleeper_bonus); drop the first min(), because we clip against sleeper_bonus in the 3rd line again. That gives: delta = calc_delta_mine(delta_exec, curr->load.weight, lw); delta = min((u64)delta, cfs_rq->sleeper_bonus); Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b2133c8b1e270b4a7c36f70e29be8738d09e850b Author: Ingo Molnar Date: Fri Aug 24 20:39:10 2007 +0200 sched: tidy up and simplify the bonus balance make the bonus balance more consistent: do not hand out a bonus if there's too much in flight already, and only deduct as much from a runner as it has the capacity. This makes the bonus engine a zero-sum game (as intended). this also simplifies the code: text data bss dec hex filename 34770 2998 24 37792 93a0 sched.o.before 34749 2998 24 37771 938b sched.o.after and it also avoids overscheduling in sleep-happy workloads like hackbench.c. Signed-off-by: Ingo Molnar commit 98fbc798533339be802c6dcd48c2293c712e87db Author: Dmitry Adamushko Date: Fri Aug 24 20:39:10 2007 +0200 sched: optimize task_tick_rt() a bit Mitchell Erblich suggested a quality-of-implementation change to not requeue SCHED_RR tasks if there's only a single task on the runqueue, by checking for rq->nr_running == 1. provide a more efficient implementation of that, to check that particular RT priority-queue only. [ From: mingo@elte.hu ] Also first requeue the task then set need_resched - results in slightly better machine-instruction ordering. Also clean up the code a bit. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit deac4ee65af4befb66b542e4a782e63da93b51a0 Author: Sven-Thorsten Dietrich Date: Fri Aug 24 20:39:10 2007 +0200 sched: simplify can_migrate_task() Remove trivial conditional branch in Linux scheduler's can_migrate_task() function. text data bss dec hex filename 34770 2998 24 37792 93a0 sched.o.before 34757 2998 24 37779 9393 sched.o.after Signed-off-by: Sven-Thorsten Dietrich Signed-off-by: Ingo Molnar commit 71fd37146385c8255bfd370f33ca81fe8c81e5a5 Author: Ingo Molnar Date: Fri Aug 24 20:39:10 2007 +0200 sched: remove HZ dependency from the granularity default remove HZ dependency from the granularity default. Use 10 msec for the base granularity, 1 msec for wakeup granularity and 25 msec for batch wakeup granularity. (These defaults are close to the values that the default HZ=250 setting got previously, and thus it's the most common setting.) Signed-off-by: Ingo Molnar commit 7c6c16f354cde4a48bd305b2587fc78257bcb936 Author: Bruce Ashfield Date: Fri Aug 24 20:39:10 2007 +0200 sched: CONFIG_SCHED_GROUP_FAIR=y fixlet when I built with CONFIG_FAIR_GROUP_SCHED=y, I need the following change to make things right. [ From: mingo@elte.hu ] this config option is not upstream-configurable right now but lets fix this for completeness. Signed-off-by: Bruce Ashfield Signed-off-by: Ingo Molnar commit 3e069ee0c30d6f28b79e409ef2df1ffa427897ae Author: Len Brown Date: Fri Aug 24 03:06:33 2007 -0400 ACPI: fix ia64 allnoconfig build drivers/acpi/event.c:238: error: conflicting types for ‘acpi_bus_generate_netlink_event’ include/acpi/acpi_bus.h:324: error: previous declaration of ‘acpi_bus_generate_netlink_event’ was here Signed-off-by: Len Brown commit b173491339b9ae7f1322241ce6228c1268513a39 Author: Bjorn Helgaas Date: Wed Aug 15 10:32:13 2007 -0600 PNP: remove null pointer checks Remove some null pointer checks. Null pointers in these areas indicate programming errors, and I think it's better to oops immediately rather than return an error that is easily ignored. Signed-off-by: Bjorn Helgaas Acked-by: Adam Belay Signed-off-by: Len Brown commit 4f0217e30249ac0eb13b65ef64f2aee627465da2 Author: Bjorn Helgaas Date: Wed Aug 15 10:32:12 2007 -0600 PNP: remove MODULE infrastructure We don't support building any part of PNP as a module (*drivers* can be modules, of course, but the PNP infrastructure itself can not). Since MODULE will never be defined, remove the ifdefs and dead code. Signed-off-by: Bjorn Helgaas Acked-by: Adam Belay Signed-off-by: Len Brown commit 6c504d30a48157b7c05a0dfb6a799c72095e957d Author: Bjorn Helgaas Date: Wed Aug 15 10:32:11 2007 -0600 ISAPNP: removed unused isapnp_detected and ISAPNP_DEBUG ISAPNP_DEBUG isn't used at all. isapnp_detected is set but never read. So remove them both. Signed-off-by: Bjorn Helgaas Acked-by: Adam Belay Signed-off-by: Len Brown commit 4721a4cc8864f0eb92958c3e0479e7994e8b0072 Author: Bjorn Helgaas Date: Wed Aug 15 10:32:10 2007 -0600 PNPACPI: remove unnecessary casts of "void *" Remove unnecessary casts of void pointers. Signed-off-by: Bjorn Helgaas Acked-by: Adam Belay Signed-off-by: Len Brown commit 4cec086b219224167c22dd020d3dd2d9220e1d98 Author: Bjorn Helgaas Date: Wed Aug 15 10:32:09 2007 -0600 PNPACPI: simplify irq_flags() No need for a temporary variable; just return the flags once we know them. Signed-off-by: Bjorn Helgaas Acked-by: Adam Belay Signed-off-by: Len Brown commit 1e0aa9ad721349781b728ec4226876247e3fd431 Author: Bjorn Helgaas Date: Wed Aug 15 10:32:08 2007 -0600 PNP: fix up after Lindent More manual fixups after Lindent. No functional change. Signed-off-by: Bjorn Helgaas Acked-by: Adam Belay Signed-off-by: Len Brown commit 79d2dfaa4e787f94b7f65f4611bc7d1c8d85fabc Author: Thomas Renninger Date: Fri Aug 24 01:24:47 2007 -0400 ACPI: enable GPEs before calling _WAK on resume It seems it's required to enable GPEs before _WAK. E.g. X60 triggers a LID related GPE instead of doing a Notify in WAK. Now the GPE reaches the kernel and the Notify for LID status change gets thrown from there. Signed-off-by: Thomas Renninger Acked-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit e1996a69e162b1c99c3d3802684d1c388b54f47d Author: Guillaume Chazarain Date: Thu Aug 16 18:18:53 2007 +0200 asus-laptop: Fix rmmod of asus_laptop The asus laptop driver conditionnaly registers leds in asus_led_register() depending on their availability, but unconditionnaly unregisters them all at exit time or when the module fails to load. Unregistering not registered leds result in the following Oops. So we should check before unregistering. [] do_page_fault+0x511/0x5e9 [] error_code+0x6a/0x70 [] device_unregister+0x26/0x32 [] led_classdev_unregister+0x58/0x94 [led_class] [] asus_led_exit+0x17/0x41 [asus_laptop] [] asus_laptop_exit+0xd/0x3f [asus_laptop] [] sys_delete_module+0x17b/0x1a2 [] sysenter_past_esp+0x6b/0xa1 EIP: [] device_del+0xb/0x23a SS:ESP 0068:f594ef0c Signed-off-by: Guillaume Chazarain Signed-off-by: Len Brown commit 015a916fbbf105bb15f4bbfd80c3b9b2f2e0d7db Author: Mattia Dongili Date: Sun Aug 12 16:20:27 2007 +0900 sony-laptop: call sonypi_compat_init earlier sonypi_compat uses a kfifo that needs to be present before _SRS is called to be able to cope with the IRQs triggered when setting resources. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit f46d1604ed84e5a4107bae1db7283e3a76d72ace Author: Mattia Dongili Date: Sun Aug 12 16:20:26 2007 +0900 sony-laptop: enable Vaio FZ events Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit abcb1ff326bfe74f3611d7de653276540ea060dd Author: Jesper Juhl Date: Fri Aug 24 02:28:42 2007 +0200 tty: dont needlessly cast kmalloc() return value kmalloc() hands us a void pointer, we don't need to cast it. Signed-off-by: Jesper Juhl Signed-off-by: Linus Torvalds commit 6dc2c1b7798ef645213afc82f6d5eac3d61bc18b Author: Miloslav Trmac Date: Thu Aug 23 10:19:53 2007 +0100 Renumber AUDIT_TTY_[GS]ET Renumber AUDIT_TTY_[GS]ET to avoid a conflict with netlink message types already used in the wild. Signed-off-by: Miloslav Trmac Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 405d2965597fd9dbd822a5a8c1c66c925a942d6e Author: Greg Ungerer Date: Fri Aug 24 09:26:12 2007 +1000 m68knommu: include linux/fs.h for do_pipe() Include linux/fs.h to get the prototype for do_pipe(). Build fix. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 01740fccba6c9af289dfcfb2b265a38ff9382c82 Author: Greg Ungerer Date: Fri Aug 24 09:25:59 2007 +1000 m68knommu: include asm-generic/pgtable.h Include asm-generic/pgtable.h to pick up the lazy_mmu_mode and lazy_cpu_mode macros. Won't build without them. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 07ef30932ea9540aa4ba79789376a46ee68bb59a Author: Greg Ungerer Date: Fri Aug 24 09:26:06 2007 +1000 m68knommu: include linux/fs.h for getname() Include linux/fs.h to get the prototype for getname(). Build fix. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 604de6e0ee3517d7f66427c8fc782761e057f025 Author: Alan Cox Date: Thu Aug 23 20:18:55 2007 +0100 pata_it821x: Fix regression/corruptor Whoever did the PCI revision patch slipped up on the it821x, and I didn't spot this at the time either. They moved the check for the errata from the 0x10 revision to 0x11. Put it back This one is important for 2.6.23 final as in some cases bad things will occur if 0x10 revision boards don't get the fixups. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f9319f903f898dd4b15dbc386499725ce6c59776 Author: Alexey Starikovskiy Date: Fri Aug 24 08:10:11 2007 +0400 ACPI: EC: revert fix for bugzilla 8709 This is a manual revert of 7c010de7506954e973abfab5c5999c5a97f7a73e, a fix that broke another ASUS in 8909 and 8919. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit deec5950479b72eff3130dc6f956a87466ed41c6 Author: Alexey Dobriyan Date: Fri Aug 24 00:03:47 2007 +0400 lguest should depend on CONFIG_FUTEX It uses get_futex_key(). Signed-off-by: Alexey Dobriyan Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit a1eb96a2f635cdb8f626f4074dae2ba5a6fce1e8 Author: Zhang Rui Date: Mon Aug 20 18:23:51 2007 +0800 ACPI video hotkey: remove invalid events handler for video output devices Both ACPI_VIDEO_NOTIFY_SWITCH and ACPI_VIDEO_NOTIFY_PROBE are valid for video bus devices only. Actually ACPI video output device should never be notified for a output device switch/probe. ACPI bus devices notify handler already has the code to handle these kinds of events. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit a7ecd1ea913346a72f41a002c365882dc05c9bd5 Author: Yu Luming Date: Thu Aug 23 23:05:55 2007 -0400 ACPI: video: Add keycode for ACPI video driver hotkey events. Signed-off-by: Luming Yu Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 71351b98b9be6a867aa00276d67716c0728cfff7 Author: H. Peter Anvin Date: Thu Aug 23 09:28:42 2007 -0700 [x86 setup] Make sure AH=00h when setting a video mode Passing a u8 into a register doesn't mean gcc will zero-extend it. Also, don't depend on thhe register not to change. Per bug report from Saul Tamari. Signed-off-by: H. Peter Anvin commit b015124e562a040f7faf361c72e8f5f457ac6cf5 Author: H. Peter Anvin Date: Wed Aug 22 16:28:01 2007 -0700 [x86 setup] Volatilize asm() statements asm() statements need to be volatile when: a. They have side effects (other than value returned). b. When the value returned can vary over time. c. When they have ordering constraints that cannot be expressed to gcc. In particular, the keyboard and timer reads were violating constraint (b), which resulted in the keyboard/timeout poll getting loop-invariant-removed when compiling with gcc 4.2.0. Thanks to an anonymous bug reporter for pointing this out. Signed-off-by: H. Peter Anvin commit 14e04fb34ffa82ee61ae69f98d8fca12d2e8e31c Author: Len Brown Date: Thu Aug 23 15:20:26 2007 -0400 ACPI: Schedule /proc/acpi/event for removal Schedule /proc/acpi/event for removal in 6 months. Re-name acpi_bus_generate_event() to acpi_bus_generate_proc_event() to make sure there is no confusion that it is for /proc/acpi/event only. Add CONFIG_ACPI_PROC_EVENT to allow removal of /proc/acpi/event. There is no functional change if CONFIG_ACPI_PROC_EVENT=y Signed-off-by: Len Brown commit 962ce8ca0604af0c3c5609f7613d4ec5fcfac623 Author: Zhang Rui Date: Thu Aug 23 01:24:31 2007 +0800 ACPI: don't duplicate input events on netlink The previous events patch added a netlink event for every user of the legacy /proc/acpi/event interface. However, some users of /proc/acpi/event are really input events, and they already report their events via the input layer. Introduce a new interface, acpi_bus_generate_netlink_event(), which is explicitly called by devices that want to repoprt events via netlink. This allows the input-like events to opt-out of generating netlink events. In summary: events that are sent via netlink: ac/battery/sbs thermal processor thinkpad_acpi dock/bay events that are sent via input layer: button video hotkey thinkpad_acpi hotkey asus_acpi/asus-laptop hotkey sonypi/sonylaptop Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 04b35abef779f5ed1ff5c039dffbbcc5d2c060b6 Author: Mauro Carvalho Chehab Date: Mon Aug 20 16:45:35 2007 -0300 V4L/DVB (6070): Fix a warning at dvb_net static function dvb_net_sec declares input arg "pkt" as u8. However, the same argument at dvb_net_sec_callback is defined as "const u8". When calling dvb_net_sec, this is casted as just "u8". gcc 4.2.1 generates a warning about that: CC [M] drivers/media/dvb/dvb-core/dvb_net.o drivers/media/dvb/dvb-core/dvb_net.c: In function "dvb_net_sec_callback": drivers/media/dvb/dvb-core/dvb_net.c:905: warning: passing argument 2 of "dvb_net_sec" discards qualifiers from pointer target type Signed-off-by: Mauro Carvalho Chehab commit 6175e487e314385e37f06448847e4c46c20edb44 Author: Trent Piepho Date: Sun Aug 19 05:05:54 2007 -0300 V4L/DVB (6042): b2c2-flexcop: fix Airstar HD5000 tuning regression Git changeset 6bdcc6e6dbab8daffd05e5026486f34ba41a6c72 dropped the stand-alone lgh06xf module, whose functionality was absorbed into the dvb-pll module. However, there was a minor difference between the code in lgh06xf and dvb-pll, which caused a regression in b2c2-flexcop devices using the LG-H06xF NIM. dvb-pll will probe for the presence of an i2c pll chip by performing a single byte read, the lgh06xf driver did not do this. Unfortunately, the code in flexcop-i2c.c does not currently support 1 byte or 0 byte reads as a probe. Such probes with the current code will always fail. In order to work around this problem, and restore proper functionality of the Airstar HD5000 device, this hack was created to make the probe appear to succeed. The single byte read in dvb_pll_attach is the only place where such a probe would ever occur, so this change is safe, and will not affect any other devices. Of course, if one knew how to actually perform the read operation, it would be better to go that route. In the meantime, however, we must apply this workaround, in order to prevent the regression that causes tuning to fail on the Airstar HD5000 ATSC device. Thanks to Jarod Wilson, who had originally reported this regression, and to Geoffrey Hausheer, whose original workaround patch led us to find the actual cause of the problem. Signed-off-by: Trent Piepho Cc: Geoffrey Hausheer Acked-by: Jarod Wilson Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 02881d94780faa86e32952e46381f7cd4c78d5ac Author: Mariusz Kozlowski Date: Thu Aug 23 10:24:28 2007 -0500 9p: fix bad error path in conversion routines When buf_check_overflow() returns != 0 we will hit kfree(ERR_PTR(err)) and it will not be happy about it. Signed-off-by: Mariusz Kozlowski Signed-off-by: Eric Van Hensbergen commit fbcb7599e411309cf47a2b834d3546469c153cf4 Author: Eric Van Hensbergen Date: Thu Aug 23 10:08:45 2007 -0500 9p: remove deprecated v9fs_fid_lookup_remove() This patch removes the v9fs_fid_lookup_remove which is no longer used. Based on original patch from Adrian Bunk which used #if 0 to isolate the code. Signed-off-by: Adrian Bunk Signed-off-by: Eric Van Hensbergen commit 27a2a5ff41e366290adb89adcc9e70e6a9e81455 Author: Eric Van Hensbergen Date: Mon Jul 23 13:06:13 2007 -0500 9p: update maintainers and documentation Updates to the MAINTAINERS file and documentation for 9p to point to the swik wiki versus the outdated sf.net page. Also updated some email addresses and added pointers to papers which better describe the implementation and application of the Linux 9p client. Signed-off-by: Eric Van Hensbergen commit 1a3cac6c6d1f56dc26939eb41be29844f897c15a Author: Eric Van Hensbergen Date: Thu Jul 26 14:04:54 2007 -0500 9p: fix use after free On 7/22/07, Adrian Bunk wrote: The Coverity checker spotted the following use-after-free in net/9p/mux.c: <-- snip --> ... struct p9_conn *p9_conn_create(struct p9_transport *trans, int msize, unsigned char *extended) { ... if (!m->tagpool) { kfree(m); return ERR_PTR(PTR_ERR(m->tagpool)); } ... <-- snip --> Also spotted was a leak of the same structure further down in the function. Signed-off-by: Eric Van Hensbergen commit 505c0efd58031923ae01deac16d896607cafa70e Author: Ingo Molnar Date: Thu Aug 23 15:18:02 2007 +0200 sched: tweak the sched_runtime_limit tunable Michael Gerdau reported reniced task CPU usage weirdnesses. Such symptoms can be caused by limit underruns so double the sched_runtime_limit. Signed-off-by: Ingo Molnar commit f549da848eca595abca14ebc5e1bf00fd72aa53d Author: Suresh Siddha Date: Thu Aug 23 15:18:02 2007 +0200 sched: skip updating rq's next_balance under null SD Was playing with sched_smt_power_savings/sched_mc_power_savings and found out that while the scheduler domains are reconstructed when sysfs settings change, rebalance_domains() can get triggered with null domain on other cpus, which is setting next_balance to jiffies + 60*HZ. Resulting in no idle/busy balancing for 60 seconds. Fix this. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit f8700df7c419781efb34696de7e7f49717f8ede7 Author: Suresh Siddha Date: Thu Aug 23 15:18:02 2007 +0200 sched: fix broken SMT/MC optimizations On a four package system with HT - HT load balancing optimizations were broken. For example, if two tasks end up running on two logical threads of one of the packages, scheduler is not able to pull one of the tasks to a completely idle package. In this scenario, for nice-0 tasks, imbalance calculated by scheduler will be 512 and find_busiest_queue() will return 0 (as each cpu's load is 1024 > imbalance and has only one task running). Similarly MC scheduler optimizations also get fixed with this patch. [ mingo@elte.hu: restored fair balancing by increasing the fuzz and adding it back to the power decision, without the /2 factor. ] Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit efe567fc8281661524ffa75477a7c4ca9b466c63 Author: Christian Borntraeger Date: Thu Aug 23 15:18:02 2007 +0200 sched: accounting regression since rc1 Fix the accounting regression for CONFIG_VIRT_CPU_ACCOUNTING. It reverts parts of commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa by converting fs/proc/array.c back to cputime_t. The new functions task_utime and task_stime now return cputime_t instead of clock_t. If CONFIG_VIRT_CPU_ACCOUTING is set, task->utime and task->stime are returned directly instead of using sum_exec_runtime. Patch is tested on s390x with and without VIRT_CPU_ACCOUTING as well as on i386. [ mingo@elte.hu: cleanups, comments. ] Signed-off-by: Christian Borntraeger Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit c57baf1e1e24b004b57d282267542baab802753c Author: Eric W. Biederman Date: Thu Aug 23 15:18:02 2007 +0200 sched: fix sysctl directory permissions There are two remaining gotchas: - The directories have impossible permissions (writeable). - The ctl_name for the kernel directory is inconsistent with everything else. It should be CTL_KERN. Signed-off-by: Eric W. Biederman Signed-off-by: Ingo Molnar commit 2aa44d0567ed21b47b87d68819415d48194cb923 Author: Ingo Molnar Date: Thu Aug 23 15:18:02 2007 +0200 sched: sched_clock_idle_[sleep|wakeup]_event() construct a more or less wall-clock time out of sched_clock(), by using ACPI-idle's existing knowledge about how much time we spent idling. This allows the rq clock to work around TSC-stops-in-C2, TSC-gets-corrupted-in-C3 type of problems. ( Besides the scheduler's statistics this also benefits blktrace and printk-timestamps as well. ) Furthermore, the precise before-C2/C3-sleep and after-C2/C3-wakeup callbacks allow the scheduler to get out the most of the period where the CPU has a reliable TSC. This results in slightly more precise task statistics. the ACPI bits were acked by Len. Signed-off-by: Ingo Molnar Acked-by: Len Brown commit 9d84588bdb72b6ec9d891fbdaa4305023e16ee3a Author: Krzysztof Helt Date: Sat Aug 18 22:23:57 2007 +0100 [ARM] 4551/1: s3c24xx: fix wrong virtual address offsets This patch reduces 36-bit offset to 32-bit offsets. The 36-bit offsets makes virtual addresses wraps when added to 32-bit base. Signed-off-by: Krzysztof Helt Acked-by: Ben Dooks Signed-off-by: Russell King commit a228d6e7ed8e3624b6c1497a550d8d0e2cac889f Author: Pavel Pisa Date: Mon Aug 20 21:39:41 2007 +0100 [ARM] 4552/1: i.MX/MX1 GPIO output setup fix The pins for GPIO should be provided as plain number build as (GPIO_PORTx + pin_number). But to setup the output GPIO_GIUS and GPIO_DR have to be specified in mode to route right value to the pin. This is a fix, it should go to 2.6.23 Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 7b1bc03e803f772bf71245eaba461651f32481b4 Author: Karl Olsen Date: Mon Aug 20 22:35:04 2007 +0100 [ARM] 4553/1: ARM at91: define FIQ_START For ARM at91, the FIQ_START #define is required if you use a driver that enables FIQ support. Signed-off-by: Karl Olsen Acked-by: Andrew Victor Signed-off-by: Russell King commit 90833fdab89da02fc0276224167f0a42e5176f41 Author: Jared Hulbert Date: Wed Aug 22 17:38:25 2007 +0100 [ARM] 4554/1: replace consistent_sync() with flush_ioremap_region() This fixes a regression from around 2.6.18, consistent_sync() will now BUG() under these circumstances. The use of consistent_sync() was a hack, replacing it's usage here with a new function, flush_ioremap_region(). Signed-off-by: Jared Hulbert Acked-by: Pavel Pisa Signed-off-by: Russell King commit b54eebd673861136291b97e409a0f248b96e74ae Author: Tejun Heo Date: Fri Aug 17 18:46:51 2007 +0900 libata: don't check n_sectors during revalidation if zero If the initial configuration fails early, n_sectors is left at zero. Checking against it during revalidation makes retried configuration fail due to n_sectors mismatch. Ignore zero n_sectors during revalidation. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9edbdbea003b8be96e2f5d70515227d5fb32ad72 Author: Alan Cox Date: Wed Aug 22 22:57:48 2007 +0100 pata_via: Add Arima W730-K8 and other rebadgings More cable funnies Signed-off-by: Alan Cox Tested-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 4f2d47cfddc84969b6934893fc40132750ae3b5e Author: Alan Cox Date: Wed Aug 22 22:56:43 2007 +0100 pata_sis: Add the FSC Amilo and friends More short cables Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 78c4af0b43e152c40d232137f8cb637f2c58826a Author: Mikael Pettersson Date: Sat Aug 18 22:58:53 2007 +0200 pata_pdc2027x: PLL detection fixes Previously I reported that the pata_pdc2027x PLL detection changes in kernel 2.6.22 broke the driver on my PowerMac: >pata_pdc2027x: Invalid PLL input clock 1691742kHz, give up! This is followed by a number of errors and speed reduction steps on the affected ports. There are two bugs in pata_pdc2027x's PLL detection code: 1. The PLL counter's start value is read before the chip is put in "test mode". Outside of test mode the counter is halted, and on the PowerMac the counter is zero because the chip hasn't been initialised by its BIOS. The fix is to move the read of the start value to after test mode is started, but before the mdelay() in test mode. This also improves the precision of the PLL detection. 2. The code to compute the number of PLL decrements during the mdelay() in test mode fails to consider that the PLL counter only is 30 bits wide. If there is a wraparound, it will compute an incorrect and much too large value. On the PowerMac, the start count is zero, the end count is a large 30-bit value, so wraparound occurs and an out of bounds PLL clock is detected. The fix is to mask the (start - end) computation to 30 bits. While debugging this I also noticed that pdc_read_counter() reads the two halves of the 30-bit PLL counter as 16-bit values, and then combines them as if the halves only are 15 bits wide. To avoid confusion, the halves should be read as 15-bit values. This patch implements all three changes. It fixes the PLL detection failure on my PowerMac, and doesn't cause any regressions on an x86 with an identical card. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 8270bec40075eec9df8778c1d5da36ef0e535176 Author: Tejun Heo Date: Thu Aug 16 03:02:22 2007 +0900 libata: fix n_sectors failure handling during revalidation If revalidation fails because device has different n_sectors after configuration the original n_sectors should be restored before failing revalidation. Without this fix, n_sectors difference will incorrectly and silently pass revalidation when revalidation is retried. Signed-off-by: Tejun Heo Acked-by: Alan Cox Signed-off-by: Jeff Garzik commit b67ac3f339c76dfea3cc75fc0285b6d13edc35fa Author: Pierre Ossman Date: Sun Aug 12 17:29:47 2007 +0200 sdhci: tell which spurious interrupt we got When we get unexpected interrupts, also print which interrupt it was. Signed-off-by: Pierre Ossman commit e538fbe83e374a3521128c1f4642aca037661c9d Author: Pierre Ossman Date: Sun Aug 12 16:46:32 2007 +0200 sdhci: handle data interrupts during command It is fully legal for a controller to start issuing data related interrupts before it has signalled that the command has completed. Make sure the driver actually can handle this. Signed-off-by: Pierre Ossman commit 03f8590d90844f04d20488a80e75eaf4c4e0b35c Author: David Vrabel Date: Fri Aug 10 13:25:03 2007 +0100 mmc: ignore bad max block size in sdhci Some SDHC cards report an invalid maximum block size, in these cases assume they support block sizes up to 512 bytes instead of returning an error. Signed-off-by: David Vrabel Signed-off-by: Pierre Ossman commit 2b061973404802fb87db93175b856ee0dfbe38e4 Author: Pierre Ossman Date: Sun Aug 12 13:13:24 2007 +0200 sdhci: be more cautious about block count register The block count register shouldn't be trusted for single block transfers, so avoid using it completely when calculating transferred bytes. Signed-off-by: Pierre Ossman commit be760a9de881d84994403bb93177bcb95319c4cb Author: Mariusz Kozlowski Date: Fri Aug 10 14:00:50 2007 -0700 drivers/mmc/core/host.c: kmalloc + memset con