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 conversion to kzalloc drivers/mmc/core/host.c | 3509 -> 3457 (-52 bytes) drivers/mmc/core/host.o | 92400 -> 92136 (-264 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman commit 733cb1e44047ed88f97754fbfd5173741b6dca1a Author: Mariusz Kozlowski Date: Fri Aug 10 14:00:47 2007 -0700 drivers/mmc/core/bus.c: kmalloc + memset conversion to kzalloc drivers/mmc/core/bus.c | 5663 -> 5619 (-44 bytes) drivers/mmc/core/bus.o | 70899 -> 70731 (-168 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman commit b377fd3982ad957c796758a90e2988401a884241 Author: Mel Gorman Date: Wed Aug 22 14:02:05 2007 -0700 Apply memory policies to top two highest zones when highest zone is ZONE_MOVABLE The NUMA layer only supports NUMA policies for the highest zone. When ZONE_MOVABLE is configured with kernelcore=, the the highest zone becomes ZONE_MOVABLE. The result is that policies are only applied to allocations like anonymous pages and page cache allocated from ZONE_MOVABLE when the zone is used. This patch applies policies to the two highest zones when the highest zone is ZONE_MOVABLE. As ZONE_MOVABLE consists of pages from the highest "real" zone, it's always functionally equivalent. The patch has been tested on a variety of machines both NUMA and non-NUMA covering x86, x86_64 and ppc64. No abnormal results were seen in kernbench, tbench, dbench or hackbench. It passes regression tests from the numactl package with and without kernelcore= once numactl tests are patched to wait for vmstat counters to update. akpm: this is the nasty hack to fix NUMA mempolicies in the presence of ZONE_MOVABLE and kernelcore= in 2.6.23. Christoph says "For .24 either merge the mobility or get the other solution that Mel is working on. That solution would only use a single zonelist per node and filter on the fly. That may help performance and also help to make memory policies work better." Signed-off-by: Mel Gorman Acked-by: Lee Schermerhorn Tested-by: Lee Schermerhorn Acked-by: Christoph Lameter Cc: Andi Kleen Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e92f21ba3ea3f54e4be062b87ef9fc4af2d33e2 Author: Yoichi Yuasa Date: Wed Aug 22 14:02:03 2007 -0700 au1100fb: move au1100fb_fb_blank() beforce au1100fb_setmode() au1100fb_fb_blank() should come before au1100fb_setmode(). drivers/video/au1100fb.c: In function 'au1100fb_setmode': drivers/video/au1100fb.c:211: error: implicit declaration of function 'au1100fb_fb_blank' Signed-off-by: Yoichi Yuasa Cc: "Antonino A. Daplas" Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ae8aeae47e0f014ec453c4b75c9de00bd29e9e6 Author: Andrew Morton Date: Wed Aug 22 14:02:01 2007 -0700 newport_con warning fix drivers/video/console/newport_con.c: In function `newport_console_init': drivers/video/console/newport_con.c:743: warning: return makes integer from pointer without a cast Although one wonders whether that should have been -ENODEV... Cc: "Antonino A. Daplas" Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0aa42632d3a0024700b25f57fd0fca56f6abad24 Author: Andrew Morton Date: Wed Aug 22 14:02:01 2007 -0700 selection.h: add tty_struct forward declaration In file included from drivers/video/console/newport_con.c:16: include/linux/selection.h:16: warning: "struct tty_struct" declared inside parameter list include/linux/selection.h:16: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de5986dd3a102b8ae34bf08fe6f45b62b57ab2eb Author: Stephen Rothwell Date: Wed Aug 22 14:02:00 2007 -0700 Check for PPC32 in imsttfb This is the correct fix according to Paul Mackerras and allows an allyesconfig on PPC64 to build. Signed-off-by: Stephen Rothwell Cc: Paul Mackerras Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0852ec8cc1ac108344a219dfcab4043f407ddd9a Author: Mathieu Desnoyers Date: Wed Aug 22 14:01:59 2007 -0700 Xen i386 xen-head.S fix sections mixup Xen i386 xen-head.S fix sections mixup xen-head.S does not come back to the data section, leaving the text section as current section. It causes problems with a slightly enhanced DEBUG_RODATA that supports CONFIG_HOTPLUG and bringing a CPU up after the text has been marked read-only: reference to early_gdt_descr causes a page fault. Updates: - It should be using pushsection/popsection. - Actually, the push/popsections around the ELFNOTEs are redundant; ELFNOTE() does its own push/popsection to put things into the appropriate .note* section anyway. Signed-off-by: Mathieu Desnoyers Acked-by: Jeremy Fitzhardinge Cc: Chris Wright Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abd96ecb298675a21c412a29f5de2f80174d5f18 Author: Oleg Nesterov Date: Wed Aug 22 14:01:58 2007 -0700 exec: kill unsafe BUG_ON(sig->count) checks de_thread: if (atomic_read(&oldsighand->count) <= 1) BUG_ON(atomic_read(&sig->count) != 1); This is not safe without the rmb() in between. The results of two correctly ordered __exit_signal()->atomic_dec_and_test()'s could be seen out of order on our CPU. The same is true for the "thread_group_empty()" case, __unhash_process()'s changes could be seen before atomic_dec_and_test(&sig->count). On some platforms (including i386) atomic_read() doesn't provide even the compiler barrier, in that case these checks are simply racy. Remove these BUG_ON()'s. Alternatively, we can do something like BUG_ON( ({ smp_rmb(); atomic_read(&sig->count) != 1; }) ); Signed-off-by: Oleg Nesterov Acked-by: Paul E. McKenney Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c076fce2e217240b44bc753a5ec8ecd379c6eb9 Author: David Brownell Date: Wed Aug 22 14:01:57 2007 -0700 rtc-max6902 minor fixes Minor tweaks to rtc-max6902: make it hotplug correctly, and fix a few space-before-tab whitespace botches. This driver has no current in-tree users, so the hotplug fix changes the driver name. Signed-off-by: David Brownell Cc: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2f92ee7e704440995cf5474f4cc7b268bf380e0 Author: Christoph Lameter Date: Wed Aug 22 14:01:57 2007 -0700 SLUB: do not fail on broken memory configurations Print a big fat warning and do what is necessary to continue if a node is marked as up (meaning either node is online (upstream) or node has memory (Andrew's tree)) but allocations from the node do not succeed. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e86943b6c74f214ce0516d56e55636d52252e19 Author: Christoph Lameter Date: Wed Aug 22 14:01:56 2007 -0700 SLUB: use atomic_long_read for atomic_long variables SLUB is using atomic_read() for variables declared atomic_long_t. Switch to atomic_long_read(). Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe58103a56f05613cb1f0ef228354d4d5f6c2b08 Author: Miguel Ojeda Date: Wed Aug 22 14:01:56 2007 -0700 cfag12864b fix This one-liner patch fixes a bug in drivers/auxdisplay/cfag12864b.c At cfag12864b_init(), the driver tries to kalloc some memory in the variable cfag12864b_cache. Then, as usual, it checks if the call failed. However, it checks cfag12864b_buffer instead. This patch changes the "cfag12864b_buffer" to "cfag12864b_cache" so the correct variable is checked. Signed-off-by: Miguel Ojeda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa7985056286f5f912af7bb03f883230cc527701 Author: Olof Johansson Date: Wed Aug 22 14:01:55 2007 -0700 serial: add pci ids for PA Semi PWRficient onchip uarts Add PCI IDs for the onchip UARTs on PA Semi PWRficient. Signed-off-by: Olof Johansson Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1864f7bd58351732593def024e73eca1f75bc352 Author: Ian Kent Date: Wed Aug 22 14:01:54 2007 -0700 autofs4: deadlock during create Due to inconsistent locking in the VFS between calls to lookup and revalidate deadlock can occur in the automounter. The inconsistency is that the directory inode mutex is held for both lookup and revalidate calls when called via lookup_hash whereas it is held only for lookup during a path walk. Consequently, if the mutex is held during a call to revalidate autofs4 can't release the mutex to callback the daemon as it can't know whether it owns the mutex. This situation happens when a process tries to create a directory within an automount and a second process also tries to create the same directory between the lookup and the mkdir. Since the first process has dropped the mutex for the daemon callback, the second process takes it during revalidate leading to deadlock between the autofs daemon and the second process when the daemon tries to create the mount point directory. After spending quite a bit of time trying to resolve this on more than one occassion, using rather complex and ulgy approaches, it turns out that just delaying the hashing of the dentry until the create operation works fine. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4768ffd1d4b7b07ae2c4c3d93c9f99cd68e996c Author: Jeff Dike Date: Wed Aug 22 14:01:53 2007 -0700 uml: fix previous request size limit fix The previous patch which limited the number of sectors in a single request to a COWed device was correct in concept, but the limit was implemented in the wrong place. By putting it in ubd_add, it covered the cases where the COWing was specified on the command line. However, when the command line only has the COW file specified, the fact that it's a COW file isn't known until it's opened, so the limit is missed in these cases. This patch moves the sector limit from ubd_add to ubd_open_dev. Signed-off-by: Jeff Dike Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a88aa7865bc1d1d451af2d585ac0119164ce8e00 Author: NeilBrown Date: Wed Aug 22 14:01:53 2007 -0700 md: correctly update sysfs when a raid1 is reshaped When a raid1 array is reshaped (number of drives changed), the list of devices is compacted, so that slots for missing devices are filled with working devices from later slots. This requires the "rd%d" symlinks in sysfs to be updated. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 918f02383fb9ff5dba29709f3199189eeac55021 Author: NeilBrown Date: Wed Aug 22 14:01:52 2007 -0700 md: make sure a re-add after a restart honours bitmap when resyncing Commit 1757128438d41670ded8bc3bc735325cc07dc8f9 was slightly bad. If an array has a write-intent bitmap, and you remove a drive, then readd it, only the changed parts should be resynced. However after the above commit, this only works if the array has not been shut down and restarted. This is because it sets 'fullsync' at little more often than it should. This patch is more careful. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59d9445e851976d973a5a4009f80a3d55959d231 Author: Evgeniy Polyakov Date: Wed Aug 22 14:01:51 2007 -0700 w1: fix w1_remove_master_device() searching In case bus master driver provided bogus value as its private data, search can be incorrect. Problem found by Adrian Bunk. Signed-off-by: Evgeniy Polyakov Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a89182c76e54134081cfec6409df06731c5cb98f Author: Adam Litke Date: Wed Aug 22 14:01:51 2007 -0700 Fix VM_FAULT flags conversion for hugetlb It seems a simple mistake was made when converting follow_hugetlb_page() over to the VM_FAULT flags bitmasks (in "mm: fault feedback #2", commit 83c54070ee1a2d05c89793884bea1a03f2851ed4). By using the wrong bitmask, hugetlb_fault() failures are not being recognized. This results in an infinite loop whenever follow_hugetlb_page is involved in a failed fault. Signed-off-by: Adam Litke Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c63b7c74507c424afcc9c80ba77a55bfb0d07e Author: Paul Fulghum Date: Wed Aug 22 14:01:50 2007 -0700 synclink_gt fix module reference Get module reference on open() by generic HDLC to prevent module from unloading while interface is active. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1807a1aaf5f2a35ea6d4b527b28bc8889d255a2f Author: Siddha, Suresh B Date: Wed Aug 22 14:01:49 2007 -0700 slab: skip calling cache_free_alien() when the platform is not numa capable Skip calling cache_free_alien() when the platform is not numa capable. This will avoid cache misses that happen while accessing slabp (which is per page memory reference) to get nodeid. Instead use a global variable to skip the call, which is mostly likely to be present in the cache. This gives a 0.8% performance boost with the database oltp workload on a quad-core SMP platform and by any means the number is not small :) Signed-off-by: Suresh Siddha Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32d219854d31daba3407389ada1d454a4cd86fda Author: Mijo Safradin Date: Wed Aug 22 14:01:48 2007 -0700 IPMI: fix warning in ipmi_si_intf.c trivial change: fix warning Signed-off-by: Mijo Safradin Acked-by: Christian Krafft Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9ee228bdc82cff8ea1ec00fd952890e00679dd8 Author: Oleg Nesterov Date: Wed Aug 22 14:01:48 2007 -0700 signalfd: make it group-wide, fix posix-timers scheduling With this patch any thread can dequeue its own private signals via signalfd, even if it was created by another sub-thread. To do so, we pass "current" to dequeue_signal() if the caller is from the same thread group. This also fixes the scheduling of posix timers broken by the previous patch. If the caller doesn't belong to this thread group, we can't handle __SI_TIMER case properly anyway. Perhaps we should forbid the cross-process signalfd usage and convert ctx->tsk to ctx->sighand. Signed-off-by: Oleg Nesterov Cc: Benjamin Herrenschmidt Cc: Davide Libenzi Cc: Ingo Molnar Cc: Michael Kerrisk Cc: Roland McGrath Cc: Thomas Gleixner Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 834d216e1f804560bd1421c511ad168d7c24b01d Author: Oleg Nesterov Date: Wed Aug 22 14:01:42 2007 -0700 signalfd: fix interaction with posix-timers dequeue_signal: if (__SI_TIMER) { spin_unlock(&tsk->sighand->siglock); do_schedule_next_timer(info); spin_lock(&tsk->sighand->siglock); } Unless tsk == curent, this is absolutely unsafe: nothing prevents tsk from exiting. If signalfd was passed to another process, do_schedule_next_timer() is just wrong. Add yet another "tsk == current" check into dequeue_signal(). This patch fixes an oopsable bug, but breaks the scheduling of posix timers if the shared __SI_TIMER signal was fetched via signalfd attached to another sub-thread. Mostly fixed by the next patch. Signed-off-by: Oleg Nesterov Cc: Benjamin Herrenschmidt Cc: Davide Libenzi Cc: Ingo Molnar Cc: Michael Kerrisk Cc: Roland McGrath Cc: Thomas Gleixner Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d02479bdeb1c9b037892061cdcf4e730183391fa Author: Oleg Nesterov Date: Wed Aug 22 14:01:37 2007 -0700 posix-timers: fix creation race sys_timer_create() sets ->it_process and unlocks ->siglock, then checks tmr->it_sigev_notify to define if get_task_struct() is needed. We already passed ->it_id to the caller, another thread can delete this timer and free its memory in between. As a minimal fix, move this code under ->siglock, sys_timer_delete() takes it too before calling release_posix_timer(). A proper serialization would be to take ->it_lock, we add a partly initialized timer on posix_timers_id, not good. Signed-off-by: Oleg Nesterov Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 179394af7a2baa1d0a3cb1670075310d72247d38 Author: Thomas Gleixner Date: Wed Aug 22 14:01:37 2007 -0700 posix-timers: fix deletion race timer_delete does: lock_timer(); timer->it_process = NULL; unlock_timer(); release_posix_timer(); timer->it_process is checked in lock_timer() to prevent access to a timer, which is on the way to be deleted, but the check happens after idr_lock is dropped. This allows release_posix_timer() to delete the timer before the lock code can check the timer: CPU 0 CPU 1 lock_timer(); timer->it_process = NULL; unlock_timer(); lock_timer() spin_lock(idr_lock); timer = idr_find(); spin_lock(timer->lock); spin_unlock(idr_lock); release_posix_timer(); spin_lock(idr_lock); idr_remove(timer); spin_unlock(idr_lock); free_timer(timer); if (timer->......) Change the locking to prevent this. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 928923c76b393e38e5ba1d47e843e208ceef6cf9 Author: Geert Uytterhoeven Date: Wed Aug 22 14:01:36 2007 -0700 Introduce CONFIG_CHECK_SIGNATURE Introduce CONFIG_CHECK_SIGNATURE to control inclusion of check_signature() and avoid problems on platforms that don't have readb(). Let the few legacy (ISA || PCI || X86) drivers that need check_signature() select CONFIG_CHECK_SIGNATURE. Signed-off-by: Geert Uytterhoeven Cc: Jeff Dike Cc: Heiko Carstens Cc: Roman Zippel Cc: Alan Cox Cc: Martin Schwidefsky Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2301060e2b19aa4830060524ef66abdf32b26a26 Author: Geert Uytterhoeven Date: Wed Aug 22 14:01:35 2007 -0700 m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible drivers/char/keyboard.c: In function 'kbd_keycode': drivers/char/keyboard.c:1142: error: implicit declaration of function 'mac_hid_mouse_emulate_buttons' The forward declaration of mac_hid_mouse_emulate_buttons() is not visible on m68k because it's hidden in the middle of a big #ifdef block. Move it to , correct the type of the second parameter, and include where needed. Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a01086687c5f795a9c2b85d757e3af3cb7bb4f2d Author: Geert Uytterhoeven Date: Wed Aug 22 14:01:34 2007 -0700 zorro: Make sysfs config attribute read-only zorro: Make the sysfs `config' attribute read-only, as you cannot write to it (there's no .write function neither). Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90638f9975e34aef82e97146012ad9d16ac9e4c2 Author: Geert Uytterhoeven Date: Wed Aug 22 14:01:34 2007 -0700 m68k: Fix a few hickups in drivers/scsi/Kconfig m68k: Fix a few hickups in drivers/scsi/Kconfig Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe6d9daf567310aa4d7cfc07fc48fe35296ecf7b Author: Roman Zippel Date: Wed Aug 22 14:01:33 2007 -0700 m68k: Dont include RODATA into text segment Don't include RODATA into text segment as it includes the kallsyms data and can cause spurious link failures (layout differences can change the number of symbols in kallsyms, i.e. when a symbol is equal to _etext it's not included). Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5f442b2a90679f0b3bb562c01d0042d44ffd9fe Author: Alan Cox Date: Wed Aug 22 14:01:32 2007 -0700 m68k: Enable arbitary speed tty support Add the needed constants and defines to activate the existing code. Signed-off-by: Alan Cox Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42b359238ebd359ed443fd80023e58e47be2224a Author: Geert Uytterhoeven Date: Wed Aug 22 14:01:32 2007 -0700 m68k: Use _AC() instead of #ifdef __ASSEMBLY__ m68k: Use _AC() instead of #ifdef __ASSEMBLY__ hackery when needed, remove hackery when unused. Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d5e74fc7f44b1cdcd793496877c67a2a7a32a1e Author: Johannes Berg Date: Wed Aug 22 14:01:31 2007 -0700 remove dead code in via-pmu68k When suspend is ever implemented for pmu68k it really should follow the generic pm_ops concept and not mirror the platform-specific /dev/pmu device with ioctls on it. Hence, this patch removes the unused code there; should the implementers need it they can look at via-pmu.c and/or the history of the file. Signed-off-by: Johannes Berg Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4088af39cc052eeb6c4568a706c403ce151f5bd2 Author: Roman Zippel Date: Wed Aug 22 14:01:31 2007 -0700 m68k: Remove unnecessary m68k_memoffset export and init Remove an unnecessary m68k_memoffset export and initialization Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb425d0b93f7956abcd247a3b41b5487f748dad9 Author: Geert Uytterhoeven Date: Wed Aug 22 14:01:30 2007 -0700 m68k: Kill superfluous extern Kill a superfluous extern declaration Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f855897fe6acd98f10e939dea41130cec7b9c42 Author: Geert Uytterhoeven Date: Wed Aug 22 14:01:29 2007 -0700 m68k: needs m68k: needs because of __attribute_const__ Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34b4e4aa3c470ce8fa2bd78abb1741b4b58baad7 Author: Alan Cox Date: Wed Aug 22 14:01:28 2007 -0700 fix NULL pointer dereference in __vm_enough_memory() The new exec code inserts an accounted vma into an mm struct which is not current->mm. The existing memory check code has a hard coded assumption that this does not happen as does the security code. As the correct mm is known we pass the mm to the security method and the helper function. A new security test is added for the case where we need to pass the mm and the existing one is modified to pass current->mm to avoid the need to change large amounts of code. (Thanks to Tobias for fixing rejects and testing) Signed-off-by: Alan Cox Cc: WU Fengguang Cc: James Morris Cc: Tobias Diedrich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afe1ab4d577892822de2c8e803fbfaed6ec44ba3 Author: David Brownell Date: Wed Aug 22 14:01:27 2007 -0700 correct name for rtc-m41t80 The new rtc-m41t80 driver name doesn't match its module name, which prevents it from properly hotplugging. Since it's new, no platforms yet depend on that name ... so this patch fixes the driver name to match its module name, rather than going the other way around with a MODULE_ALIAS(). NOTE: This sort of bug is a new thing to watch out for with new-style I2C drivers; previously I2C couldn't hotplug. Signed-off-by: David Brownell Acked-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c661b078fd62abe06fd11fab4ac5e4eeafe26b6d Author: Andy Whitcroft Date: Wed Aug 22 14:01:26 2007 -0700 synchronous lumpy reclaim: wait for page writeback when directly reclaiming contiguous areas Lumpy reclaim works by selecting a lead page from the LRU list and then selecting pages for reclaim from the order-aligned area of pages. In the situation were all pages in that region are inactive and not referenced by any process over time, it works well. In the situation where there is even light load on the system, the pages may not free quickly. Out of a area of 1024 pages, maybe only 950 of them are freed when the allocation attempt occurs because lumpy reclaim returned early. This patch alters the behaviour of direct reclaim for large contiguous blocks. The first attempt to call shrink_page_list() is asynchronous but if it fails, the pages are submitted a second time and the calling process waits for the IO to complete. This may stall allocators waiting for contiguous memory but that should be expected behaviour for high-order users. It is preferable behaviour to potentially queueing unnecessary areas for IO. Note that kswapd will not stall in this fashion. [apw@shadowen.org: update to version 2] [apw@shadowen.org: update to version 3] Signed-off-by: Mel Gorman Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9187bdcbbc06090757d565a3077e1b0ecab23d2 Author: Andy Whitcroft Date: Wed Aug 22 14:01:25 2007 -0700 synchronous lumpy reclaim: ensure we count pages transitioning inactive via clear_active_flags As pointed out by Mel when reclaim is applied at higher orders a significant amount of IO may be started. As this takes finite time to drain reclaim will consider more areas than ultimatly needed to satisfy the request. This leads to more reclaim than strictly required and reduced success rates. I was able to confirm Mel's test results on systems locally. These show that even under light load the success rates drop off far more than expected. Testing with a modified version of his patch (which follows) I was able to allocate almost all of ZONE_MOVABLE with a near idle system. I ran 5 test passes sequentially following system boot (the system has 29 hugepages in ZONE_MOVABLE): 2.6.23-rc1 11 8 6 7 7 sync_lumpy 28 28 29 29 26 These show that although hugely better than the near 0% success normally expected we can only allocate about a 1/4 of the zone. Using synchronous reclaim for these allocations we get close to 100% as expected. I have also run our standard high order tests and these show no regressions in allocation success rates at rest, and some significant improvements under load. This patch: We are transitioning pages from active to inactive in clear_active_flags, those need counting as PGDEACTIVATE vm events. Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cd82ef1fb8909d6d414f36f291c2f67ca70e2be Author: Yoshinori Sato Date: Wed Aug 22 14:01:24 2007 -0700 h8300: missing include Build error fix. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efbee7f1c9f3cca8d7d2fe0e797d2c7cc970cccd Author: Michael Neuling Date: Thu Aug 23 09:31:42 2007 +1000 Documentation: fix getdelays.c printf bug Commit b663a79c191508f27cd885224b592a878c0ba0f6 ("taskstats: add context-switch counters") incorrectly removed a comma from a printf statement. This causes corruption in the output printing or a seg fault. Signed-off-by: Michael Neuling Acked-by: Balbir Singh Signed-off-by: Linus Torvalds commit 8b7f07155f8ee1536da2f9590f1aa9383afefb6b Author: Andrew Morton Date: Wed Aug 22 14:01:20 2007 -0700 free_irq(): fix DEBUG_SHIRQ handling If we're going to run the handler from free_irq() then we must do it with local irq's disabled. Otherwise lockdep complains that the handler is taking irq-safe spinlocks in a non-irq-safe fashion. Cc: Ingo Molnar Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 436bbd431d41e0fd3bfedb0312ab764b291ddf82 Author: Christian Schmidt Date: Wed Aug 22 14:01:19 2007 -0700 Add blacklisting capability to serial_pci to avoid misdetection of serial ports The serial_pci driver tries to guess serial ports on unknown devices based on the PCI class (modem or serial). On certain softmodems (AC'97 modems) this can lead to the recognition of non-existing serial ports. This patch adds a blacklist of PCI IDs that are to be ignored by the driver. [akpm@linux-foundation.org: cleanups] Signed-off-by: Christian Schmidt Cc: Bjorn Helgaas Cc: Russell King Cc: Yinghai Lu Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad4c2aa6354fad5316565b1cff57f80db0e04db8 Author: Corey Minyard Date: Wed Aug 22 14:01:18 2007 -0700 Serial 8250: handle saving the clear-on-read bits from the LSR and MSR Reading the LSR clears the break, parity, frame error, and overrun bits in the 8250 chip, but these are not being saved in all places that read the LSR. Same goes for the MSR delta bits. Save the LSR bits off whenever the lsr is read so they can be handled later in the receive routine. Save the MSR bits to be handled in the modem status routine. Also, clear the stored bits and clear the interrupt registers before enabling interrupts, to avoid handling old values of the stored bits in the interrupt routines. [akpm@linux-foundation.org: clean up pre-existing code] Signed-off-by: Corey Minyard Cc: Russell King Cc: Yinghai Lu Cc: Bjorn Helgaas Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 999999616e45c603da45ee2667741fb7348629a5 Author: Atsushi Nemoto Date: Wed Aug 22 14:01:15 2007 -0700 serial_txx9: Fix modem control line handling This chip does not have modem control lines. Return TIOCM_CAR and TIOCM_DSR always on get_mctrl() and ajust some bits in termios cflag. Signed-off-by: Atsushi Nemoto Cc: Ralf Baechle Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84f8c6fc0e3b6e48fd22c28fc3bb666a130b3994 Author: Niels de Vos Date: Wed Aug 22 14:01:14 2007 -0700 serial: add support for ITE 887x chips Add support for the it887x-chips (PCI) manufactured by ITE. Signed-off-by: Niels de Vos Cc: Russell King Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20620d688ac6ff8ea01a873e46febf5a6a7909f1 Author: David Woodhouse Date: Wed Aug 22 14:01:11 2007 -0700 serial: don't optimise away baud rate changes when BOTHER is used The uart_set_termios() function will bail out early without bothering to touch the hardware, if it decides that nothing "relevant" has changed. Unfortunately, its idea of "relevant" doesn't include c_[io]speed. So if the baud rate bits are BOTHER and you just change the speed, the change gets optimised away. This patch makes it ignore the old Bfoo bits in c_cflag and just check whether c_ispeed and c_ospeed have changed. Those integers are always set appropriately for us by set_termios(). Signed-off-by: David Woodhouse Acked-by: Alan Cox Cc: Russell King Cc: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 187226f57f1381cfc63216979b4375f30e593795 Author: john stultz Date: Wed Aug 22 14:01:10 2007 -0700 futex_unlock_pi() hurts my brain and may cause application deadlock Avoid futex_unlock_pi returning -EFAULT (which results in deadlock), by clearing uval before jumping to retry_locked. Signed-off-by: John Stultz Acked-by: Steven Rostedt Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42b88e6ad4014d290d6b59dfeb5d6949c5a3f346 Author: Lee Schermerhorn Date: Wed Aug 22 14:01:06 2007 -0700 Document Linux Memory Policy I couldn't find any memory policy documentation in the Documentation directory, so here is my attempt to document it. There's lots more that could be written about the internal design--including data structures, functions, etc. However, if you agree that this is better that the nothing that exists now, perhaps it could be merged. This will provide a baseline for updates to document the many policy patches that are currently being worked. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: Andi Kleen Cc: Michael Kerrisk Acked-by: Rob Landley Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88ae704c2aba150372e3d5c2f017c816773d09a7 Author: Adrian Bunk Date: Wed Aug 22 14:01:05 2007 -0700 kernel/auditsc.c: fix an off-by-one This patch fixes an off-by-one in a BUG_ON() spotted by the Coverity checker. Signed-off-by: Adrian Bunk Cc: Amy Griffis Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e81cc13a88ce486a6b0a6ca56aba6985824917a Author: Kent Yoder Date: Wed Aug 22 14:01:04 2007 -0700 tpmdd maintainers Fix up the maintainers info in the tpm drivers. Kylene will be out for some time, so copying the sourceforge list is the best way to get some attention. Cc: Marcel Selhorst Cc: Kylene Jo Hall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85770ffe4f0cdd4396b17f14762adc25a571a348 Author: Andy Whitcroft Date: Wed Aug 22 14:01:03 2007 -0700 sparsemem: ensure we initialise the node mapping for SPARSEMEM_STATIC Booting SPARSEMEM on NUMA systems trips a BUG in page_alloc.c: Initializing HighMem for node 0 (00038000:00100000) Initializing HighMem for node 1 (00100000:001ffe00) ------------[ cut here ]------------ kernel BUG at /home/apw/git/linux-2.6/mm/page_alloc.c:456! [...] This occurs because the section to node id mapping is not being setup correctly during init under SPARSEMEM_STATIC, leading to an attempt to free pages from all nodes into the zones on node 0. When the zone_table[] was removed in the following commit, a new section to node mapping table was introduced: commit 89689ae7f95995723fbcd5c116c47933a3bb8b13 [PATCH] Get rid of zone_table[] That conversion inadvertantly only initialised the node mapping in SPARSEMEM_EXTREME. Ensure we initialise the node mapping in SPARSEMEM_STATIC. [akpm@linux-foundation.org: make the stubs static inline] Signed-off-by: Andy Whitcroft Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df068464169a84a6a66c05d140f43a46d5eb6176 Author: Ryusuke Konishi Date: Wed Aug 22 14:01:02 2007 -0700 eCryptfs: fix lookup error for special files When ecryptfs_lookup() is called against special files, eCryptfs generates the following errors because it tries to treat them like regular eCryptfs files. Error opening lower file for lower_dentry [0xffff810233a6f150], lower_mnt [0xffff810235bb4c80], and flags [0x8000] Error opening lower_file to read header region Error attempting to read the [user.ecryptfs] xattr from the lower file; return value = [-95] Valid metadata not found in header region or xattr region; treating file as unencrypted For instance, the problem can be reproduced by the steps below. # mkdir /root/crypt /mnt/crypt # mount -t ecryptfs /root/crypt /mnt/crypt # mknod /mnt/crypt/c0 c 0 0 # umount /mnt/crypt # mount -t ecryptfs /root/crypt /mnt/crypt # ls -l /mnt/crypt This patch fixes it by adding a check similar to directories and symlinks. Signed-off-by: Ryusuke Konishi Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18166c1a50dc4f5b121ab2bd4fdf178404db9d99 Author: Jean Delvare Date: Sun Aug 19 12:03:07 2007 +0200 PCI: Run k8t_sound_hostbridge quirk only when needed The k8t_sound_hostbridge PCI quick fires on my motherboard (Jetway K8M8MS) while it shouldn't: the on-board sound chip is not disabled and is working just fine. Looking at the code, I see that we are running the quirk for two distinct register values (0x88 and 0xc8) and then clear bit 6 (0x40). However value 0x88 already has bit 6 cleared so this is a no-op. This is what happens on my board. Thus I believe that the quirk should only be run for register value 0xc8. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit f122392f679ebed39db08074f935d770504623eb Author: Tejun Heo Date: Tue Aug 21 14:33:01 2007 +0900 PCI: disable MSI on RX790 RX790 can't do MSI like its predecessors. Disable MSI on RX790. Signed-off-by: Tejun Heo Cc: stable Signed-off-by: Greg Kroah-Hartman commit aea6a433f50cd89b9cbd10850fd0b32f961f9883 Author: Tejun Heo Date: Sat Aug 18 03:03:10 2007 +0900 PCI: disable MSI on RD580 RD580 can't do MSI like its predecessors. Disable MSI on RD580. Signed-off-by: Tejun Heo CC: stable Signed-off-by: Greg Kroah-Hartman commit 4be8f906435a6af241821ab5b94b2b12cb7d57d8 Author: Tejun Heo Date: Thu Aug 16 14:34:42 2007 +0900 PCI: disable MSI on RS690 RS690 can't do MSI like its predecessors. Disable MSI on RS690. Signed-off-by: Tejun Heo Cc: Henry Su Cc: stable Signed-off-by: Greg Kroah-Hartman commit 2637e5b539f5f153f2124dbad087b5216bc68d6d Author: Brice Goglin Date: Tue Aug 14 12:43:48 2007 +0200 PCI: make pcie_get_readrq visible in pci.h [PATCH] PCI: make pcie_get_readrq visible in pci.h pcie_get_readrq() is EXPORT_SYMBOL'ed, but its prototype is not visible in pci.h, add it there. This is needed by some network drivers. Signed-off-by: Brice Goglin Acked-by: Peter Oruba Signed-off-by: Greg Kroah-Hartman commit d55bef515a01c85aa65c03c285ea8d285fcbab3b Author: Bernhard Kaindl Date: Mon Jul 30 20:35:13 2007 +0200 PCI: lets kill the 'PCI hidden behind bridge' message Adrian Bunk wrote: > Alois Nešpor wrote >> PCI: Bus #0b (-#0e) is hidden behind transparent bridge #0a (-#0b) (try 'pci=assign-busses') >> Please report the result to linux-kernel to fix this permanently" >> >> dmesg: >> "Yenta: Raising subordinate bus# of parent bus (#0a) from #0b to #0e" >> without pci=assign-busses and nothing with pci=assign-busses. > > Bernhard? Ok, lets kill the message. As Alois Nešpor also saw, that's fixed up by Yenta, so PCI does not have to warn about it. PCI could still warn about it if is_cardbus is 0 in that instance of pci_scan_bridge(), but so far I have not seen a report where this would have been the case so I think we can spare the kernel of that check (removes ~300 lines of asm) unless debugging is done. History: The whole check was added in the days before we had the fixup for this in Yenta and pci=assign-busses was the only way to get CardBus cards detected on many (not all) of the machines which give this warning. In theory, there could be cases when this warning would be triggered and it's not cardbus, then the warning should still apply, but I think this should only be the case when working on a completely broken PCI setup, but one may have already enabled the debug code in drivers/pci and the patched check would then trigger. I do not sign this off yet because it's completely untested so far, but everyone is free to test it (with the #ifdef DEBUG replaced by #if 1 and pr_debug( changed to printk(. We may also dump the whole check (remove everything within the #ifdef from the source) if that's perferred. On Alois Nešpor's machine this would then (only when debugging) this message: "PCI: Bus #0b (-#0e) is partially hidden behind transparent bridge #0a (-#0b)" "partially" should be in the message on his machine because #0b of #0b-#0e is reachable behind #0a-#0b, but not #0c-#0e. But that differentiation is now moot anyway because the fixup in Yenta takes care of it as far as I could see so far, which means that unless somebody is debugging a totally broken PCI setup, this message is not needed anymore, not even for debugging PCI. Ok, here the patch with the following changes: * Refined to say that the bus is only partially hidden when the parent bus numbers are not totally way off (outside of) the child bus range * remove the reference to pci=assign-busses and the plea to report it We could add a pure source code-only comment to keep a reference to pci=assign-busses the in case when this is triggered by someone who is debugging the cause of this message and looking the way to solve it. From: Bernhard Kaindl Cc: stable Signed-off-by: Greg Kroah-Hartman commit 60ac8f20feb0bba8caee63be3e7ca5801fe16d4c Author: Ingo Molnar Date: Tue Jul 24 11:16:37 2007 +0200 pci/hotplug/cpqphp_ctrl.c: remove stale BKL use remove stale BKL use from drivers/pci/hotplug/cpqphp_ctrl.c. Signed-off-by: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit 5ca24814247fa4c039b893bf80fc05d0e5d41b00 Author: Rolf Eike Beer Date: Thu Jul 19 17:48:44 2007 -0700 PCI: Document pci_iomap() This useful interface is hardly mentioned anywhere in the in-tree documentation. Signed-off-by: Rolf Eike Beer Cc: Tejun Heo Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4e68fc97b17470365a65bc569523dd9012730e44 Author: Marian Balakowicz Date: Tue Jul 3 11:03:18 2007 +0200 PCI: quirk_e100_interrupt() called too early quirk_e100_interrupts() is called after PCI controller is initialized and before PCI bus enumeration is performed. On some powerpc platforms which modify PCI controller configuration and set different MEM and IO windows than those set by firmware quirk_e100_interrupt() is causing kernel panic as it tries to read from device BAR0 offets which at this time points to a invalid PCI window (set by firmware). This patch delays the quirk_100_interrupt() to pci_fixup_final phase, which happens after bus enumeration and before PCI enable and device driver initialization. Signed-off-by: Marian Balakowicz Signed-off-by: Greg Kroah-Hartman commit ce5ccdef1090367f3024b4d5e7908bf6bd2929ae Author: Kumar Gala Date: Mon Jul 16 23:27:10 2007 -0500 PCI: Move prototypes for pci_bus_find_capability to include/linux/pci.h We need pci_bus_find_capability() in some arch/powerpc code so move the prototype into a header accessible to it. Also kill the duplicate prototype for pci_bus_alloc_resource(). Signed-off-by: Kumar Gala Signed-off-by: Greg Kroah-Hartman commit 5f1835da79df8607ecbd69f648b5b140b7a0b8ba Author: Alan Stern Date: Thu Aug 16 16:13:06 2007 -0400 sysfs: don't warn on removal of a nonexistent binary file This patch (as960) removes the error message and stack dump logged by sysfs_remove_bin_file() when someone tries to remove a nonexistent file. The warning doesn't seem to be needed, since none of the other file-, symlink-, or directory-removal routines in sysfs complain in a comparable way. Signed-off-by: Alan Stern Acked-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 4db29c17643a9968817f252405f495da4f147d55 Author: Qi Yong Date: Tue Jun 12 13:06:49 2007 +0800 HOWTO: latest lxr url address changed Hello, I've noticed that in Document/HOWTO the url address: http://sosdg.org/~coywolf/lxr/ has changed to http://users.sosdg.org/~qiyong/lxr/ from the website. -- qiyong Signed-off-by: Qi Yong Signed-off-by: Greg Kroah-Hartman commit dda8cc864a3c84c3574c8b9025c99d39700fbb43 Author: Minchan Kim Date: Thu Aug 2 10:05:12 2007 +0900 HOWTO: korean translation of Documentation/HOWTO This is a Documentation/HOWTO korean version of 2.6.23-rc1 The header is refered to a japanese's one. From: Minchan Kim Signed-off-by: Greg Kroah-Hartman commit 256e2fdf033f5c8b5093cd817d44cea3a11a4e6f Author: Alexey Dobriyan Date: Mon Aug 6 23:47:45 2007 +0400 Fix Off-by-one in /sys/module/*/refcnt sysfs internals were changed to not pin module in question. Signed-off-by: Alexey Dobriyan Acked-by: Kay Sievers Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 6cb52147b254373364a2fef5df8b4aa3739c8bb6 Author: Tejun Heo Date: Tue Jul 31 19:15:08 2007 +0900 sysfs: fix locking in sysfs_lookup() and sysfs_rename_dir() sd children list walking in sysfs_lookup() and sd renaming in sysfs_rename_dir() were left out during i_mutex -> sysfs_mutex conversion. Fix them. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit d65cc1b45e7d3a24c25fd3d730042e407d6d64ce Author: Kay Sievers Date: Tue Aug 21 13:41:08 2007 +0200 usb: add PRODUCT, TYPE to usb-interface events This fixes a regression for userspace programs that were relying on these events. Signed-off-by: Kay Sievers Cc: Andreas Jellinghaus Cc: stable Signed-off-by: Greg Kroah-Hartman commit 83fc8a151beda2d63e196a7ab2e12316c37a1e91 Author: Mike Pagano Date: Wed Aug 15 10:13:28 2007 -0400 USB: resubmission unusual_devs modification for Nikon D80 Upgrade the unusual_devs.h file to support the new 1.01 firmware for the Nikon D80. Signed-off-by: Mike Pagano Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit a78d702beed61956b26c1b6288da868946642317 Author: Paul Walmsley Date: Thu Aug 16 16:21:35 2007 -0700 usb quirks: Add Canon EOS 5D (PC Connection mode) to the autosuspend blacklist Recent versions of the Linux kernel auto-suspend attached USB devices. After this happens to the Canon EOS 5D camera, the camera's interrupt endpoints don't seem to wake back up correctly, causing further use with libgphoto2 to fail with a -114 "OS error in camera communication" error. A similar fix is probably necessary for this camera in PTP mode, which identifies as USB product id 0x3102, but we haven't tested this. As part of our testing process, we tried the USB_QUIRK_RESET_RESUME quirk also, it's not helpful in this case. Signed-off-by: Raj Kumar Signed-off-by: Paul Walmsley Signed-off-by: Greg Kroah-Hartman commit c907d3b09f7a50023b61ba6ec4e01ccaa543a7ae Author: Mike Nuss Date: Mon Aug 20 18:21:15 2007 -0700 USB: make EHCI initialize properly on PPC SOCs Correctly initialize the on-chip EHCI controller on the AMCC PPC440EPx. Fix "USB 0.0" initialization message, and properly put the controller into a known state before starting it. Add "FIXME" comment to the au1xxx bus glue which is doing the same wrong thing here. (Who maintains that, now that AMD sold off Alchemy?) Remove some false copyright attributions which were somehow placed in the au1xxx bus glue then copied into ppc-soc. Signed-off-by: Mike Nuss Signed-off-by: David Brownell Cc: K.Boge Cc: Jordan Crouse Signed-off-by: Stefan Roese Signed-off-by: Greg Kroah-Hartman commit 4c132e77242c130aea81c8fc64d59f573a26bf8d Author: Stanislaw Gruszka Date: Mon Aug 20 23:20:49 2007 +0200 UEAGLE: Remove sysfs files on error case Bugfix, remove sysfs files when modem fails to boot. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit 39d1f8c9fcb241c526efa5fff5869cad7beba98e Author: Li Yang Date: Fri Aug 17 08:36:44 2007 -0700 USB: fsl_usb2_udc: fix bug in processing setup requests Kim Liu found that in the original code certain class setup requests are wrongly recognized and processed as standard setup requests. For that reason gadget ether can't work in RNDIS mode with Windows host. The patch fixes the setup request processing code, and makes class requests correctly passed to gadget layer. Signed-off-by: Li Yang Signed-off-by: Kim Liu Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d1a94f080f5bdfe46c9fb4954ffe8ae9ec29e44a Author: Alan Stern Date: Fri Aug 17 10:58:16 2007 -0400 USB: g_file_storage: fix bug in DMA buffer handling This patch (as963) fixes a recently-introduced bug. The gadget conversion removing DMA-mapped buffer allocation did not remove quite enough code from the g_file_storage driver; DMA pointers were being set to 0. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 013d27f265de6934ad7fb48fb29ab0172a20ab40 Author: Alan Stern Date: Mon Aug 20 12:18:39 2007 -0400 USB: update last_busy field correctly This patch (as966) fixes a bug in the autosuspend code. The last_busy field should be updated whenever any event occurs, not just events that cause an autosuspend or an autoresume. This partially fixes Bugzilla #8892. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 85237f202d46d55c1bffe0c5b1aa3ddc0f1dce4d Author: Oliver Neukum Date: Tue Aug 21 07:10:42 2007 +0200 USB: fix DoS in pwc USB video driver the pwc driver has a disconnect method that waits for user space to close the device. This opens up an opportunity for a DoS attack, blocking the USB subsystem and making khubd's task busy wait in kernel space. This patch shifts freeing resources to close if an opened device is disconnected. Signed-off-by: Oliver Neukum CC: stable Signed-off-by: Greg Kroah-Hartman commit c39772d82ad453647ea4bf9d793010d86ef5e597 Author: Alan Stern Date: Mon Aug 20 10:45:28 2007 -0400 USB: allow retry on descriptor fetch errors This patch (as964) was suggested by Steffen Koepf. It makes usb_get_descriptor() retry on all errors other than ETIMEDOUT, instead of only on EPIPE. This helps with some devices. Signed-off-by: Alan Stern CC: stable Signed-off-by: Greg Kroah-Hartman commit 3b79cc26708bcc476d4e4bf3846032fa3a1eeb85 Author: Oliver Neukum Date: Thu Aug 16 16:06:06 2007 +0200 USB: unkill cxacru atm driver it seems like you overdid it a bit in your quest to clean up the use of urb->status. In this driver you read it the first thing, which means that you are in a race against URB completion you'll usually lose, returning -EINPROGRESS. This kills the driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 04cab1329336d4577d6638360c905e360934b425 Author: Christian Heim Date: Sun Aug 19 13:29:15 2007 +0200 USB: Adding support for HTC Smartphones to ipaq This patch enables support for HTC Smartphones. The original patch is at https://bugs.gentoo.org/show_bug.cgi?id=187522. Original author is Mike Doty . Signed-off-by: Christian Heim Signed-off-by: Greg Kroah-Hartman commit 53059f4d19eb2cd6cde1bbcb1b7201bec340a47b Author: Oliver Neukum Date: Sun Aug 19 17:14:34 2007 +0200 USB: another quirky device for the drive Jean reported. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 5f546c5835fc301694da6c8ae1467b19f4cfec24 Author: Oliver Neukum Date: Thu Aug 16 10:55:18 2007 +0200 USB: quirky mass storage device this device has been reported to break with autosuspend. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit bdd203a002681d7b2e133e485573f43d41e4cf69 Author: David Brownell Date: Fri Aug 17 22:19:59 2007 -0700 USB: ohci, fix oddball gcc warning Some versions of GCC recently grew annoying warnings about constants. This gets rid of that warning from the OHCI driver. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2f67cd5b1d5066d11761aebb0bf4b76bc253cc99 Author: Alan Stern Date: Thu Aug 16 16:16:00 2007 -0400 usb-storage: fix bugs in the disconnect pathway This patch (as961) fixes a couple of bugs in the disconnect pathway of usb-storage. The first problem, which apparently has been around for a while although nobody noticed it, shows up when an aborted command is still pending when a disconnect occurs. The SCSI error-handler will continue to wait in command_abort() until the us->notify completion is signalled. Thus quiesce_and_remove_host() needs to signal it. The second problem was introduced recently along with autosuspend support. Since usb_stor_scan_thread() now calls usb_autopm_put_interface() before exiting, we can't simply leave the scanning thread running after a disconnect; we must wait until the thread exits. This is solved by adding a new struct completion to the private data structure. Fortuitously, it allows the removal of the rather clunky mechanism used in the past to insure that all threads have finished before the module is unloaded. Signed-off-by: Alan Stern CC: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit fa0de2b614ca89d14d046e6756ba020fd386ff71 Author: M4rkusXXL Date: Fri Aug 10 14:53:32 2007 -0700 usb: typo in usb R8A66597 HCD config Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 46dede4690bbb23a2c9d60561e2e4fdc3e6bee61 Author: Alan Stern Date: Tue Aug 14 10:56:10 2007 -0400 USB: accept 1-byte Device Status replies, fixing some b0rken devices Some devices have a bug which causes them to send a 1-byte reply to Get-Device-Status requests instead of 2 bytes as required by the spec. This doesn't play well with autosuspend, since we look for a valid status reply to make sure the device is still present when it resumes. Without both bytes, we assume the device has been disconnected. Lack of the second byte shouldn't matter much, since the spec requires it always to be equal to 0. Hence this patch (as959) causes finish_port_resume() to accept a 1-byte reply as valid. Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f095137e799ddb6a7c2bf0e4c73cda193ab9df41 Author: Oliver Neukum Date: Tue Aug 14 18:48:08 2007 +0200 USB: blacklist Samsung ML-2010 printer Hi, this printer does not survive suspension. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a66639ab286250fe66b960c34ac91d0b2ee58a79 Author: Thomas Viehmann Date: Wed Jul 25 10:21:21 2007 +0200 usb-serial: fix oti6858.c segfault in termios handling The oti6858 usb serial driver should use kernel_termios_to_user_termios/ user_termios_to_kernel_termios to avoid segfaults because the kernel uses a structure differing from that of user space with a different size. Signed-off-by: Thomas Viehmann CC: stable Signed-off-by: Greg Kroah-Hartman commit 0bd307e1b950e0aca1dbbc2b76f542f9c96b9a95 Author: Alan Stern Date: Wed Aug 8 17:16:12 2007 -0400 USB: remove DEBUG definition from dummy_hcd This patch (as958) removes an unneeded and unwanted #define line from dummy_hcd. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1207cf84f289694ba7ba8eeaa346a0195b3de606 Author: Jesper Juhl Date: Thu Aug 9 23:02:36 2007 +0200 USB: Fix a memory leak in em28xx_usb_probe() If, in em28xx_usb_probe() the memory allocation dev->alt_max_pkt_size = kmalloc(32* dev->num_alt,GFP_KERNEL); fails, then we'll bail out and return -ENOMEM. The problem is that in that case we don't free the storage allocated to 'dev', thus causing a memory leak. This patch fixes the leak by freeing 'dev' before we return -ENOMEM. This fixes Coverity bug #647. Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit e48eb085aca2971a1249efbb68f33e9ebca1395e Author: Andy Green Date: Thu Aug 9 12:19:38 2007 -0700 USB: belkin_sa: avoid divide by zero error The belkin_sa module has a problem coping with a 0 return from tty_get_baud_rate() -- the subsequent BELKIN_SA_BAUD macro drivers/usb/serial/belkin_sa.h:#define BELKIN_SA_BAUD(b) (230400/b) performs a divide with it leading to the following divide error: usb 3-1: Belkin / Peracom / GoHubs USB Serial Adapter converter now attached to ttyUSB0 PM: Adding info for No Bus:usbdev3.3_ep81 PM: Adding info for No Bus:usbdev3.3_ep01 PM: Adding info for No Bus:usbdev3.3_ep82 divide error: 0000 [#1] SMP Modules linked in: vfat fat iwl3945 mac80211 cfg80211 belkin_sa usbserial usb_storage autofs4 vmnet(P) vmmon(P) aes nf_conntrack_netbios_ns ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack nfnetlink xt_tcpudp iptable_filter ip_tables x_tables cpufreq_ondemand acpi_cpufreq video output sbs button dock battery ac arc4 snd_hda_intel ecb blkcipher snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss sr_mod snd_mixer_oss rtc_cmos cdrom iTCO_wdt iTCO_vendor_support snd_pcm rtc_core snd_timer serio_raw b44 ssb rtc_lib parport ata_piix snd soundcore snd_page_alloc mii ata_generic sg ahci libata sd_mod scsi_mod ext3 jbd mbcache ehci_hcd ohci_hcd uhci_hcd CPU: 1 EIP: 0060:[] Tainted: P VLI EFLAGS: 00010246 (2.6.23-rc1 #1) EIP is at belkin_sa_set_termios+0x18e/0x5b9 [belkin_sa] eax: 00038400 ebx: 00000000 ecx: 00000000 edx: 00000000 esi: 00038400 edi: 00001cb2 ebp: de49adb0 esp: de49ad6c ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068 Process minicom (pid: 7306, ti=de49a000 task=eed6c3b0 task.ti=de49a000) Stack: d85c74f0 00000046 00000002 00000001 d85c74f0 d85c74f0 00000246 c887c658 00000001 00000cb0 00000001 00000084 00000000 d01b58c0 f6ba10e0 de49ade8 de49ae40 de49add0 f8e2526b d85c74b8 ca6e6dbc de49ae40 d85c746c eded72e8 Call Trace: [] show_trace_log_lvl+0x1a/0x2f [] show_stack_log_lvl+0x9b/0xa3 [] show_registers+0x1b8/0x289 [] die+0x113/0x246 [] do_trap+0x8a/0xa3 [] do_divide_error+0x85/0x8f [] error_code+0x72/0x78 [] serial_set_termios+0x86/0x8d [usbserial] [] set_termios+0x309/0x34c [] n_tty_ioctl+0x158/0x4ba [] tty_ioctl+0xc78/0xcd6 [] do_ioctl+0x50/0x67 [] vfs_ioctl+0x249/0x25c [] sys_ioctl+0x49/0x61 [] sysenter_past_esp+0x5f/0x99 ======================= Code: 85 c0 79 14 c7 44 24 04 67 1c dd f8 c7 04 24 d4 1e dd f8 e8 96 99 65 c7 8b 46 04 be 00 84 03 00 e8 47 11 77 c7 31 d2 89 c1 89 f0 f1 66 85 c0 89 c1 b8 01 00 00 00 0f 44 c8 8b 45 d8 85 db 8b EIP: [] belkin_sa_set_termios+0x18e/0x5b9 [belkin_sa] SS:ESP 0068:de49ad6c The small patch below should take care of this situation. Note that my kernel was tainted (vmware) but the problem will occur if tty_get_baud_rate() ever returns zero and should be taken care of. Signed-off-by: Andy Green Cc: William Greathouse Cc: Alan Cox Cc: stable Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c1f8ea7d350d46c68f9d5293c4101816170301bc Author: Søren Hauberg Date: Wed Aug 8 10:50:17 2007 +0200 USB: Support for the Evolution Scorpion robots The attached (mostly trivial) patches adds support for the Evolution Scorpion Robots. Evolution Robotics supplies a patch against 2.6.8 with their software. My patch is based on their work, so I don't know if I can sign it off, or if you need some Evolution people to do this (which might be hard). The patch adds device ID's for some robots which is trivial. From: Søren Hauberg Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Søren commit 8b2580e26565246cb196b5e9469b5aa5073d48ec Author: David Brownell Date: Tue Aug 7 21:16:05 2007 -0700 USB: quirks: multicard reader doesn't like autosuspend It appears that one reason the "iConnect"-labeled multi-card reader was on sale for only $5 is that it doesn't handle suspend/resume correctly. Other than that, it was a good deal for a highspeed MMC/SD bridge. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 71ee9a6c6c882c6293d7f2f96d2cd6d78beaf093 Author: Paul Mundt Date: Tue Aug 7 19:21:42 2007 +0900 usb: r8a66597-hcd: fix up error path. Currently when registration fails we're left with a stray reference to release_mem_region(), this leads to the following case: r8a66597_hcd r8a66597_hcd: irq 13, io base 0x18040000 drivers/usb/host/r8a66597-hcd.c: register access fail. r8a66597_hcd r8a66597_hcd: startup error -6 r8a66597_hcd r8a66597_hcd: USB bus 1 deregistered drivers/usb/host/r8a66597-hcd.c: Failed to add hcd Trying to free nonexistent resource <0000000018040000-0000000018040000> This fixes it up. Signed-off-by: Paul Mundt Signed-off-by: Greg Kroah-Hartman commit a3b53514bd89c77c6aaf80b0ea37249d79c3f3bd Author: Paul Mundt Date: Tue Aug 7 19:21:09 2007 +0900 usb: Enable hcd support on SH unconditionally. Previous boards were likely seeing USB_ARCH_HAS_HCD selected by way of PCMCIA or PCI, though none of those are required for hcd support on SH. Enable support unconditionally. Signed-off-by: Paul Mundt Signed-off-by: Greg Kroah-Hartman commit 96443218be7f61027c23772d048a1bf549dfb2d7 Author: Faidon Liambotis Date: Tue Aug 7 05:46:05 2007 +0300 USB: fix support for Dell Wireless Broadband (aka WWAN) Dell Wireless Broadband ExpressCards are rebrands of Novatel's cards. Add all of their known PCI IDs to date along with their mapping to the exact Novatel model to the Option driver which already claims to support them. Signed-off-by: Faidon Liambotis Signed-off-by: Greg Kroah-Hartman commit 5b570d43cea0f5a6aa5bec2da2a0f68b96a37346 Author: Gabriel C Date: Mon Jul 30 12:57:03 2007 +0200 USB: u132-hcd.c - Fix a warning when CONFIG_PM=n I noticed this warning with CONFING_PM=n ... drivers/usb/host/u132-hcd.c:1525: warning: 'port_power' defined but not used ... Signed-off-by: Gabriel Craciunescu Signed-off-by: Greg Kroah-Hartman commit 3aec6e26d7655eea07be8bbec4728447274ed43f Author: Robert P. J. Day Date: Mon Jul 30 06:38:31 2007 -0400 USB: Typo: "USB_SAFE_PADDED" -> "USB_SERIAL_SAFE_PADDED". Fix typo in safe_serial.c to match the actual CONFIG variable. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 88e45dbbababd29cd6c80a3e0b60a828676b3ba9 Author: Luis Lloret Date: Thu Jul 26 10:08:47 2007 -0400 USB: Stall control endpoint when file storage class request wValue != 0 This patch makes the File Storage Gadget stall the control endpoint when a MSC class request is made with wValue != 0. This change makes some MSC compliance test warnings disappear. Signed-off-by: Luis Lloret Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 468d13623b6c8d048abab71ed465fa8ad3bf8875 Author: Hermann Kneissel Date: Fri Aug 3 20:20:33 2007 +0200 USB: serial: garmin_gps: fixes package loss if used from gpsbabel This patch contains two fixes submitted by Ondrej Palkovsky: - the 'ACK' packet is sent after the transfer of the USB packet is completed, i.e. in the write_callback function. Because the close function sends the 'abort' command, a parameter is added that allows the caller of garmin_write_bulk to specify, if the 'ack' should be propagated to the serial link or dimissed. This fixes the problem with gpsbabel, it has sent several packets that were acknowledged before they were sent to the GPS and GpsBabel closed the device - thus effectively cancelled all outstanding requests in the queue. - removed the APP_RESP_SEEN and APP_REQ_SEEN flags and changed them into counters. It evades USB reset of the gps on every device close. Signed-off-by: Hermann Kneissel Signed-off-by: Greg Kroah-Hartman commit c8ba84a0c682068a55a5892d6e12e3f196fd792c Author: Maximilian Attems Date: Sat Aug 4 10:19:41 2007 +0200 USB: visor add ACER S10 palm device id modprobe visor vendor=0x502 product=0x1 is said to work, plus there are patch instructions for it. fixes http://bugs.debian.org/340547 see http://www.chinaitpower.com/A/2004-07-28/87909.html Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman commit 74da5d68a54d66667664fbe233ededab2376a070 Author: Alan Stern Date: Thu Aug 2 13:29:10 2007 -0400 USB: cdc-acm: fix sysfs attribute registration bug This patch (as950) fixes a bug in the cdc-acm driver. It doesn't keep track of which interface (control or data) the sysfs attributes get registered for, and as a result, during disconnect it will sometimes attempt to remove the attributes from the wrong interface. The left-over attributes can cause a crash later on, particularly if the driver module has been unloaded. Signed-off-by: Alan Stern Acked-by: Oliver Neukum Cc: stable Signed-off-by: Greg Kroah-Hartman commit 8c273033906f8e85d54cb6ae052050f109440171 Author: David Brownell Date: Wed Aug 1 12:45:36 2007 -0700 USB: px2xx_udc bugfix, missing check for gpio_pullup git commit b2bbb20b37d734443d1c279d0033a64f6095db54 added direct support for PXA GPIO D+ pullup as alternative to the older udc_command ops method. This was done by introduction of the pxa2xx_udc_mach_info member "gpio_pullup" which, if initialized, is now used in (almost) all places where udc_command used to be called. This patch fixes two places where checks for availability of D+ pullup control still only honor udc_command. Signed-off-by: Uli Luckas Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8b14cb9953c6b569327e9372718cff09a98f9589 Author: Zachary Amsden Date: Tue Aug 21 18:30:36 2007 -0700 Fix lazy mode vmalloc synchronization for paravirt Touching vmalloc memory in the middle of a lazy mode update can generate a kernel PDE update, which must be flushed immediately. The fix is to leave lazy mode when doing a vmalloc sync. Signed-off-by: Zachary Amsden Acked-by: Jeremy Fitzhardinge Signed-off-by: Linus Torvalds commit c51b9621796c31810fb66509ea1faee4597d9c03 Author: Heiko Carstens Date: Wed Aug 22 13:51:45 2007 +0200 [S390] Change atomic_read/set to inline functions with barrier semantics. After doing some tests this seems to be the best variant for s390 and should be correct as well. With gcc 4.2.1 we get the following kernel image sizes using the default configuration: atomic_t type volatile, atomic_read/set defines 5311824 bytes atomic_t type int, atomic_read/set defines 5270864 bytes atomic_t type int, atomic_read/set inline asm 5279056 bytes atomic_t type int, atomic_read/set inline barrier 5270864 bytes Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9c5f225f1a2c67c57ff5dfbe0589de20c5706a16 Author: David Wilder Date: Wed Aug 22 13:51:44 2007 +0200 [S390] kprobes: fix instruction length calculation Placing a kprobe on "bc" instruction (s390/s390x) can cause an oops. The instruction length is encoded into the first two bits of the s390 instruction. Kprobe is incorrectly computing the instruction length. The instruction length is used for determining what type of "fix-up" is needed for conditional branch instruction. The problem can bee seen by placing a kprobe on a "bc" instruction that will not branch. The results is that Kprobe incorrectly computes the new instruction pointer (psw.addr) after single stepping the instruction. The problem is corrected with this patch. Signed-off-by: David Wilder Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9b5a03e198c951225d0deb05f3107a4631791266 Author: Michael Holzheu Date: Wed Aug 22 13:51:43 2007 +0200 [S390] hypfs: inode corruption due to missing locking hypfs removes the whole hypfs directory tree and creates a new one, when a process triggers an update by writing to the "update" attribute. When removing and creating files, it is necessary to lock the inode of the parent directory where the files live. Currently hypfs does not lock the parent inode, which can lead to inode corruption. This patch: * Introduces correct locking * Fixes i_nlink reference counting for inodes, when creating directories * Adds info printk, when hypfs filesystem has been mounted Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit cee9e53f59fe1842a7d26fa1e76382fb6ed21048 Author: Christian Borntraeger Date: Wed Aug 22 13:51:42 2007 +0200 [S390] disassembler: fix b2 opcodes like srst, bsg, and others The instruction table for b2 opcodes was missing an opfrag value for the cpya instruction. All instructions specified after cpya were not considered by the disassembler. The fix is simple and obvious - add the opfrag field to the cpya instruction. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 8127a1f80a002d02a30909ddf6187faedf89e00a Author: Michael Holzheu Date: Wed Aug 22 13:51:41 2007 +0200 [S390] vmur: fix reference counting for vmur device structure When a vmur device is removed due to a detach of the device, currently the ur device structure is freed. Unfortunately it can happen, that there is still a user of the device structure, when the character device is open during the detach process. To fix this, reference counting for the vmur structure is introduced. In addition to that, the online, offline, probe and remove functions are serialized now using a global mutex. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 0a87c5cfc0bb0c1bdcc1cc9fd82e4a1711fac512 Author: Michael Holzheu Date: Wed Aug 22 13:51:40 2007 +0200 [S390] vmur: fix diag14 exceptions with addresses > 2GB. There are several s390 diagnose calls, which must be executed below the 2GB memory boundary. In order to enforce this, those diagnoses must be compiled into the kernel. Currently diag 14 can be called within the vmur kernel module from addresses above 2GB. This leads to specification exceptions. This patch moves diag10, diag14 and diag210 into the new diag.c file. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 37cd0a007f88f1d6269035bdb02b50f536cca8de Author: Klaus D. Wacker Date: Wed Aug 22 13:51:39 2007 +0200 [S390] qdio: Refresh buffer states for IQDIO Asynchronous output queue Hipersocket Multicast queue works asynchronously. When sending buffers, the buffer state change may happen delayed. The tasklet for checking changes in the outbound queue excluded IQDIO async queues from this process. This created either a hang situation when the queue ran full, or presented a hang situation a interface close time. The tasklet processing is changed to include IQDIO async queues when requesting buffer state refresh. Signed-off-by: Klaus D. Wacker Signed-off-by: Martin Schwidefsky commit f276730f8da0e8136d8491b6ef44fc719d450a1b Author: Klaus D. Wacker Date: Wed Aug 22 13:51:38 2007 +0200 [S390] qdio: fix EQBS handling on CCQ96 QDIO returned from EQBS instruction in any case after return code CCQ=96 was issued regardless whether buffer states for at least one buffer were extracted or not. This caused FCP devices to hang when running under z/VM and having QIOASSASIST=ON and having high I/O rates. In order to fix this qdio return code processing of EQBS instruction after CCQ=96 is changed that buffers are returned and if no buffers where extracted the instruction is repeated at once. Signed-off-by: Klaus D. Wacker Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 23eb68c569cdbaad1a88015be1d69c565cd3926a Author: Cornelia Huck Date: Wed Aug 22 13:51:37 2007 +0200 [S390] cio: change confusing message in cmf. cmf currently prints a message that more than 4096 channels are not allowed in basic mode - however, this can only be enforced if cmf was a module (which is no longer possible). It makes much more sense to not check the specified number of channels and just print a message if the block for basic mode could not be allocated (which may happen for any number of specified channels). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 3520c92283bb7ddd59daf90cfc1eb107dc9ab76c Author: Cornelia Huck Date: Wed Aug 22 13:51:36 2007 +0200 [S390] cio: dont forget to set last slot to NULL in ccw_uevent(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 671c7235ccd537f828986ef5a4071bf477541dc0 Author: Juha Yrjola Date: Wed Dec 6 17:13:49 2006 -0800 ARM: OMAP: Enable serial idling and wakeup features Enable serial idling and wakeup features Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren commit 1abc70fcd81b920dd7a1091ba8863dfe5463b130 Author: Juha Yrjola Date: Wed Dec 6 17:13:47 2006 -0800 ARM: OMAP2: Force APLLs always active The APLLs are most efficiently idled by hardware. Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren commit 666cd174c451c172dd115b9d94f150efe627b609 Author: Dirk Behme Date: Thu Jan 25 16:26:46 2007 -0800 ARM: OMAP: H3 workqueue fixes Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit eebdf7d7c478682756fd29d376223f350311f105 Author: David Brownell Date: Mon Apr 2 12:48:10 2007 -0700 ARM: OMAP: OSK led fixes Bugfixes for the OSK led support: - Fix Kconfig merge glitches: Mistral handles idle and timer leds just fine - Fix pm_suspend() runtime botch: can't sleep, so can't touch tps65010 leds Improvements: - Switch sense of Mistral idle led, so idle == off Probably the TPS65010 leds should be handled only by the "new led" API. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 4e63915cbe4525beb9c0281f8e22945d88acc9bc Author: David Brownell Date: Mon Apr 2 12:45:50 2007 -0700 ARM: OMAP: fix OMAP1 dmtimer build warning Remove the OMAP1 version of omap_dm_timer_get_fclk(), and its associated compile-time warning. It would only BUG() if called, while it's only called on OMAP2. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 5c5dccad31670faa716cbc9d8a6f918487f60a09 Author: Kevin Hilman Date: Wed May 16 08:52:05 2007 -0700 ARM: OMAP: Fix 32k timer unsupported one-shot mode Fix unsupported one-shot mode in set_mode hook. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit b58d134c7f9566c32a60b7163fe75d5ec247446d Author: Magnus Damm Date: Wed Aug 22 13:32:07 2007 +0900 sh: missing symbol fix for sh4-202 This patch adds a plat_irq_setup() symbol for sh4-202. Without this fix it is impossible to build a working kernel using the microdev_defconfig. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 22117ea4fef4ea1c7d97c4d68c02c96c268a511b Author: Andy Whitcroft Date: Tue Aug 21 21:23:39 2007 -0700 [IRDA] irda_nl_get_mode: always results in failure It seems an extraneous trailing ';' has slipped in to the error handling for a name registration failure causing the error path to trigger unconditionally. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 06c7af563d925d04961ce70cd9154fad8e2750c8 Author: Konstantin Sharlaimov Date: Tue Aug 21 00:12:44 2007 -0700 [PPP]: Fix output buffer size in ppp_decompress_frame(). This patch addresses the issue with "osize too small" errors in mppe encryption. The patch fixes the issue with wrong output buffer size being passed to ppp decompression routine. -------------------- As pointed out by Suresh Mahalingam, the issue addressed by ppp-fix-osize-too-small-errors-when-decoding patch is not fully resolved yet. The size of allocated output buffer is correct, however it size passed to ppp->rcomp->decompress in ppp_generic.c if wrong. The patch fixes that. -------------------- Signed-off-by: Konstantin Sharlaimov Signed-off-by: David S. Miller commit 2c20d72aaadd41fdf0a3b6cb8514c2f7b7d263e4 Author: Jesper Juhl Date: Tue Aug 21 00:10:50 2007 -0700 [IRDA]: Avoid a label defined but not used warning in irda_init() Easily avoidable compiler warnings bug me. Building irmod without CONFIG_SYSCTL currently results in : net/irda/irmod.c:132: warning: label 'out_err_2' defined but not used But that can easily be avoided by simply moving the label inside the existing "#ifdef CONFIG_SYSCTL" one line above it. This patch moves the label and buys us one less warning with no ill effects. Signed-off-by: Jesper Juhl Signed-off-by: David S. Miller commit 8984e41d18a545320201950b8721e7ce3ac2a5e7 Author: Wei Yongjun Date: Tue Aug 21 20:59:08 2007 -0700 [IPV6]: Fix kernel panic while send SCTP data with IP fragments If ICMP6 message with "Packet Too Big" is received after send SCTP DATA, kernel panic will occur when SCTP DATA is send again. This is because of a bad dest address when call to skb_copy_bits(). The messages sequence is like this: Endpoint A Endpoint B <------- SCTP DATA (size=1432) ICMP6 message -------> (Packet Too Big pmtu=1280) <------- Resend SCTP DATA (size=1432) ------------kernel panic--------------- printing eip: c05be62a *pde = 00000000 Oops: 0002 [#1] SMP Modules linked in: scomm l2cap bluetooth ipv6 dm_mirror dm_mod video output sbs battery lp floppy sg i2c_piix4 i2c_core pcnet32 mii button ac parport_pc parport ide_cd cdrom serio_raw mptspi mptscsih mptbase scsi_transport_spi sd_mod scsi_mod ext3 jbd ehci_hcd ohci_hcd uhci_hcd CPU: 0 EIP: 0060:[] Not tainted VLI EFLAGS: 00010282 (2.6.23-rc2 #1) EIP is at skb_copy_bits+0x4f/0x1ef eax: 000004d0 ebx: ce12a980 ecx: 00000134 edx: cfd5a880 esi: c8246858 edi: 00000000 ebp: c0759b14 esp: c0759adc ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068 Process swapper (pid: 0, ti=c0759000 task=c06d0340 task.ti=c0713000) Stack: c0759b88 c0405867 ce12a980 c8bff838 c789c084 00000000 00000028 cfd5a880 d09f1890 000005dc 0000007b ce12a980 cfd5a880 c8bff838 c0759b88 d09bc521 000004d0 fffff96c 00000200 00000100 c0759b50 cfd5a880 00000246 c0759bd4 Call Trace: [] show_trace_log_lvl+0x1a/0x2f [] show_stack_log_lvl+0x9b/0xa3 [] show_registers+0x1b8/0x289 [] die+0x113/0x246 [] do_page_fault+0x4ad/0x57e [] error_code+0x72/0x78 [] ip6_output+0x8e5/0xab2 [ipv6] [] ip6_xmit+0x2ea/0x3a3 [ipv6] [] sctp_v6_xmit+0x248/0x253 [sctp] [] sctp_packet_transmit+0x53f/0x5ae [sctp] [] sctp_outq_flush+0x555/0x587 [sctp] [] sctp_retransmit+0xf8/0x10f [sctp] [] sctp_icmp_frag_needed+0x57/0x5b [sctp] [] sctp_v6_err+0xcd/0x148 [sctp] [] icmpv6_notify+0xe6/0x167 [ipv6] [] icmpv6_rcv+0x7d7/0x849 [ipv6] [] ip6_input+0x1dc/0x310 [ipv6] [] ipv6_rcv+0x294/0x2df [ipv6] [] netif_receive_skb+0x2d2/0x335 [] process_backlog+0x7f/0xd0 [] net_rx_action+0x96/0x17e [] __do_softirq+0x64/0xcd [] do_softirq+0x5c/0xac ======================= Code: 00 00 29 ca 89 d0 2b 45 e0 89 55 ec 85 c0 7e 35 39 45 08 8b 55 e4 0f 4e 45 08 8b 75 e0 8b 7d dc 89 c1 c1 e9 02 03 b2 a0 00 00 00 a5 89 c1 83 e1 03 74 02 f3 a4 29 45 08 0f 84 7b 01 00 00 01 EIP: [] skb_copy_bits+0x4f/0x1ef SS:ESP 0068:c0759adc Kernel panic - not syncing: Fatal exception in interrupt Arnaldo says: ==================== Thanks! I'm to blame for this one, problem was introduced in: b0e380b1d8a8e0aca215df97702f99815f05c094 @@ -761,7 +762,7 @@ slow_path: /* * Copy a block of the IP datagram. */ - if (skb_copy_bits(skb, ptr, frag->h.raw, len)) + if (skb_copy_bits(skb, ptr, skb_transport_header(skb), len)) BUG(); left -= len; ==================== Signed-off-by: Wei Yongjun Acked-by: YOSHIFUJI Hideaki Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d92a7db710c32db826a00ba9bc7a22e741d5041e Author: Herbert Xu Date: Tue Aug 21 00:06:37 2007 -0700 [SNAP]: Check packet length before reading The snap_rcv code reads 5 bytes so we should make sure that we have 5 bytes in the head before proceeding. Based on diagnosis and fix by Evgeniy Polyakov, reported by Alan J. Wylie. Patch also kills the skb->sk assignment before kfree_skb since it's redundant. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 39dad26c37fdb1382e4173172a2704fa278f7fd6 Author: Gerrit Renker Date: Sun Aug 19 17:12:50 2007 -0700 [DCCP]: Allocation in atomic context This fixes the following bug reported in syslog: [ 4039.051658] BUG: sleeping function called from invalid context at /usr/src/davem-2.6/mm/slab.c:3032 [ 4039.051668] in_atomic():1, irqs_disabled():0 [ 4039.051670] INFO: lockdep is turned off. [ 4039.051674] [] show_trace_log_lvl+0x1a/0x30 [ 4039.051687] [] show_trace+0x12/0x14 [ 4039.051691] [] dump_stack+0x16/0x18 [ 4039.051695] [] __might_sleep+0xaf/0xbe [ 4039.051700] [] __kmalloc+0xb1/0xd0 [ 4039.051706] [] ccid2_hc_tx_alloc_seq+0x35/0xc3 [dccp_ccid2] [ 4039.051717] [] ccid2_hc_tx_packet_sent+0x27f/0x2d9 [dccp_ccid2] [ 4039.051723] [] dccp_write_xmit+0x1eb/0x338 [dccp] [ 4039.051741] [] dccp_sendmsg+0x113/0x18f [dccp] [ 4039.051750] [] inet_sendmsg+0x2e/0x4c [ 4039.051758] [] sock_aio_write+0xd5/0x107 [ 4039.051766] [] do_sync_write+0xcd/0x11c [ 4039.051772] [] vfs_write+0x118/0x11f [ 4039.051840] [] sys_write+0x3d/0x64 [ 4039.051845] [] syscall_call+0x7/0xb [ 4039.051848] ======================= The problem was that GFP_KERNEL was used; fixed by using gfp_any(). Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cb00e99c0abd844b884c64c6b54aa3b7d345ebb1 Author: Robin Getz Date: Tue Aug 21 23:14:58 2007 -0400 fix - ensure we don't use bootconsoles after init has been released Gerd Hoffmann pointed out that my patch from yesterday can lead to a null pointer dereference if the kernel is booted with no console, and no earlyprintk defined. This fixes that issue. Signed-off-by: Robin Getz Signed-off-by: Linus Torvalds commit 15f6ddc7d9cf96f2ee88897c7164198ed6e45a77 Author: Kumar Gala Date: Tue Aug 21 19:15:31 2007 -0500 [POWERPC] Fix PCI Device ID for MPC8544/8533 processors The initial user manuals for MPC8544/8533 had some issues with properly documenting the device IDs for MPC8544/8533. These processors are almost identical and both show up on the reference boards. Fix up the quirks for PCIe support to handle MPC8533/E. Signed-off-by: Kumar Gala commit f350339cbd0e8ed7751f98f0ef60cb3a0d410eda Author: Stephen Hemminger Date: Tue Aug 21 11:10:22 2007 -0700 sky2: don't clear phy power bits There are special PHY settings available on Yukon EC-U chip that should not get cleared. This should solve mysterious errors on some motherboards (like Gigabyte DS-3). Signed-off-by: Stephen Hemminger Signed-off-by: Linus Torvalds commit d6c59c13c070cb9d043edf38b4639fdacdb0c18c Author: Martin Bachem Date: Tue Aug 21 14:26:21 2007 +0200 hisax: update hfc_usb driver This fixes handling of USB ISO completion error -EXDEV and includes several other changes to current CVS version at isdn4linux.de (changes in debug flags, style of code remarks, etc) Signed-off-by: Martin Bachem Acked-by: Karsten Keil Signed-off-by: Linus Torvalds commit 36ce1514117b92b7372e1b041ccc686855454d33 Author: Andi Kleen Date: Tue Aug 21 14:42:40 2007 +0200 i386: Mark NUMA support experimental I did some testing and found quite a lot of problems (doesn't boot at all on non NUMA and misassigns cores on Opteron systems). Mark it as experimental and warn against its use for now. It's still default y for SUMMIT/NUMAQ because it'll presumably work on these systems. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit da2f5f7bf4a39f9613fc04d7030cffb63e435e1d Author: Paul Mundt Date: Tue Aug 21 16:56:56 2007 +0900 sh: Fix DSP opcode regression for SH3-DSP parts. Older versions of binutils do not support -Wa,-isa= tuning, which is something we rely on for enabling DSP opcode support on the newer parts. SH3-DSP parts can still be handled with -Wa,-dsp even if the newer parts require the newer versions of binutils for supporting the new opcodes. This was broken in -rc1 when the SH4AL-DSP support was being reworked, and is needed to get SH3-DSP working with older toolchains again. Reported-by: Markus Brunner Signed-off-by: Paul Mundt commit efb896300cc9215f60bb4f7f77f93541ab9f1713 Author: David S. Miller Date: Mon Aug 20 15:52:18 2007 -0700 [SPARC32]: Revert f642b263800e6e57c377d630be6d2a999683b579. This causes boot failures for some people. It looks like in fact that some SILO provided ramdisk images should not be KERNBASE normalized. Signed-off-by: David S. Miller commit 195f7fd0a7e2b3179d52aa8ed6de3637203946c6 Author: David S. Miller Date: Sat Aug 18 00:07:40 2007 -0700 [SPARC64]: Need to clobber global reg vars in switch_to(). Otherwise the compiler can't see the things like the per-cpu area base register are changing. Signed-off-by: David S. Miller commit 8eb891fc809b2300137bcd247025628c06c95a63 Author: Linus Torvalds Date: Mon Aug 20 23:38:44 2007 -0700 Revert "USB: EHCI cpufreq fix" This reverts commit 196705c9bbc03540429b0f7cf9ee35c2f928a534. It was reported to cause a regression by Daniel Exner, and Arjan van de Ven points out that we actually already have infrastructure in place for setting limits on acceptable DMA latency that would be the much more correct fix for the problem with some Broadcom EHCI controllers. Fixed up trivial conflicts due to the changes to support big-endian host controller descriptors in drivers/usb/host/{ehci-sched.c,ehci.h}. Signed-off-by: Linus Torvalds commit 848c4dd5153c7a0de55470ce99a8e13a63b4703f Author: Zach Brown Date: Mon Aug 20 17:12:01 2007 -0700 dio: zero struct dio with kzalloc instead of manually This patch uses kzalloc to zero all of struct dio rather than manually trying to track which fields we rely on being zero. It passed aio+dio stress testing and some bug regression testing on ext3. This patch was introduced by Linus in the conversation that lead up to Badari's minimal fix to manually zero .map_bh.b_state in commit: 6a648fa72161d1f6468dabd96c5d3c0db04f598a It makes the code a bit smaller. Maybe a couple fewer cachelines to load, if we're lucky: text data bss dec hex filename 3285925 568506 1304616 5159047 4eb887 vmlinux 3285797 568506 1304616 5158919 4eb807 vmlinux.patched I was unable to measure a stable difference in the number of cpu cycles spent in blockdev_direct_IO() when pushing aio+dio 256K reads at ~340MB/s. So the resulting intent of the patch isn't a performance gain but to avoid exposing ourselves to the risk of finding another field like .map_bh.b_state where we rely on zeroing but don't enforce it in the code. Signed-off-by: Zach Brown Signed-off-by: Linus Torvalds commit b5748643332bf75274e0b639926d57e86fb133cf Author: David Woodhouse Date: Mon Aug 20 11:05:29 2007 +0100 JFFS2 locking regression fix. Commit a491486a2087ac3dfc00efb4f838c8d684afaf54 introduced a locking problem in JFFS2 -- we up() the alloc_sem when we weren't previously holding it. This leads to all kinds of fun behaviour later. There was a _reason_ for the if (1 /* alternative path needs testing */ || which the above-mentioned commit removed :) Discovered and debugged by Giulio Fedel Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 0c5564bd91ad237212871d52deaf79ffe06bcc64 Author: Robin Getz Date: Mon Aug 20 15:22:47 2007 -0400 ensure we don't use bootconsoles after init has been released This is a followup to the cleanups for earlyprintk patch from Gerd Hoffmann http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69331af79cf29e26d1231152a172a1a10c2df511 This ensures that a bootconsole is unregistered if it is not replaced. The current implementation spews garbage out the bootconsole in this case, since the bootconsole structure is normally in the init section, and is freed, but still used. Signed-off-by: Robin Getz Acked-by: Gerd Hoffmann Acked-by: Paul Mundt Cc: Mike Frysinger Signed-off-by: Linus Torvalds commit 61ec7567db103d537329b0db9a887db570431ff4 Author: Len Brown Date: Thu Aug 16 03:34:22 2007 -0400 ACPI: boot correctly with "nosmp" or "maxcpus=0" In MPS mode, "nosmp" and "maxcpus=0" boot a UP kernel with IOAPIC disabled. However, in ACPI mode, these parameters didn't completely disable the IO APIC initialization code and boot failed. init/main.c: Disable the IO_APIC if "nosmp" or "maxcpus=0" undefine disable_ioapic_setup() when it doesn't apply. i386: delete ioapic_setup(), it was a duplicate of parse_noapic() delete undefinition of disable_ioapic_setup() x86_64: rename disable_ioapic_setup() to parse_noapic() to match i386 define disable_ioapic_setup() in header to match i386 http://bugzilla.kernel.org/show_bug.cgi?id=1641 Acked-by: Andi Kleen Signed-off-by: Len Brown commit 8c99fdce30787b0d1fc00b907d4cd55a714e4cdd Author: Len Brown Date: Mon Aug 20 18:46:50 2007 -0400 ACPI: thermal: set "thermal.nocrt" via DMI on Gigabyte GA-7ZX This system BIOS sets a critical temperature to 65C, which is too low. https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=155496 Signed-off-by: Len Brown commit b0244a00451c1ad64bf0a51f50679f7146786780 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:57 2007 +0200 ide-disk: workaround for buggy HPA support on ST340823A (take 3) This disk reports total number of sectors instead of maximum sector address in response to READ_NATIVE_MAX_ADDRESS command and also happily accepts SET_MAX_ADDRESS command with the bogus value. This results in +1 sector capacity being used and errors on attempts to use the last sector. ... hdd: Host Protected Area detected.         current capacity is 78165360 sectors (40020 MB)         native  capacity is 78165361 sectors (40020 MB) hdd: Host Protected Area disabled. ... hdd: reading: block=78165360, sectors=1, buffer=0xc1e63000 hdd: dma_intr: status=0x51 { DriveReady SeekComplete Error } hdd: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=78165360, sector=78165360 ... Add hpa_list[] table and workaround the issue in idedisk_check_hpa(). v2: * Add missing export and improve patch description a bit. v3: * Add list termination. (From Mikko) Fixes kernel bugzilla bug #8816. Thanks to Mikko for investigating the issue and helping with this patch. Cc: Mikko Rapeli Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 76e1faa7cfd464fa06a9c2cafd633d643daafeae Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:57 2007 +0200 hpt34x: fix CONFIG_HPT34X_AUTODMA=n handling Programming DMA mode may destroy current PIO mode setting so if CONFIG_HPT34X_AUTODMA=n (the default case) make ide_tune_dma() fail early by disabling all host DMA masks and re-tune PIO mode. This fix doesn't help with the driver being broken but is needed for some other changes. Signed-off-by: Bartlomiej Zolnierkiewicz commit 88b47040f8365ad56ecfd4103e964ba9b695987e Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:56 2007 +0200 triflex: add missing ->dma_base check If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e98d6e50be87c1ad2df81f73c7442cf631d6f931 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:56 2007 +0200 pdc202xx_old: add missing ->dma_base check If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 01cc643ae3c7de35b63989b7b65e3ef3132e48e4 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:56 2007 +0200 pdc202xx_new: add missing ->dma_base check If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Also this host driver requires valid PCI BAR4 for normal operation so check it in ->init_chipset and fail initialization if not set. Signed-off-by: Bartlomiej Zolnierkiewicz commit f7b0d2df2f6fd9abdf47b4a1965dcaa2870e35df Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:56 2007 +0200 cs5530: add missing ->dma_base check If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Also this host driver requires valid PCI BAR4 for normal operation so check it in ->init_chipset and fail initialization if not set. Signed-off-by: Bartlomiej Zolnierkiewicz commit adcd33d41bfea8fb6870cf1f7e7ed2e5f7323fc1 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:56 2007 +0200 ide: ide_config_drive_speed() bugfixes * Use ->OUTBSYNC instead of ->OUTB when writing command register (needed for scc_pata and pmac host drivers). * Don't check DRDY bit of the status register on ATAPI devices (ATAPI devices are free to ignore DRDY bit). Cc: Benjamin Herrenschmidt Cc: Kou Ishizaki Cc: Akira Iguchi Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a5b7e70d787f528386eda025d3e38f545017f241 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:56 2007 +0200 ide: add cable detection for early UDMA66 devices (take 3) * Move ide_in_drive_list() from ide-dma.c to ide-iops.c. * Add ivb_list[] table for listening early UDMA66 devices which don't conform to ATA4 standard wrt cable detection (bit14 is zero, only bit13 is valid) and use only device side cable detection for them since host side cable detection may be unreliable. * Add model "QUANTUM FIREBALLlct10 05" with firwmare "A03.0900" to the list (from Craig's bugreport). v2: * Improve kernel message basing on suggestion from Sergei. v3: * Don't print kernel message when no device side cable detection is done, plus some minor fixes. (Noticed by Sergei) Thanks to Craig for testing this patch. Cc: Craig Block Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 59785c8fe23ca2f432bc41ef473a8933ab435812 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:55 2007 +0200 ide-pmac: fix drive->init_speed reporting pmac_ide_tune_chipset() don't set drive->init_speed. Fix it by setting drive->{current,init}_speed in pmac_ide_do_setfeature() and clean up pmac_ide_{tune_chipset,mdma_enable,udma_enable}(). Acked-by: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 1116fae5fdfa80c6744a9b5d75fb3ef687a69b19 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:55 2007 +0200 ide: config_drive_for_dma() fixes * Add DMA blacklist checking (->ide_dma_on check probably can go now). * Add ->atapi_dma flag checking and remove no longer needed ns87415_ide_dma_check() from ns87415 host driver. * Remove now needless __ide_dma_check() wrapper and symbol export. * Check drive->autodma instead of hwif->autodma (there should be no changes in behavior as all users of config_drive_for_dma() set both ->autodma flags). Signed-off-by: Bartlomiej Zolnierkiewicz commit 8292e8c7e4c2b99f22120f677858487de43c484b Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:54 2007 +0200 ide-cris: fix ->set_pio_mode method to set transfer mode on the device Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2195dadf853bb32262bd2e5a64f517ae45698c55 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 20 22:42:54 2007 +0200 ide: fix hidden dependencies on CONFIG_IDE_GENERIC Some host drivers depend on CONFIG_IDE_GENERIC to do the probing but their config options lack explicit dependencies on IDE_GENERIC. In the long-term these host drivers should be fixed to do the probing themselves but for now fix them by making their config options select CONFIG_IDE_GENERIC. Signed-off-by: Bartlomiej Zolnierkiewicz commit 82a0e70e795ee605e1a34a874dd3a3a43b745fb9 Author: Tejun Heo Date: Mon Aug 20 22:42:53 2007 +0200 ide: make CONFIG_IDE_GENERIC default to N These days, CONFIG_IDE_GENERIC causes more confusion and misconfiguration than it helps. Especially so because libata is linked after the generic driver. Default to N. Signed-off-by: Tejun Heo Acked-by: Jeff Garzik Cc: "P.C.Chan" Signed-off-by: Bartlomiej Zolnierkiewicz commit 70cd685d4b161c9137020ba7ec551cb343cd6fbf Author: Marcelo Tosatti Date: Fri Aug 17 01:03:22 2007 -0300 V4L/DVB (6028): Turn an unnecessary mdelay() into msleep(). Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 6d77444aca298b43a88086be446f943cd0442ef7 Author: Jonathan Corbet Date: Fri Aug 17 01:02:33 2007 -0300 V4L/DVB (6027): Get rid of an ill-behaved msleep in i2c write Configuring the OLPC camera requires something over 150 register writes. Unfortunately, querying the CAFE i2c controller too soon after a write causes the hardware to flake. The problem had been "solved" with an msleep() call, but, between the number of registers and how msleep() behaves, that resulted in a 3-second delay on camera initialization. Instead, we hand-code a wait for the completion interrupt which avoids reading the status registers. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 01659f2a0067d855089811529fa596cbc40f1e75 Author: Chris Ball Date: Fri Aug 17 01:01:33 2007 -0300 V4L/DVB (6026): Avoid powering up the camera on resume Signed-off-by: Chris Ball Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit c545d6adbcacd296f7457bd992556feb055379de Author: Andreas Arens Date: Wed Aug 15 17:37:16 2007 -0300 V4L/DVB (6016): get_dvb_firmware: update script for new location of tda10046 firmware Update get_dvb_firmware script for the new location of the tda10046 firmware. The old location doesn't work anymore. Signed-off-by: Andreas Arens Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0d84a62b38bab2e15ddc44ea6dcd8ce49199b299 Author: Trent Piepho Date: Fri Aug 17 18:36:44 2007 -0300 V4L/DVB (5991): dvb-pll: Set minimum and maximum frequency properly The tuner maximum frequency wasn't being set, while the minimum frequency was set to what the maximum should have been. If a future patch were to enforce these limits, dvb-pll would be effectively broken. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit de23084a85f6f5030e6760f6e494a9f2a19013d4 Author: Hans Verkuil Date: Fri Aug 3 09:33:38 2007 -0300 V4L/DVB (5969): ivtv: report ivtv version in status log Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c3624f99a8c06cfe75e0b06f23a7f7cea9d2d5ff Author: Hans Verkuil Date: Tue Jul 31 07:15:56 2007 -0300 V4L/DVB (5967): ivtv: fix VIDIOC_S_FBUF:new OSD values where never set ivtv: fix VIDIOC_S_FBUF support: new OSD values where never actually set. The values set with VIDIOC_S_FBUF were not actually used until the next VIDIOC_S_FMT. Fixed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c9b0ee2c2af33c2ca722aa05bbcb604487134e4c Author: Hans Verkuil Date: Tue Jul 31 12:42:22 2007 -0300 V4L/DVB (5968): videodev2.h: remove superfluous FBUF GLOBAL_INV_ALPHA support There is no need for a global inverted alpha capability since all the application has to do is to pass '255-alpha' as the global alpha value. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 35b426c329e12e33bd0f0912f3d2e3f5f7b2c486 Author: Al Viro Date: Sun Aug 19 04:51:26 2007 +0100 missing return in bridge sysfs code Signed-off-by: Al Viro Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit 6ec8a856e4097d42ece9b0b9459bbca1586f13d7 Author: Avi Kivity Date: Sun Aug 19 15:57:26 2007 +0300 KVM: Avoid calling smp_call_function_single() with interrupts disabled When taking a cpu down, we need to hardware_disable() it. Unfortunately, the CPU_DYING notifier is called with interrupts disabled, which means we can't use smp_call_function_single(). Fortunately, the CPU_DYING notifier is always called on the dying cpu, so we don't need to use the function at all and can simply call hardware_disable() directly. Tested-by: Paolo Ornati Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit e598fbaabdb6608915cbc5e80409d70f4f857e5c Author: Christian Heim Date: Sun Aug 19 13:07:59 2007 +0200 Remove double inclusion of linux/capability.h Remove the second inclusion of linux/capability.h, which has been introduced with "[PATCH] move capable() to capability.h" (commit c59ede7b78db329949d9cdcd7064e22d357560ef) Signed-off-by: Christian Heim Signed-off-by: Linus Torvalds commit 2a67789618abb74f0f97d4836a2b937bff2f1b2d Author: Al Viro Date: Sun Aug 19 01:03:07 2007 +0100 Fix tpyo Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d34fda4a84c18402640a1a2342d6e6d9829e6db7 Author: Chris Wright Date: Sat Aug 18 14:31:41 2007 -0700 x86: properly initialize temp insn buffer for paravirt patching With commit ab144f5ec64c42218a555ec1dbde6b60cf2982d6 the patching code now collects the complete new instruction stream into a temp buffer before finally patching in the new insns. In some cases the paravirt patchers will choose to leave the patch site unpatched (length mismatch, clobbers mismatch, etc). This causes the new patching code to copy an uninitialized temp buffer, i.e. garbage, to the callsite. Simply make sure to always initialize the buffer with the original instruction stream. A better fix is to audit all the patchers and return proper length so that apply_paravirt() can skip copies when we leave the patch site untouched. Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds commit f0f12d85af8593e45fdf4a4d4c7cad240a6787a2 Author: Andi Kleen Date: Wed Aug 15 02:40:37 2007 +0200 x86_64: Check for .cfi_rel_offset in CFI probe Very old 64bit binutils have .cfi_startproc/endproc, but no .cfi_rel_offset. Check for .cfi_rel_offset too. Cc: Jan Beulich Cc: Sam Ravnborg Signed-off-by: Linus Torvalds commit 6e3515352bdd1c42d78bd16dae06dd429d6b1861 Author: Andi Kleen Date: Wed Aug 15 02:40:36 2007 +0200 x86_64: Change PMDS invocation to single macro Very old binutils (2.12.90...) seem to have trouble with newlines in assembler macro invocation. They put them into the resulting argument expansion. In this case this lead to a parse error because a .rept expression ended up spread over multiple lines. Change the PMDS() invocation to a single line. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0328ecef9041fe477efc2404fd3aaa29e7ee0430 Author: Daniel Gollub Date: Wed Aug 15 02:40:35 2007 +0200 x86_64: Fix to keep watchdog disabled by default for i386/x86_64 Fixed wrong expression which enabled watchdogs even if nmi_watchdog kernel parameter wasn't set. This regression got slightly introduced with commit b7471c6da94d30d3deadc55986cc38d1ff57f9ca. Introduced NMI_DISABLED (-1) which allows to switch the value of NMI_DEFAULT without breaking the APIC NMI watchdog code (again). Fixes: https://bugzilla.novell.com/show_bug.cgi?id=298084 http://bugzilla.kernel.org/show_bug.cgi?id=7839 And likely some more nmi_watchdog=0 related issues. Signed-off-by: Daniel Gollub Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8154549cb8ca795cbefda404cd6120398e5b145f Author: Andi Kleen Date: Wed Aug 15 02:40:34 2007 +0200 x86_64: Fail dma_alloc_coherent on dma less devices This should fix an oops with PCMCIA PATA devices http://bugzilla.kernel.org/show_bug.cgi?id=8424 This is not a full fix for the problem, but probably still the right thing to do. [ I'm almost certain it's *not* the right thing to do, but it avoids an oops, and I want comments from others on what the right thing would actually be.. I suspect we should just remove the use of dma_mask entirely in this function, and just use coherent_dma_mask. - Linus ] Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1a2b73302aacddf2543f9d7a25936e4323fa1486 Author: Timo Jantunen Date: Tue Aug 14 21:56:57 2007 +0300 fix random hang in forcedeth driver when using netconsole If the forcedeth driver receives too much work in an interrupt, it assumes it has a broken hardware with stuck IRQ. It works around the problem by disabling interrupts on the nic but makes a printk while holding device spinlog - which isn't smart thing to do if you have netconsole on the same nic. This patch moves the printk's out of the spinlock protected area. Without this patch the machine hangs hard. With this patch everything still works even when there is significant increase on CPU usage while using the nic. Signed-off-by: Timo Jantunen Signed-off-by: Linus Torvalds commit 62be90012c507b2bf1047eb2eaa1e9151f7172fe Author: Satyam Sharma Date: Thu Aug 16 06:09:25 2007 +0530 i386: Fix a couple busy loops in mach_wakecpu.h:wait_for_init_deassert() Use cpu_relax() in the busy loops, as atomic_read() doesn't automatically imply volatility for i386 and x86_64. x86_64 doesn't have this issue because it open-codes the while loop in smpboot.c:smp_callin() itself that already uses cpu_relax(). For i386, however, smpboot.c:smp_callin() calls wait_for_init_deassert() which is buggy for mach-default and mach-es7000 cases. [ I test-built a kernel -- smp_callin() itself got inlined in its only callsite, smpboot.c:start_secondary() -- and the relevant piece of code disassembles to the following: 0xc1019704 : mov 0xc144c4c8,%eax 0xc1019709 : test %eax,%eax 0xc101970b : je 0xc1019709 init_deasserted (at 0xc144c4c8) gets fetched into %eax only once and then we loop over the test of the stale value in the register only, so these look like real bugs to me. With the fix below, this becomes: 0xc1019706 : pause 0xc1019708 : cmpl $0x0,0xc144c4c8 0xc101970f : je 0xc1019706 which looks nice and healthy. ] Thanks to Heiko Carstens for noticing this. Signed-off-by: Satyam Sharma Cc: Heiko Carstens Signed-off-by: Linus Torvalds commit 06bfb7eb1535822a3338ffea9918e22215abed90 Author: Jan Engelhardt Date: Sat Aug 18 12:56:21 2007 +0200 Add some help texts to recently-introduced kconfig items Signed-off-by: Jan Engelhardt Signed-off-by: Stefan Richter (edited MACINTOSH_DRIVERS per Geert Uytterhoeven's remark) Signed-off-by: Linus Torvalds commit 9ef7ad22965fcd817b20c1332286f02362266534 Author: Rusty Russell Date: Fri Aug 17 14:05:27 2007 +1000 Enable partitions for lguest block device The lguest block device only requests one minor, which means partitions don't work (eg "root=/dev/lgba1"). Let's follow the crowd and ask for 16. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit d2d56c5f51028cb9f3d800882eb6f4cbd3f9099f Author: Marcel Holtmann Date: Fri Aug 17 21:47:58 2007 +0200 Reset current->pdeath_signal on SUID binary execution This fixes a vulnerability in the "parent process death signal" implementation discoverd by Wojciech Purczynski of COSEINC PTE Ltd. and iSEC Security Research. http://marc.info/?l=bugtraq&m=118711306802632&w=2 Signed-off-by: Marcel Holtmann Signed-off-by: Linus Torvalds commit 5e6e6232753482dc0024a319b9d8f611d7a80c19 Author: Cyrill Gorcunov Date: Sat Aug 18 00:15:20 2007 +0000 [CIFS] Check return code on failed alloc Signed-off-by: Cyrill Gorcunov Signed-off-by: Steve French commit 118142080a75fc1ce599c73b7894a71b4813828e Author: Thomas Renninger Date: Thu Aug 16 16:27:15 2007 +0200 Cross-compilation between e.g. i386 -> 64bit could break -> work around it Adrian Bunk: scripts/mod/file2alias.c is compiled with HOSTCC and ensures that kernel_ulong_t is correct, but it can't cope with different padding on different architectures. Signed-off-by: Thomas Renninger Signed-off-by: Tony Luck commit 471e7a44848f467c9b83adc3463d019d2fa8817f Author: Peter Chubb Date: Thu Aug 16 15:03:07 2007 +1000 [IA64] Enable early console for Ski simulator When using Ski to debug early startup, it's a bit of a pain not to have printk. This patch enables the simulated console very early. It may be worth conditionalising on the command line... but this is enough for now. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit b09e789c438c406bd9bcaac6f1c940a75007e59f Author: Shaohua Li Date: Fri Aug 17 13:43:50 2007 -0700 [IA64] forbid ptrace changes psr.ri to 3 The "ri" field in the processor status register only has defined values of 0, 1, 2. Do not let ptrace set this to 3. As with other reserved fields in registers we silently discard the value. Signed-off-by: Shaohua Li Signed-off-by: Tony Luck commit 0af666fa6cf4bc639fb6170600b5fb0d8b6504b9 Author: Kumar Gala Date: Fri Aug 17 08:23:06 2007 -0500 [POWERPC] Fix 8xx compile failure CC arch/powerpc/sysdev/commproc.o arch/powerpc/sysdev/fsl_soc.c: In function fsl_pcmcia_of_init: arch/powerpc/sysdev/fsl_soc.c:1109: error: implicit declaration of function of_platform_device_create Signed-off-by: Kumar Gala commit 86d7a9a9c4775f864e6bc5f5da66ef9ea3715734 Author: Becky Bruce Date: Thu Aug 2 15:37:15 2007 -0500 [POWERPC] Fix FSL BookE machine check reporting Reserved MCSR bits on FSL BookE parts may have spurious values when mcheck occurs. Mask these off when printing the MCSR to avoid confusion. Also, get rid of the MCSR_GL_CI bit defined for e500 - this bit doesn't actually have any meaning. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit b66510cb9992d204f216049e9c01d432c7635f6c Author: Kumar Gala Date: Thu Aug 16 23:55:55 2007 -0500 [POWERPC] Fix interrupt routing and setup of ULI M1575 on FSL boards The interrupt routing in the device trees for the ULI M1575 was inproperly using the interrupt line field as pci function. Fixed up the device tree's to actual conform for to specification and changed the interrupt mapping code so it just uses a static mapping setup as follows: PIRQA - IRQ9 PIRQB - IRQ10 PIRQC - IRQ11 PIRQD - IRQ12 USB 1.1 OCHI (1c.0) - IRQ12 USB 1.1 OCHI (1c.1) - IRQ9 USB 1.1 OCHI (1c.2) - IRQ10 USB 1.1 ECHI (1c.3) - IRQ11 LAN (1b.0) - IRQ6 AC97 (1d.0) - IRQ6 Modem (1d.1) - IRQ6 HD Audio (1d.2) - IRQ6 SATA (1f.1) - IRQ5 SMB (1e.1) - IRQ7 PMU (1e.2) - IRQ7 PATA (1f.0) - IRQ14/15 Took the oppurtunity to refactor the code into a single file so we don't have to duplicate these fixes on the two current boards in the tree and several forth coming boards that will also need the code. Fixed RTC support that requires a dummy memory read on the P2P bridge to unlock the RTC and setup the default of the RTC alarm registers to match with a basic x86 style CMOS RTC. Moved code that poked ISA registers to a FIXUP_FINAL quirk to ensure the PCI IO space has been setup properly before we start poking ISA registers at random locations. Signed-off-by: Kumar Gala commit ada3ea6fcde45abc55e2af0e564455fd7f943a79 Author: Kumar Gala Date: Thu Aug 16 23:44:00 2007 -0500 [POWERPC] Add interrupt resource for RTC CMOS driver The RTC CMOS driver expects the interrupt to be a resource of the platform device. Use a fixed interrupt value of 8 since on PPC if we are using this its off an i8259 which we ensure has interrupt numbers 0..15. Signed-off-by: Kumar Gala commit 405849610fd96b4f34cd1875c4c033228fea6c0f Author: David S. Miller Date: Thu Aug 16 22:59:49 2007 -0700 [MATH-EMU]: Fix underflow exception reporting. The underflow exception cases were wrong. This is one weird area of ieee1754 handling in that the underflow behavior changes based upon whether underflow is enabled in the trap enable mask of the FPU control register. As a specific case the Sparc V9 manual gives us the following description: -------------------- If UFM = 0: Underflow occurs if a nonzero result is tiny and a loss of accuracy occurs. Tininess may be detected before or after rounding. Loss of accuracy may be either a denormalization loss or an inexact result. If UFM = 1: Underflow occurs if a nonzero result is tiny. Tininess may be detected before or after rounding. -------------------- What this amounts to in the packing case is if we go subnormal, we set underflow if any of the following are true: 1) rounding sets inexact 2) we ended up rounding back up to normal (this is the case where we set the exponent to 1 and set the fraction to zero), this should set inexact too 3) underflow is set in FPU control register trap-enable mask The initially discovered example was "DBL_MIN / 16.0" which incorrectly generated an underflow. It should not, unless underflow is set in the trap-enable mask of the FPU csr. Another example, "0x0.0000000000001p-1022 / 16.0", should signal both inexact and underflow. The cpu implementations and ieee1754 literature is very clear about this. This is case #2 above. However, if underflow is set in the trap enable mask, only underflow should be set and reported as a trap. That is handled properly by the prioritization logic in arch/sparc{,64}/math-emu/math.c:record_exception(). Based upon a report and test case from Jakub Jelinek. Signed-off-by: David S. Miller commit 2b02d13996fe28478e45605de9bd8bdca25718de Author: Ilpo Järvinen Date: Thu Aug 16 08:03:35 2007 +1000 [POWERPC] Fix invalid semicolon after if statement A similar fix to netfilter from Eric Dumazet inspired me to look around a bit by using some grep/sed stuff as looking for this kind of bugs seemed easy to automate. This is one of them I found where it looks like this semicolon is not valid. Signed-off-by: Ilpo Järvinen Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8b224b813aad0231af62dc75d056aae83c9d4d12 Author: David S. Miller Date: Thu Aug 16 13:56:39 2007 -0700 [SPARC64]: Create a HWCAP_SPARC_N2 and report it to userspace on Niagara-2. Signed-off-by: David S. Miller commit 6e420b7e26dd539f1f78fe920d295b022a2d99c8 Author: Andrey Borzenkov Date: Thu Aug 16 19:32:19 2007 +0000 [WATCHDOG] Add support for 1533 bridge to alim1535_wdt From: Andrey Borzenkov They are apparently pretty close (even lspci combines them). The patch adds support for 0x1533 bridge in addition to 0x1535. Tested on Toshiba Portege 4000 with 00:07.0 ISA bridge [0601]: ALi Corporation M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+] [10b9:1533] 00:08.0 Bridge [0680]: ALi Corporation M7101 Power Management Controller [PMU] [10b9:7101] with result [ 2090.906736] PCI: Enabling device 0000:00:08.0 (0000 -> 0001) [ 2090.914034] ALi_M1535: initialized. timeout=3D60 sec (nowayout=3D0) Signed-off-by: Andrey Borzenkov Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 568779c9c44bc20c4b7fd18a7d027517f5aaa081 Author: Jesper Juhl Date: Sun Aug 12 00:49:14 2007 +0200 [WATCHDOG] Add a 00-INDEX file to Documentation/watchdog/ Add a 00-INDEX file to Documentation/watchdog/ Signed-off-by: Jesper Juhl Signed-off-by: Wim Van Sebroeck commit 0f112a86a36b91afe30e1cc8d4bc000402dde127 Author: Wim Van Sebroeck Date: Thu Aug 9 19:38:00 2007 +0000 [WATCHDOG] Eurotechwdt.c - clean-up comments Clean-up history and add a comment about the fact that the watchdog is actually part of the SMSC FDC 37B782 super I/O chipset. Signed-off-by: Wim Van Sebroeck commit e8c59c0cf9c91dccfb6367c306d753500d5a0150 Author: Andrew Burgess Date: Thu Aug 16 10:30:46 2007 -0700 [IA64] Failure to grow RBS There is a bug in the ia64_do_page_fault code that can cause a failure to grow the register backing store, or any mapping that is marked as VM_GROWSUP if the mapping is the highest mapped area of memory. When the address accessed is below the first mapping the previous mapping is returned as NULL, and this case is handled. However, when the address accessed is above the highest mapping the vma returned is NULL, this case is not handled correctly, and it fails to spot that this access might require an existing mapping to grow upwards. Signed-off-by: Andrew Burgess Signed-off-by: Tony Luck commit 96989d9d754ef1fa55e71beff6a076f79cc1717e Author: Andy Whitcroft Date: Fri Aug 17 01:25:34 2007 +0900 sh: remove extraneous ; on scif_sercon_putc wait loop It seems we have gained an extraneous trailing ';' on one of the wait loops in scif_sercon_putc(). Although this is completely benign as the apparent payload is also the empty statement, it invites error in the future. Clean it up now. Signed-off-by: Andy Whitcroft Signed-off-by: Paul Mundt commit 3ad40d647d5e7c320385649e5eb422a5e89e035d Author: Steve G Date: Tue Aug 14 12:50:46 2007 -0700 SELinux: correct error code in selinux_audit_rule_init Corrects an error code so that it is valid to pass to userspace. Signed-off-by: Steve Grubb Signed-off-by: James Morris commit 7dc408808ad40b9a5d031966035713ed5d5153b8 Author: David S. Miller Date: Thu Aug 16 01:56:00 2007 -0700 [SPARC64]: SMP trampoline needs to avoid %tick_cmpr on sun4v too. Signed-off-by: David S. Miller commit 53140b71c5e7b5370e4ac6ffc13fddbdfae71473 Author: David S. Miller Date: Thu Aug 16 01:52:44 2007 -0700 [SPARC64]: Do not touch %tick_cmpr on sun4v cpus. This register is not a part of the sun4v architecture. Niagara 1 and 2 happened to leave it around. Signed-off-by: David S. Miller commit cf5adce11743e98739fcb97e76d688f0b0bc2199 Author: David S. Miller Date: Thu Aug 16 01:47:25 2007 -0700 [SPARC64]: Niagara-2 optimized copies. The bzero/memset implementation stays the same as Niagara-1. Signed-off-by: David S. Miller commit 0fdb7f96d8c27e37ed2ca1ae5a763baf14b8fe0c Author: David S. Miller Date: Wed Aug 15 21:02:23 2007 -0700 [SPARC64]: Allow userspace to get at the machine description. Like the OF device tree, it's useful to let userland get at the machine description so it can pretty print the graph etc. The implementation is a simple MISC device with a read method. Signed-off-by: David S. Miller commit fe11cb6ba40afff15efb053fd0bcba45274636e0 Author: Ilpo Järvinen Date: Thu Aug 16 01:02:07 2007 +0300 IB/mlx4: Incorrect semicolon after if statement A stray semicolon makes us inadvertently ignore the value of err. Signed-off-by: Ilpo Järvinen Signed-off-by: Roland Dreier commit 660adc6e60bc8882b16e466c09401cff017dcd94 Author: Ilpo Järvinen Date: Wed Aug 15 15:07:30 2007 -0700 [IPv6]: Invalid semicolon after if statement A similar fix to netfilter from Eric Dumazet inspired me to look around a bit by using some grep/sed stuff as looking for this kind of bugs seemed easy to automate. This is one of them I found where it looks like this semicolon is not valid. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3b1855255098e1f78fa74c0f3378c0391e9a7a2b Author: Herbert Xu Date: Wed Aug 15 14:46:02 2007 -0700 [NET]: Fix unbalanced rcu_read_unlock in __sock_create The recent RCU work created an unbalanced rcu_read_unlock in __sock_create. This patch fixes that. Reported by oleg 123. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 182fdd225de8fc3b1b721ae944fc41146a0bd812 Author: Alex Williamson Date: Mon Aug 13 15:49:46 2007 -0600 [IA64] Fix processor_get_freq The core cpufreq code doesn't appear to understand returning -EAGAIN for the get() function of the cpufreq_driver. If PAL_GET_PSTATE returns -1, such as when running on Xen, scaling_cur_freq is happy to return 4294967285 kHz (ie. (unsigned)-11). The other drivers appear to return 0 for a failure, and doing so gives me the max frequency from scaling_cur_frequency and "" from cpuinfo_cur_frequency. I believe that's the desired behavior. Signed-off-by: Alex Williamson Acked-by: Venkatesh Pallipadi Signed-off-by: Tony Luck commit 6724add1b5cfb020ba8f5532efe430d1ccd5fc30 Author: Mike Christie Date: Wed Aug 15 01:38:30 2007 -0500 [SCSI] libiscsi: sync up iscsi and scsi eh's access to the connection The iscsi eh could be tearing down the session/connection while the scsi eh is still sending task management functions. If when we drop the session lock to grab the recv lock, the iscsi eh tears down the connection we will oops. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 96809f1b15eddae2325b2ab78e6f931edc969074 Author: Mike Christie Date: Wed Aug 15 01:38:29 2007 -0500 [SCSI] libiscsi: fix null ptr regression when aborting a command with data to transfer We do not want to send data if we are aborting a task. There is a check in iscsi_xmit_ctask, but right before calling this we overwrite the state so we always go right past the test. Sending data causes problems because when we clean up from a successful abort the LLD assumes that the task is not running. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 604cd794de3094ccf8a9c149f299237a642ba9b5 Author: Andrew Vasquez Date: Sun Aug 12 18:22:57 2007 -0700 [SCSI] qla2xxx: Update version number to 8.02.00-k3. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6afd9763c1b16f12653e5bcb9376886c82805bd5 Author: Andrew Vasquez Date: Sun Aug 12 18:22:56 2007 -0700 [SCSI] qla2xxx: Correct mailbox register dump for FWI2 capable ISPs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a3cbdfad15dee42eb2d17d28fd36447082278dc9 Author: Andrew Vasquez Date: Mon Aug 13 10:13:18 2007 -0700 [SCSI] qla2xxx: Correct 8GB iIDMA support. Original implementation manipulated the FC_GS values for port-speed. Transition the codes to use the driver's own internal representations as this makes for a reduction in duplicate 'conversion' codes throughout the driver. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 02d638b4b72af9ee617831066d6245c882da1ee0 Author: Andrew Vasquez Date: Sun Aug 12 18:22:54 2007 -0700 [SCSI] qla2xxx: Correct management-server login-state synchronization issue. Transitioning link-state via NOS/OLS requires a relogin to a fabric's Management Server. Request relogin when the firmware issues a point-to-point asynchronous event (0x8030). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8fef696b00b863c8c898293bd09be581b934849b Author: Andrew Vasquez Date: Sun Aug 12 18:22:53 2007 -0700 [SCSI] qla2xxx: Don't modify parity bits during ISP25XX restart. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 29856e2841ebc6dadff0db1032be14e467989452 Author: Andrew Vasquez Date: Sun Aug 12 18:22:52 2007 -0700 [SCSI] qla2xxx: Allocate enough space for the full PCI descriptor. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 9d212a4d20928f865b9a48e870d6ecef0e30175d Author: Heiko Carstens Date: Wed Aug 8 10:47:26 2007 +0200 [SCSI] zfcp: fix the data buffer accessor patch Fix the data buffer accessor patch. For request without a data buffer nothing was written into a SBALE. Signed-off-by: Heiko Carstens Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 47b87b7948111fa95e99fbd60fc3255423b45809 Author: Heiko Carstens Date: Wed Aug 8 10:47:10 2007 +0200 [SCSI] zfcp: allocate gid_pn_data objects from gid_pn_cache allocate gid_pn_data objects from gid_pn_cache. Allocate gid_pn_data objects from the corresponding cache which ensures proper alignment. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 83f6d6d7258974a99cbf465878bc11eb4d494c61 Author: Heiko Carstens Date: Wed Aug 8 10:47:02 2007 +0200 [SCSI] zfcp: fix memory leak fix memory leak. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit cca67164bbdb083df9adb6480822518b0f4b358f Author: Haavard Skinnemoen Date: Mon Aug 13 16:24:01 2007 +0200 [AVR32] Define mmiowb() Add empty definition of mmiowb() since some drivers need it. Uncached writes are strongly ordered on AVR32. They may be delayed if the dcache is busy doing a writeback, but AFAICT that's not what this macro is supposed to deal with, at least on UP systems. We might have to revisit this definition when a SMP-capable AVR32 CPU comes along, depending on how the busses and cache coherency stuff end up being implemented. Signed-off-by: Haavard Skinnemoen commit 6f834197a79d34d65ca44e9c77f2571edbcfb64b Author: Haavard Skinnemoen Date: Wed Aug 15 16:12:18 2007 +0200 [AVR32] Fix bogus pte_page() definition The current definition of pte_page() masks out valid bits from the physical address, causing vmalloc_to_page() to misbehave. This may lead to everything from mmap() silently accessing the wrong data to "invalid pte" errors dumped by the kernel. Also remove the now-unused definition of PTE_PHYS_MASK. Thanks to Matteo Vit for discovering this bug. Signed-off-by: Haavard Skinnemoen commit e7f3bac95e0bdfd520e065c4a29aad46190fcc99 Author: Haavard Skinnemoen Date: Fri Aug 3 13:29:01 2007 +0200 [AVR32] Simplify pte_alloc_one{,_kernel} There's really no need to retry an allocation with __GFP_REPEAT set. Also, use get_zeroed_page() and __GFP_ZERO to eliminate the extra call to clear_page() afterwards. Signed-off-by: Haavard Skinnemoen commit 5221b34edfd05ac35c077e071095cf853325320f Author: Mariusz Kozlowski Date: Tue Jul 31 23:41:00 2007 +0200 include/asm-avr32/pgalloc.h: kmalloc + memset conversion to kcalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Haavard Skinnemoen commit 54bb69e25016a7b11d83f03feafafdfe2b4d0859 Author: Haavard Skinnemoen Date: Thu Jul 12 16:36:34 2007 +0200 [AVR32] Wire up i2c-gpio on the ATNGW100 board The NGW100 has a board controller which is hooked up to the TWI lines on AP7000. Since the TWI driver isn't in mainline, use the i2c-gpio driver in the mean time. Signed-off-by: Haavard Skinnemoen commit ad93ab0a6ee20130fb8f719fc1860c20daa99a7b Author: David Brownell Date: Mon Jul 9 10:29:44 2007 +0200 [AVR32] leds-gpio for stk1000 Add GPIO led support: J2 to either block of LEDs on the STK1000. This uses the new LEDS_GPIO driver, and sets up a heartbeat trigger by default ... either bright (!!) amber, or a more interesting purple. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit fb0582f91fdd62b67bf54a440d7c79b19ed84da8 Author: Ryan Power Date: Fri Aug 10 13:59:35 2007 -0700 libata: adjust libata to ignore errors after spinup Adjust libata to ignore errors after spinup This patch is to ignore errors from the spinup attempt if the drive is in the "standby id" state. Signed-off-by: Ryan Power Acked-by: Mark Lord Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 5c08ea019198230a62c601ddf97d0319ae246ad8 Author: Tejun Heo Date: Tue Aug 14 19:56:04 2007 +0900 ata_piix: add TECRA M7 to broken suspend list Add TECRA M7 to broken suspend list. Reported by Marie Koreen. Signed-off-by: Tejun Heo Cc: Marie Koreen Signed-off-by: Jeff Garzik commit 80b8987c8feaf07a070f7cdcd55db024e9e200ec Author: Sergei Shtylyov Date: Fri Aug 10 21:02:15 2007 +0400 pata_hpt{37x|3x2n}: fix clock reporting (take 2) Fix several inconsistencies in these drivers WRT reporting the clocks: - when using DPLL mode, 'pata_hpt37x' driver reported the DPLL frequency as the PCI clock -- make it properly report both clocks and add the same ability to the 'pata_hpt3x2n' driver; - both drivers sometimes use "pata_hpt3*:" and sometimes "hpt3*:" in the messages -- make them use only the former one; - the message about failed DPLL stablizatios deserves KERN_ERR and a bang. :-) Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit d44a65f7bb0dae0bcc78de336b55a75b30ec2d2a Author: Sergei Shtylyov Date: Fri Aug 10 20:58:46 2007 +0400 pata_hpt37x: actually clock HPT374 with 50 MHz DPLL (take 2) The DPLL tuning code always set up it for 66 MHz due to wrong UltraDMA mask including mode 5 used to check for the necessity of 66 MHz clocking -- this caused 66 MHz clock to be used for HPT374 chip that does not tolerate it. While fixing this, also remove PLL mode from the TODO list -- I don't think it's still a relevant item. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit be456b77ffbd3983b5da8eff49a70a701333f68b Author: Bartlomiej Zolnierkiewicz Date: Thu Aug 9 23:19:34 2007 +0200 pata_artop: fix UDMA5 for AEC6280[R] and UDMA6 for AEC6880[R] Maximum supported UDMA mode for AEC6280[R] is UDMA5 (not UDMA4) and for AEC6880[R] it is UDMA6 (not UDMA5): * Fix the problem by adding missing struct ata_port_info to artop_init_one(). * Use the right naming (s/626/628/). * Bump driver version. Fixes IDE->libata regression, problem was never present in IDE aec62xx driver. Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit ac2b04371fffd964b0d1c3369a9972bed7a5c5d9 Author: Tejun Heo Date: Tue Aug 7 02:43:27 2007 +0900 ata_piix: update map 10b for ich8m Fix map entry 10b for ich8. It's [P0 P2 IDE IDE] like ich6 / ich6m. Signed-off-by: Tejun Heo Cc: kristen.c.accardi@intel.com Signed-off-by: Jeff Garzik commit cfbf723eb7928879292ee71fa0d118fc4e37b8c9 Author: Alan Cox Date: Mon Jul 9 14:38:41 2007 +0100 sata_mv: PCI IDs for Hightpoint RocketRaid 1740/1742 Underneath all the HPT packaging, PCI identifiers, binary driver modules and stuff you find that ... Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 6a286a6d85bb0da687011b15f268c0e52e8eaba4 Author: Jeff Garzik Date: Fri Aug 3 11:25:50 2007 -0400 [libata] pata_isapnp: replace missing module device table Signed-off-by: Jeff Garzik commit 2de69124e86682c3427adb4136e097854841e467 Author: Geert Uytterhoeven Date: Wed Aug 15 02:30:13 2007 +1000 [POWERPC] ps3: Fix no storage devices found Fix probing of PS3 storage devices: in the success case, we should set `error' to zero, not `result'. Without this patch no storage devices are found. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 55a910a81d0c3014abc20b9efa73c595b3e68339 Author: Roland McGrath Date: Sat Aug 11 09:03:11 2007 +1000 [POWERPC] Fix for assembler -g ppc64 does the unusual thing of using #include on a compiler-generated assembly file (lparmap.s) from an assembly source file (head_64.S). This runs afoul of my recent patch to pass -gdwarf2 to the assembler under CONFIG_DEBUG_INFO. This patch avoids the problem by disabling DWARF generation (-g0) when producing lparmap.s. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit aa1cf632bd6f998cb4567ccf1a9d2e5daaa9fb44 Author: David Gibson Date: Tue Aug 7 14:20:50 2007 +1000 [POWERPC] Fix small race in 44x tlbie function The 440 family of processors don't have a tlbie instruction. So, we implement TLB invalidates by explicitly searching the TLB with tlbsx., then clobbering the relevant entry, if any. Unfortunately the PID for the search needs to be stored in the MMUCR register, which is also used by the TLB miss handler. Interrupts were enabled in _tlbie(), so an interrupt between loading the MMUCR and the tlbsx could cause incorrect search results, and thus a failure to invalide TLB entries which needed to be invalidated. This fixes the problem in both arch/ppc and arch/powerpc by inhibiting interrupts (even critical and debug interrupts) across the relevant instructions. Signed-off-by: David Gibson Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit fa6b769a8e981afea869285982640168f76774df Author: Becky Bruce Date: Sat May 12 03:49:39 2007 +1000 [POWERPC] Remove unused code causing a compile warning AFAICT, nobody is using ft_ordered(), and it causes a build warning to be generated. This patch cleans that up by removing the function and the commented-out code that calls it. Signed-off-by: Becky Bruce Acked-by: David Gibson Signed-off-by: Paul Mackerras commit ad941fe4b6b83999863f49dfba7b3d2cebc4ced5 Author: Jeremy Kerr Date: Mon Aug 13 13:22:44 2007 +1000 [POWERPC] cell: Fix errno for modular spufs_create with invalid neighbour At present, spu_create with an invalid neighbo(u)r will return -ENOSYS, not -EBADF, but only when spufs.o is built as a module. This change adds the appropriate errno, making the behaviour the same as the built-in case. Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5b31d895874f56174e4d885c065c9fc4b24b28bb Author: Len Brown Date: Wed Aug 15 00:19:26 2007 -0400 Revert "ACPI: Battery: Synchronize battery operations." This reverts commit 3bd92ba19a89fe61ebf58804f9c8675372f50c1c. It is no longer necessary, and it opens up a race. Acked-by: Vladimir Lebedev Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 70b0e7a919b7961285c685a87928ed78c9fb07f0 Author: Mark Fortescue Date: Tue Aug 14 18:24:10 2007 -0700 [SPARC32]: Remove superfluous 'kernel_end' alignment on sun4c. In sun4c_init_clean_mmu(), aligning 'kernel_end' using SUN4C_REAL_PGDIR_ALIGN() is unnecessary since the caller does this already. In sun4c_paging_init(), 4 page sizes of "fluff" were added to the address of &end. This was necessary a long time ago when sparc32 would allocate some early data structures by carving out memory chunks after &end but that no longer occurs. Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit f642b263800e6e57c377d630be6d2a999683b579 Author: Mark Fortescue Date: Tue Aug 14 18:22:03 2007 -0700 [SPARC32]: Fix bogus ramdisk image location check. This mirrors sparc64 commit 715a0ecc29c850d2b2f76e1803d3f22cd5a0ac0d sparc_ramdisk_image should always be decremented by KERNBASE. Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit 9a5f35d4ede43fee791a486e0850e9e3afdde0a7 Author: H. Peter Anvin Date: Tue Aug 14 17:36:00 2007 -0700 [x86 setup] edd.c: make sure MBR signatures actually get reported When filling in the MBR signature array, the setup code failed to advance boot_params.edd_mbr_sig_buf_entries, which resulted in the valid data being ignored. Signed-off-by: H. Peter Anvin commit c1a6e2b082a7cefe58315af7a461bbf2f33221a3 Author: H. Peter Anvin Date: Mon Aug 13 16:27:42 2007 -0700 [x86 setup] Don't use EDD to get the MBR signature At least one machine has been identified in the field which advertises EDD for all drives but locks up if one attempts an extended read from a non-primary drive. The MBR is always at CHS 0-0-1, so there is no reason to use an extended read, other than the possibility that the BIOS cannot handle it. Although this might break as many machines as it fixes (a small number either way), the current state is a regression but the reverse is not. Therefore revert to the previous state of not using extended read. Quite probably the Right Thing to do is to read using plain (CHS) read and extended read on failure, but that change would definitely have to go through -mm first. Signed-off-by: H. Peter Anvin commit 16f3051b166bde3f1bd741783b64a8feebdb6f00 Author: Adrian Bunk Date: Tue Aug 14 17:39:43 2007 -0700 [VLAN] net/8021q/vlanproc.c: fix check-after-use The Coverity checker spotted that we'd have already oops'ed if "vlandev" was NULL. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 6f93b9c28326df34b23a6c0dbe4c51d4654bdf0b Author: Adrian Bunk Date: Tue Aug 14 17:38:44 2007 -0700 [NET]: Unexport dev_ethtool This patch removes the no longer used EXPORT_SYMBOL(dev_ethtool). Signed-off-by: Adrian Bunk Acked-by: Matthew Wilcox Signed-off-by: David S. Miller commit 54a09feb0ebb018dadaebeb51e860154198abc83 Author: Shannon Nelson Date: Tue Aug 14 17:36:31 2007 -0700 [IOAT]: Remove redundant struct member to avoid descriptor cache miss The layout for struct ioat_desc_sw is non-optimal and causes an extra cache hit for every descriptor processed. By tightening up the struct layout and removing one item, we pull in the fields that get used in the speedpath and get a little better performance. Before: ------- struct ioat_desc_sw { struct ioat_dma_descriptor * hw; /* 0 8 */ struct list_head node; /* 8 16 */ int tx_cnt; /* 24 4 */ /* XXX 4 bytes hole, try to pack */ dma_addr_t src; /* 32 8 */ __u32 src_len; /* 40 4 */ /* XXX 4 bytes hole, try to pack */ dma_addr_t dst; /* 48 8 */ __u32 dst_len; /* 56 4 */ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 1 boundary (64 bytes) --- */ struct dma_async_tx_descriptor async_tx; /* 64 144 */ /* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */ /* size: 208, cachelines: 4 */ /* sum members: 196, holes: 3, sum holes: 12 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ After: ------ struct ioat_desc_sw { struct ioat_dma_descriptor * hw; /* 0 8 */ struct list_head node; /* 8 16 */ int tx_cnt; /* 24 4 */ __u32 len; /* 28 4 */ dma_addr_t src; /* 32 8 */ dma_addr_t dst; /* 40 8 */ struct dma_async_tx_descriptor async_tx; /* 48 144 */ /* --- cacheline 3 boundary (192 bytes) --- */ /* size: 192, cachelines: 3 */ }; /* definitions: 1 */ Signed-off-by: Shannon Nelson Signed-off-by: David S. Miller commit 9c29a377f99b42c59721112cd2388cf27547fc84 Author: Alexey Dobriyan Date: Tue Aug 14 17:25:20 2007 -0700 [ECONET]: remove econet_packet_type on unload Steps to reproduce: modprobe econet rmmod econet modprobe econet Unable to handle kernel paging request at ffffffff8870a098 RIP: [] dev_add_pack+0x48/0x90 PGD 203067 PUD 207063 PMD 7817f067 PTE 0 Oops: 0002 [1] PREEMPT SMP CPU 1 Modules linked in: econet [maaaany] Pid: 10671, comm: modprobe Not tainted 2.6.23-rc3-bloat #6 RIP: 0010:[] [] dev_add_pack+0x48/0x90 RSP: 0000:ffff810076293df8 EFLAGS: 00010202 RAX: ffffffff88659090 RBX: ffffffff88659060 RCX: ffffffff8870a090 RDX: 0000000000000080 RSI: ffffffff805ec660 RDI: ffff810078ce4680 RBP: ffff810076293e08 R08: 0000000000000002 R09: 0000000000000000 R10: ffffffff8040bf88 R11: 0000000000000001 R12: ffff810076293e18 R13: 000000000000001b R14: ffff810076dd06b0 R15: ffffffff886590c0 FS: 00002b96a525dae0(0000) GS:ffff81007e0e2138(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: ffffffff8870a098 CR3: 000000007bb67000 CR4: 00000000000026e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process modprobe (pid: 10671, threadinfo ffff810076292000, task ffff810078ce4680) Stack: ffff810076dd06b0 0000000000000000 ffff810076293e38 ffffffff8865b180 0000000000800000 0000000000000000 ffffffff886590c0 ffff810076dd01c8 ffff810076293f78 ffffffff8026723c ffff810076293e48 ffffffff886590d8 Call Trace: [] :econet:econet_proto_init+0x180/0x1da [] sys_init_module+0x15c/0x19e0 [] system_call+0x7e/0x83 Code: 48 89 41 08 48 89 82 e0 c5 5e 80 48 c7 c7 a0 08 5d 80 e8 f1 RIP [] dev_add_pack+0x48/0x90 RSP CR2: ffffffff8870a098 Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 9ac0be9d4fa0c0ec7a447eeaa080bc13cf865319 Author: Alexey Dobriyan Date: Tue Aug 14 17:24:05 2007 -0700 [AX25]: don't free pointers to statically allocated data commit 8d5cf596d10d740b69b5f4bbdb54b85abf75810d started to add statically allocated ax25_protocol's to list. However kfree() was still in place waiting for unsuspecting ones on module removal. Steps to reproduce: modprobe netrom rmmod netrom P.S.: code would benefit greatly from list_add/list_del usage kernel BUG at mm/slab.c:592! invalid opcode: 0000 [1] PREEMPT SMP CPU 0 Modules linked in: netrom ax25 af_packet usbcore rtc_cmos rtc_core rtc_lib Pid: 4477, comm: rmmod Not tainted 2.6.23-rc3-bloat #2 RIP: 0010:[] [] kfree+0x1c6/0x260 RSP: 0000:ffff810079a05e48 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff81000000c000 RDX: ffff81007e552458 RSI: 0000000000000000 RDI: 000000000000805d RBP: ffff810079a05e88 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000000 R12: ffffffff8805d080 R13: ffffffff8805d080 R14: 0000000000000000 R15: 0000000000000282 FS: 00002b73fc98aae0(0000) GS:ffffffff805dc000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 000000000053f3b8 CR3: 0000000079ff2000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process rmmod (pid: 4477, threadinfo ffff810079a04000, task ffff8100775aa480) Stack: ffff810079a05e68 0000000000000246 ffffffff8804eca0 0000000000000000 ffffffff8805d080 00000000000000cf 0000000000000000 0000000000000880 ffff810079a05eb8 ffffffff8803ec90 ffff810079a05eb8 0000000000000000 Call Trace: [] :ax25:ax25_protocol_release+0xa0/0xb0 [] :netrom:nr_exit+0x6b/0xf0 [] sys_delete_module+0x170/0x1f0 [] trace_hardirqs_on+0xd5/0x170 [] trace_hardirqs_on_thunk+0x35/0x37 [] system_call+0x7e/0x83 Code: 0f 0b eb fe 66 66 90 66 66 90 48 8b 52 10 48 8b 02 25 00 40 RIP [] kfree+0x1c6/0x260 RSP Kernel panic - not syncing: Fatal exception Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 362cea339a34e04caae6cad67ea9bde5c100d12b Author: H. Peter Anvin Date: Fri Aug 10 14:20:26 2007 -0700 [x86 setup] The current display page is returned in %bh, not %bl The current display page is an 8-bit number, even though struct screen_info gives it a 16-bit number. The number is returned in %bh, so it needs to be >> 8 before storing. Special thanks to Jeff Chua for detailed bug reporting. Signed-off-by: H. Peter Anvin commit b9bf1e60a294fc7795d5198f94a917290e52865b Author: John W. Linville Date: Tue Aug 7 16:33:15 2007 -0400 [PATCH] mac80211: probe for hidden SSIDs in pre-auth scan Probe for hidden SSIDs if initiating pre-authentication scan and SSID is set for STA interface. Signed-off-by: John W. Linville commit 7b7ed879254ad43990c9d67f95be3427401c3392 Author: Johannes Berg Date: Tue Aug 7 10:23:57 2007 +0200 [PATCH] mac80211: fix tx status frame code When I added the monitor for outgoing frames somehow a break statement slipped in. Remove it. Signed-off-by: Johannes Berg commit 02f44315dc4bce8a222564aa023c965efbeb73b5 Author: Jussi Kivilinna Date: Tue Aug 14 13:22:58 2007 -0700 [BRIDGE]: Fix typo in net/bridge/br_stp_if.c Signed-off-by: Jussi Kivilinna Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 17120889b0706b69ae24cba3ef0a340dc3fb7edc Author: Stephen Hemminger Date: Tue Aug 14 13:21:34 2007 -0700 [BRIDGE]: sysfs locking fix. The stp change code generates "sleeping function called from invalid context" because rtnl_lock() called with BH disabled. This fixes it by not acquiring then dropping the bridge lock. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 45241a7a07537266eec363593ef377a1e6b7db7f Author: Patrick McHardy Date: Tue Aug 14 13:14:58 2007 -0700 [NETFILTER]: nf_nat_sip: don't drop short packets Don't drop packets shorter than "SIP/2.0", just ignore them. Keep-alives can validly be shorter for example. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit aa584eda5d2002097de9f608b362d9150730abd7 Author: Patrick McHardy Date: Tue Aug 14 13:14:35 2007 -0700 [NETFILTER]: nf_conntrack_sip: fix SIP-URI parsing The userinfo component of a SIP-URI is optional, continue parsing at the beginning of the SIP-URI in case its not found. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 465f90a486cd724d364167747e8b8b9f806fa91a Author: Patrick McHardy Date: Tue Aug 14 13:13:54 2007 -0700 [NETFILTER]: nf_conntrack_sip: check sname != NULL before calling strncmp The check got lost during the conversion to nf_conntrack. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 35019539d71bacd98de318c34728c97b1b505b49 Author: Eric Dumazet Date: Tue Aug 14 13:13:28 2007 -0700 [NETFILTER]: netfilter: xt_u32 bug correction An extraneous ";" makes xt_u32 match useless Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c52a7419af18594426bc601d1ea346dbbcf71e28 Author: Len Brown Date: Tue Aug 14 15:49:32 2007 -0400 ACPI: thermal: create "thermal.crt=C" bootparam Some hardware will malfunction at a temperature below the BIOS provided critical shutdown threshold. This hook allows moving the critical trip points down to a temperature which provokes a graceful shutdown before the hardware malfunction. http://bugzilla.kernel.org/show_bug.cgi?id=8884 WARNING: A trip-point override will not get noticed until the system delivers a temperature change event, or unless thermal zone polling is enabled. eg. "thermal.tzp=10" Signed-off-by: Len Brown commit 3c1d36da1d5ed36979340efd233ddaacc45b0a02 Author: Len Brown Date: Tue Aug 14 15:12:56 2007 -0400 ACPI: thermal: clean up MODULE_PARM_DESC newlines Reported-by: Randy Dunlap Signed-off-by: Len Brown commit b5d0b4ba389711183b5af71438fe21b40ee32d6d Author: Ben Dooks Date: Tue Aug 14 18:37:15 2007 +0200 i2c-s3c2410: Build fix Fixup the include files after the arch moves that where included in 2.6.23. Signed-off-by: Ben Dooks Signed-off-by: Jean Delvare commit c1147cc6d18389f6530bae27741b9b2665e862e6 Author: David Brownell Date: Tue Aug 14 18:37:14 2007 +0200 i2c/menelaus: Build fix Fix Menelaus build error, and remove needless "#define DEBUG". Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit a07ad1cc0300931bfd76bfcd2da3ddad743f4a89 Author: Dale Farnsworth Date: Tue Aug 14 18:37:14 2007 +0200 i2c-mv64xxx: Reinitialize hw and driver on I2C bus hang Under certain conditions, the mv64xxx I2C bus can hang preventing further operation. To make the driver more robust, we now reset the I2C hardware and the driver state machine when such hangs are detected. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Jean Delvare commit 5af0e07f87e7d9be2a9db514af1e338341240f6d Author: Domen Puncer Date: Tue Aug 14 18:37:14 2007 +0200 i2c-mpc: Don't disable I2C module on stop condition Disabling module on stop doesn't work on some CPUs (ie. mpc8241, as reported by Guennadi Liakhovetski), so remove that. Disable I2C module on errors/interrupts to prevent it from locking up on mpc5200b. Signed-off-by: Domen Puncer Acked-by: Guennadi Liakhovetski Signed-off-by: Jean Delvare commit 432ca994bf7107e88916fd9606ca7402a4571359 Author: Arnaud Patard Date: Tue Aug 14 18:37:14 2007 +0200 i2c-iop3xx: Set I2C_CLASS_HWMON to adapter class In order to be able to use sensors on the IOP3xx SoCs, one needs to set the adapter class to I2C_CLASS_HWMON. Signed-off-by: Arnaud Patard Signed-off-by: Jean Delvare commit 25da383d26a1dcca4f0205769a24e5eac79c6d35 Author: David Brownell Date: Tue Aug 14 18:37:14 2007 +0200 i2c/isp1301_omap: Build fixes, whitespace Build fixes for isp1301_omap driver. I think an earlier version of this must have gotten lost somewhere, or maybe it only went into the Linux-OMAP tree. Also, some whitespace fixes to bring this more into sync with the version of this found in the Linux-OMAP tree. (That version has updates for the OTG controller on the OMAP 1710 which break that functionality on OMAP 161x boards like the H2, so merging all of it is not currently an option.) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 322454a65371477bed0eb1d189c50d781ebd7f85 Author: Scott Wood Date: Tue Aug 14 18:37:14 2007 +0200 i2c-mpc: Pass correct dev_id to free_irq on error path Signed-off-by: Scott Wood Signed-off-by: Jean Delvare commit 002cf63191eb8b68b7fed48f014b87c456188acc Author: Jean Delvare Date: Tue Aug 14 18:37:13 2007 +0200 i2c-i801: Typo: erroneous Signed-off-by: Jean Delvare commit daa7162f66ec7f85053b623a3d23ee30b13d036c Author: Andrew Victor Date: Mon Aug 13 10:02:18 2007 +0100 [ARM] 4549/1: KS8695: Fix build errors The PCI driver has not been merged yet, so comment out call to ks8695_init_pci() for now. Also fix some incorrectly marked __init and __initdata sections. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 9857caa42c86d299b7a80b761a62918a185892ba Author: Krzysztof Helt Date: Thu Aug 9 16:37:01 2007 +0100 [ARM] 4546/1: s3c2410: fix architecture typo for s3c2442 From: Krzysztof Helt This patch fixes a typo in architecture constant name. The kernel for s3c2442 machines does not build without this fix. Signed-off-by: Krzysztof Helt Acked-by: Ben Dooks Signed-off-by: Russell King commit d18c4d687dd4625360ee14047d7eb454217719ee Author: Steven Whitehouse Date: Thu Jul 19 16:12:50 2007 +0100 [GFS2] Revert remounting w/o acl option leaves acls enabled This reverts commit 569a7b6c2e8965ff4908003b925757703a3d649c. The code was correct originally. The default setting for ACLs after a remount should be to be the same as before the remount. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit b9af7ca6d37d541fb0ed96355fd5c65501cbbda8 Author: Steven Whitehouse Date: Wed Jul 18 11:40:06 2007 +0100 [GFS2] Fix setting of inherit jdata attr Due to a mix up between the jdata attribute and inherit jdata attribute it has not been possible to set the inherit jdata attribute on directories. This is now fixed and the ioctl will report the inherit jdata attribute for directories rather than the jdata attribute as it did previously. This stems from our need to have the one bit in the ioctl attr flags mean two different things according to whether the underlying inode is a directory or not. Signed-off-by: Steven Whitehouse commit a867bb28c1cb49ae86d034d8bd8fe6dbcbb19566 Author: Steven Whitehouse Date: Tue Jul 17 10:29:02 2007 +0100 [GFS2] Fix incorrect error path in prepare_write() The error path in prepare_write() was incorrect in the (very rare) event that the transaction fails to start. The following prevents a NULL pointer dereference, Signed-off-by: Steven Whitehouse commit 6eefaf61f664053c1dd6534a994cab3f8bb07263 Author: Steven Whitehouse Date: Tue Jul 17 10:26:56 2007 +0100 [GFS2] Fix incorrect return code in rgrp.c The following patch fixes a bug where 0 was being used as a return code to indicate "nothing to do" when in fact 0 was a valid block location which might be returned by the function. Signed-off-by: Steven Whitehouse commit 24c7387333c77b602ece7ecd6a85fc94f8f16d8c Author: Bob Peterson Date: Thu Jul 12 16:58:50 2007 -0500 [GFS2] soft lockup in rgblk_search This patch seems to fix the problem described in bugzilla bug 246114. It was written by Steve Whitehouse with some tweaking by me. The code was looping in the relatively new section of code designed to search for and reuse unlinked inodes. In cases where it was finding an appropriate inode to reuse, it was looping around and finding the same block over and over because a "<=" check should have been a "<" when comparing the goal block to the last unlinked block found. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit bdcb88562ca90e6cfac13130e147c63aaa4f9e41 Author: Bob Peterson Date: Wed Jul 11 15:55:23 2007 -0500 [GFS2] soft lockup detected in databuf_lo_before_commit This is part 2 of the patch for bug #245832, part 1 of which is already in the git tree. The problem was that sdp->sd_log_num_databuf was not always being protected by the gfs2_log_lock spinlock, but the sd_log_le_databuf (which it is supposed to reflect) was protected. That meant there was a timing window during which gfs2_log_flush called databuf_lo_before_commit and the count didn't match what was really on the linked list in that window. So when it ran out of items on the linked list, it decremented total_dbuf from 0 to -1 and thus never left the "while(total_dbuf)" loop. The solution is to protect the variable sdp->sd_log_num_databuf so that the value will always match the contents of the linked list, and therefore the number will never go negative, and therefore, the loop will be exited properly. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 3650925893469ccb03dbcc6a440c5d363350f591 Author: David Teigland Date: Tue Aug 7 09:44:48 2007 -0500 [DLM] fix basts for granted PR waiting CW Fix a long standing bug where a blocking callback would be missed when there's a granted lock in PR mode and waiting locks in both PR and CW modes (and the PR lock was added to the waiting queue before the CW lock). The logic simply compared the numerical values of the modes to determine if a blocking callback was required, but in the one case of PR and CW, the lower valued CW mode blocks the higher valued PR mode. We just need to add a special check for this PR/CW case in the tests that decide when a blocking callback is needed. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 9e5f2825a8b721360b291f14f42cd7a25781156b Author: Patrick Caulfield Date: Thu Aug 2 14:58:14 2007 +0100 [DLM] More othercon fixes The last patch to clean out 'othercon' structures only fixed half the problem. The attached addresses the other situations too, and fixes bz#238490 Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 1a2bf2eefb63a267aea7f3f80d6ac59160e20810 Author: Jesper Juhl Date: Thu Jul 19 00:27:43 2007 +0200 [DLM] Fix memory leak in dlm_add_member() when dlm_node_weight() returns less than zero There's a memory leak in fs/dlm/member.c::dlm_add_member(). If "dlm_node_weight(ls->ls_name, nodeid)" returns < 0, then we'll return without freeing the memory allocated to the (at that point yet unused) 'memb'. This patch frees the allocated memory in that case and thus avoids the leak. Signed-off-by: Jesper Juhl Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 01c8cab25863de007fe8c598d0033919ea8ae65e Author: Patrick Caulfield Date: Tue Jul 17 16:53:15 2007 +0100 [DLM] zero unused parts of sockaddr_storage When we build a sockaddr_storage for an IP address, clear the unused parts as they could be used for node comparisons. I have seen this occasionally make sctp connections fail. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 41684f9547455b395ffd65e5b7961067d20a2872 Author: David Teigland Date: Fri Jul 13 14:49:06 2007 -0500 [DLM] fix NULL ls usage Fix regression in recent patch "[DLM] variable allocation" which attempts to dereference an "ls" struct when it's NULL. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 25720c2d73058f4f929f16093f60817ed52a285c Author: Patrick Caulfield Date: Wed Jul 11 13:39:43 2007 +0100 [DLM] Clear othercon pointers when a connection is closed This patch clears the othercon pointer and frees the memory when a connnection is closed. This could cause a small memory leak when nodes leave the cluster. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit ce57a02c64052c3f1c62f30a902a937e6c316d88 Author: Auke Kok Date: Thu Aug 9 14:09:34 2007 -0700 e1000: Add device IDs of new 82571 board variants This patch adds support for 2 new board variants: - A Quad port fiber 82571 board - A blade version of the 82571 quad copper board Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit cae7ca3d3de48851e929de9469397749638df779 Author: Heiko Carstens Date: Fri Aug 10 15:50:30 2007 -0700 [IPVS]: Use IP_VS_WAIT_WHILE when encessary. For architectures that don't have a volatile atomic_ts constructs like while (atomic_read(&something)); might result in endless loops since a barrier() is missing which forces the compiler to generate code that actually reads memory contents. Fix this in ipvs by using the IP_VS_WAIT_WHILE macro which resolves to while (expr) { cpu_relax(); } (why isn't this open coded btw?) Signed-off-by: Heiko Carstens Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit 7f353bf29e162459f2f1e2ca25e41011fae65241 Author: Herbert Xu Date: Fri Aug 10 15:47:58 2007 -0700 [NET]: Share correct feature code between bridging and bonding http://bugzilla.kernel.org/show_bug.cgi?id=8797 shows that the bonding driver may produce bogus combinations of the checksum flags and SG/TSO. For example, if you bond devices with NETIF_F_HW_CSUM and NETIF_F_IP_CSUM you'll end up with a bonding device that has neither flag set. If both have TSO then this produces an illegal combination. The bridge device on the other hand has the correct code to deal with this. In fact, the same code can be used for both. So this patch moves that logic into net/core/dev.c and uses it for both bonding and bridging. In the process I've made small adjustments such as only setting GSO_ROBUST if at least one constituent device supports it. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f71417614d63932cf56ed98a0947568d6259d11e Author: Mariusz Kozlowski Date: Fri Aug 10 15:26:18 2007 -0700 [ATM] drivers/atm/iphase.c: mostly kmalloc + memset conversion to kzalloc drivers/atm/iphase.c | 111508 -> 111431 (-77 bytes) drivers/atm/iphase.o | 254740 -> 254260 (-480 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 48e3eeb1a1a89a3ea256cf6d3c898e753787cfaa Author: Mariusz Kozlowski Date: Fri Aug 10 15:25:40 2007 -0700 [IRDA] irda-usb.c: mostly kmalloc + memset conversion to k[cz]alloc drivers/net/irda/irda-usb.c | 59694 -> 59541 (-153 bytes) drivers/net/irda/irda-usb.o | 170588 -> 169256 (-1332 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1ee325438cdbe374ebea6e3d2f19204072c15038 Author: Mariusz Kozlowski Date: Fri Aug 10 15:24:50 2007 -0700 [WAN] drivers/net/wan/hdlc_fr.c: kmalloc + memset conversion to kzalloc drivers/net/wan/hdlc_fr.c | 31260 -> 31223 (-37 bytes) drivers/net/wan/hdlc_fr.o | 144872 -> 144728 (-144 bytes) Signed-off-by: Mariusz Kozlowski Acked-by: Krzysztof Halasa Signed-off-by: Andrew Morton commit e576de82ee628f68e5a44527c7ee99eadeab2e62 Author: Jesper Juhl Date: Fri Aug 10 15:23:54 2007 -0700 [DCCP]: fix memory leak and clean up style - dccp_feat_empty_confirm() There's a memory leak in net/dccp/feat.c::dccp_feat_empty_confirm(). If we hit the 'default:' case of the 'switch' statement, then we return without freeing 'opt', thus leaking 'struct dccp_opt_pend' bytes. The leak is fixed easily enough by adding a kfree(opt); before the return statement. The patch also changes the layout of the 'switch' to be more in line with CodingStyle. Signed-off-by: Jesper Juhl Acked-by: Ian McDonald Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d725fdc8027a4cd961f58d92917fbb91b171abfa Author: Oleg Nesterov Date: Fri Aug 10 15:21:17 2007 -0700 [DCCP]: fix theoretical ccids_{read,write}_lock() race Make sure that spin_unlock_wait() is properly ordered wrt atomic_inc(). (akpm: can't we convert this code to use rwlocks?) Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b5890d8ba47741425fe3c0d753e1b57bc0561b7b Author: Jesper Juhl Date: Fri Aug 10 15:20:21 2007 -0700 [XFRM]: Clean up duplicate includes in net/xfrm/ This patch cleans up duplicate includes in net/xfrm/ Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 897c77cab0c386103e1c51fe8f3fc7eb5d1eb37f Author: Jesper Juhl Date: Fri Aug 10 15:19:43 2007 -0700 [TIPC]: Clean up duplicate includes in net/tipc/ This patch cleans up duplicate includes in net/tipc/ Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 08dd2e29468d55f67fa346ede07ddfc58a60536b Author: Jesper Juhl Date: Fri Aug 10 15:19:09 2007 -0700 [SUNRPC]: Clean up duplicate includes in net/sunrpc/ This patch cleans up duplicate includes in net/sunrpc/ Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0a26f4cdc207db14a8e7192bac5a7c84d9e2390a Author: Jesper Juhl Date: Fri Aug 10 15:18:31 2007 -0700 [PKT_SCHED]: Clean up duplicate includes in net/sched/ This patch cleans up duplicate includes in net/sched/ Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 703310e645c639a84e7f4b35d8a508acde9ef360 Author: Jesper Juhl Date: Fri Aug 10 15:17:58 2007 -0700 [IPV6]: Clean up duplicate includes in net/ipv6/ This patch cleans up duplicate includes in net/ipv6/ Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f49f9967b263cc88b48d912172afdc621bcb0a3c Author: Jesper Juhl Date: Fri Aug 10 15:17:24 2007 -0700 [IPV4]: Clean up duplicate includes in net/ipv4/ This patch cleans up duplicate includes in net/ipv4/ Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6869a35b365c027b7acf50585c5bb34e34d4c41c Author: Jesper Juhl Date: Fri Aug 10 15:16:42 2007 -0700 [ATM]: Clean up duplicate includes in net/atm/ This patch cleans up duplicate includes in net/atm/ Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit af3502184aee8a0af6da8678e84c3d5bc5cdb83f Author: Jesper Juhl Date: Fri Aug 10 15:15:55 2007 -0700 [ATM]: Clean up duplicate includes in drivers/atm/ This patch cleans up duplicate includes in drivers/atm/ Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit dcbdc93c6c64daf20622d6deae774d1e740efb8d Author: Joakim Tjernlund Date: Fri Aug 10 15:14:54 2007 -0700 [IPCONFIG]: ip_auto_config fix The following commandline: root=/dev/mtdblock6 rw rootfstype=jffs2 ip=192.168.1.10:::255.255.255.0:localhost.localdomain:eth1:off console=ttyS0,115200 makes ip_auto_config fall back to DHCP and complain "IP-Config: Incomplete network configuration information." depending on if CONFIG_IP_PNP_DHCP is set or not. The only way I can make ip_auto_config accept my IP config is to add an entry for the server IP: ip=192.168.1.10:192.168.1.15::255.255.255.0:localhost.localdomain:eth1:off I think this is a bug since I am not using a NFS root FS. The following patch fixes the above problem. From: Andrew Morton Davem said (in February!): Well, first of all the change in question is not in 2.4.x either. I just checked the current 2.4.x GIT tree and the test is exactly: if (ic_myaddr == INADDR_NONE || #ifdef CONFIG_ROOT_NFS (MAJOR(ROOT_DEV) == UNNAMED_MAJOR && root_server_addr == INADDR_NONE && ic_servaddr == INADDR_NONE) || #endif ic_first_dev->next) { which matches 2.6.x I even checked 2.4.x when it was branched for 2.5.x and the test was the same at the point in time too. Looking at the proposed change a bit it appears that it is probably correct, as it's trying to check that ROOT_DEV is nfs root. But if it is correct then the UNNAMED_MAJOR comparison in the same code block should be removed as it becomes superfluous. I'm happy to apply this patch with that modification made. Signed-off-by: Joakim Tjernlund Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 8aee929eda10b2502fd76c0bf2003f89f7992820 Author: Adrian Bunk Date: Fri Aug 10 15:14:18 2007 -0700 [ATM]: fore200e_param_bs_queue() must be __devinit WARNING: drivers/built-in.o(.text+0x6203bb): Section mismatch: reference to .init.text:fore200e_param_bs_queue (between 'fore200e_initialize' and 'fore200e_monitor_putc') Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 10a273a67343e1f317652d69b09a212ee0284b44 Author: Jeremy Fitzhardinge Date: Mon Aug 13 12:54:37 2007 -0700 xen-netfront: Avoid deref'ing skbafter it is potentially freed. xennet_tx_bug_gc can free the skb before we use it, so make sure we don't. Signed-off-by: Keir Fraser Signed-off-by: Jeremy Fitzhardinge Cc: Jeff Garzik Signed-off-by: Jeff Garzik commit a6d89915aa668776494fec8568d46aa6043ff848 Author: Steffen Klassert Date: Fri Aug 10 14:05:27 2007 -0700 3c59x maintainer Add 3c59x maintainer. Signed-off-by: Steffen Klassert Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 373492d0bdc66680ee598fd5a63e1914631b2522 Author: Steffen Klassert Date: Fri Aug 10 14:05:26 2007 -0700 3c59x: fix duplex configuration A special sequence of ifconfig up/down and plug/unplug the cable can break the duplex configuration of the driver. Setting vp->mii.full_duplex = vp->full_duplex in vortex_up should fix this. Addresses Bug 8575 3c59x duplex configuration broken http://bugzilla.kernel.org/show_bug.cgi?id=8575 Cc: Martin Buck Signed-off-by: Steffen Klassert Cc: Natalie Protasevich Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c76720cf7ba63a3d179b6da8675653c8b01b6c0b Author: Andrew Morton Date: Fri Aug 10 14:05:23 2007 -0700 natsemi: fix netdev error acounting When a detailed netdev error is counted, we also must account for it in the aggregated error count. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=8106 Cc: Tim Hockin Cc: Jeff Garzik Cc: Chongfeng Hu Cc: Natalie Protasevich Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b4efe22cc987f4cd68ff838556580c0cc8c64cbc Author: Andrew Morton Date: Fri Aug 10 14:05:21 2007 -0700 ax88796 printk fixes drivers/net/ax88796.c: In function `ax_probe': drivers/net/ax88796.c:825: warning: size_t format, different type arg (arg 4) drivers/net/ax88796.c:825: warning: size_t format, different type arg (arg 5) resource_size_t isn't size_t. Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 626fda948839fc2f488f527076b8f42b1b7a4687 Author: Brice Goglin Date: Thu Aug 9 09:02:14 2007 +0200 myri10ge: Use the pause counter to avoid a needless device reset Use the pause counter to avoid a needless device reset, and print a message telling the admin that our link partner is flow controlling us down to 0 pkts/sec. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit b47157f00414f368f2847697ce48b76f1a5e5110 Author: Dustin Marquess Date: Fri Aug 10 14:05:15 2007 -0700 via-rhine: disable rx_copybreak on archs that don't allow unaligned DMA access Patch to disable the rx_copybreak feature on hardware architectures that don't allow unaligned DMA access. #ifdef code taken from tulip_core.c. Problem pointed out by Ivan Kokshaysky. Signed-off-by: Dustin Marquess Cc: Francois Romieu Cc: Ivan Kokshaysky Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c019b1933015ee31366eeaa085bad3ee9516991c Author: Alexey Starikovskiy Date: Tue Aug 14 01:03:42 2007 -0400 ACPI: EC: Fix "no battery" regression Restore deleted call to register query methods. http://bugzilla.kernel.org/show_bug.cgi?id=8886 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 352b0ef50d98049bf022a31eaf2272f52e2f5219 Author: Mike Habeck Date: Mon Aug 13 17:13:08 2007 -0500 [IA64] SGI Altix : fix a force_interrupt bug on altix If the interrupt has been disabled, don't call the force_interrupt provider. Doing so can result in an infinite runaway interrupt loop. Signed-off-by: Mike Habeck Signed-off-by: Tony Luck commit 709ae9309102875f9798349b64849b6743e25193 Author: Christoph Lameter Date: Mon Aug 13 14:54:34 2007 -0700 [IA64] Update arch/ia64/configs/* s/SLAB/SLUB/ The slab allocator was changed in 2.6.23 to default to SLUB. However, the config files in arch/ia64/configs still use SLAB. Switch them to SLUB. Added same change to arch/ia64/defconfig ... Tony Signed-off-by: Christoph Lameter Signed-off-by: Tony Luck commit 9bf77d0e20d08f4fd5f3b14e50dce3bb21df03ac Author: David Mosberger-Tang Date: Thu Aug 9 19:58:52 2007 -0600 [IA64] get back PT_IA_64_UNWIND program header Explicitly put the unwind section into its own program-header. This used to be unnecessary (probably because binutils did it for us), but with current binutils (e.g., v2.17.50.20070804) we won't get the PT_IA_64_UNWIND header without this patch which will break unwinding in a debugger and simulators such as Ski. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 336cdba8640677117bc3fd101e3e1a34c98a275d Author: David Mosberger-Tang Date: Thu Aug 9 11:53:15 2007 -0600 [IA64] need NOTES in vmlinux.lds.S Add NOTES to linker script such that the kernel can be built with recent versions of binutils. Without this patch, final link fails with this error: ld: .tmp_vmlinux1: section `.text' can't be allocated in segment 0 ld: final link failed: Bad value This error is due to the fact that the --build-id option is used with newer linkers to include a .notes section on the kernel, but without the NOTES macro, that section won't be included in the kernel which then leads to the above error message. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit 5d36aa9bbed32507b21e345f9d065868af5f5991 Author: David Mosberger-Tang Date: Thu Aug 9 16:54:27 2007 -0600 [IA64] make unwinder stop at last frame of the bootloader Add a dummy nop at the end of _start() to maintain the invariant that the return-pointer (rp) always point to the calling function. This makes unwinding stop at the last frame, as it should. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck commit a1287476e86568374ed6aadbb4123d9eff6f7b09 Author: Russ Anderson Date: Fri Aug 3 14:32:37 2007 -0500 [IA64] Clean up CPE handler registration Use local_vector_to_irq() instead of looping through all NR_IRQS. This avoids registering the CPE handler on multiple irqs. Only register if the irq is valid. If no valid irq is found, print an error message and set up polling. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 0b0517a475c2fd601d01acb4a585644eda9c9395 Author: Satyam Sharma Date: Mon Aug 13 23:41:45 2007 +0530 [IA64] Include Kconfig.preempt arch/ia64/Kconfig failed to include kernel/Kconfig.preempt that meant it did not support PREEMPT_VOLUNTARY and PREEMPT_BKL (inadvertently). This was recently noticed when the newly-added PREEMPT_NOTIFIERS in Kconfig.preempt that was "select"ed from drivers/kvm/Kconfig (therefore) started giving bogus warnings ('select' used by config symbol 'KVM' refers to undefined symbol 'PREEMPT_NOTIFIERS') on ia64 builds. So let's remove the open-coded definition of CONFIG_PREEMPT in arch/ia64/Kconfig and replace it with just including Kconfig.preempt instead, like the other archs do. Signed-off-by: Satyam Sharma Signed-off-by: Tony Luck commit af5a032b8082cddb4dc62a9ff94bf1ec4d34a044 Author: Steve French Date: Mon Aug 13 19:53:17 2007 +0000 [CIFS] Update CIFS project web site Signed-off-by: Steve French commit 1115200a3df64d6925bc94b404039e7082409af4 Author: Kenji Kaneshige Date: Mon Aug 13 10:31:26 2007 -0700 [IA64] SN2 needs platform specific irq_to_vector() function. Add base support for implementing platform_irq_to_vector(), and then use it on SN2. Signed-off-by: Kenji Kaneshige Acked-by: John Keller Signed-off-by: Tony Luck commit 6cba986298105a87a09d65baa2658fb5111459c6 Author: Andreas Schwab Date: Fri Aug 10 23:42:59 2007 +0200 [IA64] Use atomic64_read to read an atomic64_t. The routines ia64_atomic64_{add,sub} mistakenly use atomic_read() to grab the old value instead of using atomic64_read(). Signed-off-by: Andreas Schwab Signed-off-by: Tony Luck commit 71416bea5afa9e5a6c76c1509ab69c46c857a2bb Author: Dimitri Sivanich Date: Tue Aug 7 08:49:32 2007 -0500 [IA64] disable irq's and check need_resched before safe_halt While sending interrupts to a cpu to repeatedly wake a thread, on occasion that thread will take a full timer tick cycle (4002 usec in my case) to wakeup. The problem concerns a race condition in the code around the safe_halt() call in the default_idle() routine. Setting 'nohalt' on the kernel command line causes the long wakeups to disappear. void default_idle (void) { local_irq_enable(); while (!need_resched()) { --> if (can_do_pal_halt) --> safe_halt(); else A timer tick could arrive between the check for !need_resched and the actual call to safe_halt() (which does a pal call to PAL_HALT_LIGHT). By the time the timer tick completes, a thread that might now need to run could get held up for as long as a timer tick waiting for the halted cpu. I'm proposing that we disable irq's and check need_resched again before calling safe_halt(). Does anyone see any problem with this approach? Signed-off-by: Dimitri Sivanich Signed-off-by: Tony Luck commit 947b2a8083a03e6fff448ce8928956015614855e Author: Eli Cohen Date: Mon Aug 13 17:57:03 2007 +0300 mlx4_core: Wait 1 second after reset before accessing device Put a 1000 msec delay after resetting the device before attempting to do config cycles on it. Not waiting causes system hangs on some chipsets, e.g. Intel E7520, when the driver is loaded. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 39d3520c92cf7a28c07229ca00cc35a1e8026c77 Author: Linus Torvalds Date: Sun Aug 12 21:25:24 2007 -0700 Linux 2.6.23-rc3 commit 68a50b567895ea677645ca3cebc484674123532d Author: Jean Delvare Date: Sun Aug 12 13:58:50 2007 +0200 hwmon: (smsc47m1) restore missing name attribute The smsc47m1 driver no longer creates the name attribute used by libsensors to identify chip types. It was lost during the conversion to a platform driver. I was fooled by the fact that we do have a group with all attributes, but only to delete them all at once. The group is not used to create the attributes, so we have to explicitly create the name attribute. This fixes lm-sensors ticket #2236: http://lm-sensors.org/ticket/2236 Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 0956895aa6f8dc6a33210967252fd7787652537d Author: Jean Delvare Date: Sat Aug 11 13:57:05 2007 +0200 hwmon: (w83627ehf) don't assume bank 0 Don't assume that the default bank is 0. For one thing, we don't even set it to 0 when the driver is loaded, so the initial state might be different. For another, something (say, the BIOS) might access the chip and leave with the bank set to something different, so assuming that the bank value is 0 is not safe. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ea7be66c44e56b6b7f1d61befc300871e855d43a Author: Mark M. Hoffman Date: Sun Aug 5 12:19:01 2007 -0400 hwmon: (w83627ehf) read fan_div values during probe This patch forces the driver to read the fan divider values during early init. Otherwise, a call to store_fan_min() could access uninitialized variables. Signed-off-by: Mark M. Hoffman Signed-off-by: Jean Delvare commit cc75b92d11384ba14f93828a2a0040344ae872e7 Author: Thomas Gleixner Date: Sun Aug 12 15:46:36 2007 +0000 genirq: mark io_apic level interrupts to avoid resend Level type interrupts do not need to be resent. It was also found that some chipsets get confused in case of the resend. Mark the ioapic level type interrupts as such to avoid the resend functionality in the generic irq code. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 2464286ace55b3abddfb9cc30ab95e2dac1de9a6 Author: Thomas Gleixner Date: Sun Aug 12 15:46:35 2007 +0000 genirq: suppress resend of level interrupts Level type interrupts are resent by the interrupt hardware when they are still active at irq_enable(). Suppress the resend mechanism for interrupts marked as level. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 496634217e5671ed876a0348e9f5b7165e830b20 Author: Thomas Gleixner Date: Sun Aug 12 15:46:34 2007 +0000 genirq: cleanup mismerge artifact Commit 5a43a066b11ac2fe84cf67307f20b83bea390f83: "genirq: Allow fasteoi handler to retrigger disabled interrupts" was erroneously applied to handle_level_irq(). This added the irq retrigger / resend functionality to the level irq handler. Revert the offending bits. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit de0cf899bbf06b6f64a5dce9c59d74c41b6b4232 Author: Oleg Nesterov Date: Sun Aug 12 18:08:19 2007 +0200 sched: run_rebalance_domains: s/SCHED_IDLE/CPU_IDLE/ rebalance_domains(SCHED_IDLE) looks strange (typo), change it to CPU_IDLE. the effect of this bug was slightly more agressive idle-balancing on SMP than intended. Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit 5d2b3d3695a841231b65b5536a70dc29961c5611 Author: Ingo Molnar Date: Sun Aug 12 18:08:19 2007 +0200 sched: fix sleeper bonus Peter Ziljstra noticed that the sleeper bonus deduction code was not properly rate-limited: a task that scheduled more frequently would get a disproportionately large deduction. So limit the deduction to delta_exec. Signed-off-by: Ingo Molnar commit 6707de00fdec3e3225192fe3dcd21323a8936b1f Author: Adrian Bunk Date: Sun Aug 12 18:08:19 2007 +0200 sched: make global code static This patch makes the following needlessly global code static: - arch_reinit_sched_domains() - struct attr_sched_mc_power_savings - struct attr_sched_smt_power_savings Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit c1502e28346fd3b9955ce654c96212c4748d900d Author: Linus Torvalds Date: Sun Aug 12 02:23:16 2007 -0700 i386: Fix broken mmiocfg accesses Commit 3320ad994afb2c44ad34b3b34c3c5cf0da297331 broke mmio config space accesses totally on i386 - it dropped the "reg" offset to the address. Cc: dean gaudet Cc: Andi Kleen Signed-off-by: Linus Torvalds commit b8d3f2448b8f4ba24f301e23585547ba1acc1f04 Author: Petr Vandrovec Date: Sun Aug 12 10:12:52 2007 +0200 Do not replace whole memcpy in apply alternatives apply_alternatives uses memcpy() to apply alternatives. Which has the unfortunate effect that while applying memcpy alternative to memcpy itself it tries to overwrite itself with nops - which causes #UD fault as it overwrites half of an instruction in copy loop, and from this point on only possible outcome is triplefault and reboot. So let's overwrite only first two instructions of memcpy - as long as the main memcpy loop is not in first two bytes it will work fine. Signed-off-by: Petr Vandrovec Signed-off-by: Linus Torvalds commit 0b5bfa1cbefdc6e4c60f30ed545389b5ffe0f75f Author: Len Brown Date: Sun Aug 12 00:13:02 2007 -0400 ACPI: thermal: add DMI hooks to handle AOpen's broken Award BIOS Use DMI to: 1. enable polling (BIOS thermal events are broken) 2. disable active trip points (BIOS fan control is broken) 3. disable passive trip point (BIOS hard-codes it too low) The actual temperature reading does work, and with the aid of polling, the critical trip point should work too. http://bugzilla.kernel.org/show_bug.cgi?id=8842 Signed-off-by: Len Brown commit f8707ec9643769957065405b5090e4aa64fd8214 Author: Len Brown Date: Sun Aug 12 00:12:54 2007 -0400 ACPI: thermal: create "thermal.act=" to disable or override active trip point thermal.act=-1 disables all active trip points in all ACPI thermal zones. thermal.act=C, where C > 0, overrides all lowest temperature active trip points in all thermal zones to C degrees Celsius. Raising this trip-point may allow you to keep your system silent up to a higher temperature. However, it will not allow you to raise the lowest temperature trip point above the next higher trip point (if there is one). Lowering this trip point may kick in the fan sooner. Note that overriding this trip-point will disable any BIOS attempts to implement hysteresis around the lowest temperature trip point. This may result in the fan starting and stopping frequently if temperature frequently crosses C. WARNING: raising trip points above the manufacturer's defaults may cause the system to run at higher temperature and shorten its life. Signed-off-by: Len Brown commit f54871456162aff557d57bec51639b1288d4a84b Author: Len Brown Date: Sun Aug 12 00:12:44 2007 -0400 ACPI: thermal: create "thermal.nocrt" to disable critical actions thermal.nocrt=1 disables actions on _CRT and _HOT ACPI thermal zone trip-points. They will be marked as in /proc/acpi/thermal_zone/*/trip_points. There are two cases where this option is used: 1. Debugging a hot system crossing valid trip point. If your system fan is spinning at full speed, be sure that the vent is not clogged with dust. Many laptops have very fine thermal fins that are easily blocked. Check that the processor fan-sink is properly seated, has the proper thermal grease, and is really spinning. Check for fan related options in BIOS SETUP. Sometimes there is a performance vs quiet option. Defaults are generally the most conservative. If your fan is not spinning, yet /proc/acpi/fan/ has files in it, please file a Linux/ACPI bug. WARNING: you risk shortening the lifetime of your hardware if you use this parameter on a hot system. Note that this refers to all system components, including the disk drive. 2. Working around a cool system crossing critical trip point due to erroneous temperature reading. Try again with CONFIG_HWMON=n There is known potential for conflict between the the hwmon sub-system and the ACPI BIOS. If this fixes it, notify lm-sensors@lm-sensors.org and linux-acpi@vger.kernel.org Otherwise, file a Linux/ACPI bug, or notify just linux-acpi@vger.kernel.org. Signed-off-by: Len Brown commit a70cdc5200b0eb9fc3ef64efb29baac9b2cf2431 Author: Len Brown Date: Sun Aug 12 00:12:35 2007 -0400 ACPI: thermal: create "thermal.psv=" to override passive trip points "thermal.psv=-1" disables passive trip points for all ACPI thermal zones. "thermal.psv=C", where 'C' is degrees Celsius, overrides all existing passive trip points for all ACPI thermal zones. thermal.psv is checked at module load time, and in response to trip-point change events. Note that if the system does not deliver thermal zone temperature change events near the new trip-point, then it will not be noticed. To force your custom trip point to be noticed, you may need to enable polling: eg. thermal.tzp=3000 invokes polling every 5 minutes. Note that once passive thermal throttling is invoked, it has its own internal Thermal Sampling Period (_TSP), that is unrelated to _TZP. WARNING: disabling or raising a thermal trip point may result in increased running temperature and shorter hardware lifetime on some systems. Signed-off-by: Len Brown commit 730ff34de766a6fddee25ac1c32bc49c1a2fd758 Author: Len Brown Date: Sun Aug 12 00:12:26 2007 -0400 ACPI: thermal: expose "thermal.tzp=" to set global polling frequency Thermal Zone Polling frequency (_TZP) is an optional ACPI object recommending the rate that the OS should poll the associated thermal zone. If _TZP is 0, no polling should be used. If _TZP is non-zero, then the platform recommends that the OS poll the thermal zone at the specified rate. The minimum period is 30 seconds. The maximum period is 5 minutes. (note _TZP and thermal.tzp units are in deci-seconds, so _TZP = 300 corresponds to 30 seconds) If _TZP is not present, ACPI 3.0b recommends that the thermal zone be polled at an "OS provided default frequency". However, common industry practice is: 1. The BIOS never specifies any _TZP 2. High volume OS's from this century never poll any thermal zones Ie. The OS depends on the platform's ability to provoke thermal events when necessary, and the "OS provided default frequency" is "never":-) There is a proposal that ACPI 4.0 be updated to reflect common industry practice -- ie. no _TZP, no polling. The Linux kernel already follows this practice -- thermal zones are not polled unless _TZP is present and non-zero. But thermal zone polling is useful as a workaround for systems which have ACPI thermal control, but have an issue preventing thermal events. Indeed, some Linux distributions still set a non-zero thermal polling frequency for this reason. But rather than ask the user to write a polling frequency into all the /proc/acpi/thermal_zone/*/polling_frequency files, here we simply document and expose the already existing module parameter to do the same at system level, to simplify debugging those broken platforms. Note that thermal.tzp is a module-load time parameter only. Signed-off-by: Len Brown commit 72b33ef8bb1ac7f6c5a16d23304ab25ddc73d93d Author: Len Brown Date: Sun Aug 12 00:12:17 2007 -0400 ACPI: thermal: create "thermal.off=1" to disable ACPI thermal support "thermal.off=1" disables all ACPI thermal support at boot time. CONFIG_ACPI_THERMAL=n can do this at build time. "# rmmod thermal" can do this at run time, as long as thermal is built as a module. WARNING: On some systems, disabling ACPI thermal support will cause the system to run hotter and reduce the lifetime of the hardware. Signed-off-by: Len Brown commit 9de1cc4a1724adda84101912e8ba51460f110044 Author: Henrique de Moraes Holschuh Date: Sat Aug 11 00:08:33 2007 -0300 ACPI: thinkpad-acpi: fix sysfs paths in documentation The documentation used "thinkpad-acpi" to refer to the directories in sysfs, while it should have been using "thinkpad_acpi". Thanks to Hugh Dickins for the error report. I wish I could just call the module and everything else by the proper name with the "-", instead of using these ugly translations to "_". Signed-off-by: Henrique de Moraes Holschuh Cc: Hugh Dickins Signed-off-by: Len Brown commit 5ba056cb3c5d424dc2886fb02305af11fa46af02 Author: Michal Piotrowski Date: Sun Aug 12 12:18:54 2007 +0900 sh64: arch/sh64/kernel/setup.c: duplicate include removal. There is no need to include linux/console.h twice. Signed-off-by: Michal Piotrowski Signed-off-by: Paul Mundt commit f6d7543ab2098cc32d09b8b4edae6934977792c1 Author: Jesper Juhl Date: Sun Aug 12 12:16:45 2007 +0900 sh64: arch/sh64/kernel/signal.c: duplicate include removal Remove the duplicate inclusion of linux/personality.h from arch/sh64/kernel/signal.c Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit e13d87473284131a7ead8121d5d29345101f68a4 Author: Adrian Bunk Date: Fri Aug 10 13:45:18 2007 -0700 ACPI: static Make the needlessly global "acpi_event_seqnum" static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 199e9e7d1106686a85ee9fdf6a824051aa82682e Author: Alexey Starikovskiy Date: Fri Aug 10 13:45:18 2007 -0700 ACPI EC: remove potential deadlock from EC Signed-off-by: Alexey Starikovskiy Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 66b568218ab73be161dc109b913e6fa7dda44e16 Author: Holger Macht Date: Fri Aug 10 13:10:32 2007 -0700 ACPI: dock: Send key=value pair instead of plain value Send key=value pair along with the uevent instead of a plain value so that userspace (udev) can handle it like common environment variables. Signed-off-by: Holger Macht Acked-by: Kristen Carlson Accardi Cc: Stephan Berberig Signed-off-by: Andrew Morton Acked-by: Greg Kroah-Hartman Signed-off-by: Len Brown commit 7aa763cb56b6efdfa5c1b83c336abf1be914afcd Author: Stephan Berberig Date: Fri Aug 10 13:10:31 2007 -0700 ACPI: bay: send envp with uevent - fix There must not be a new-line character in the uevent. Otherwise, udev gets confused. Thanks to Kay Sievers for pointing it out. Signed-off-by: Stephan Berberig Cc: Kristen Carlson Accardi Signed-off-by: Andrew Morton Acked-by: Greg Kroah-Hartman Signed-off-by: Len Brown commit 1e6a20c9c7848fefa64731ac3d1d88279c447371 Author: Sam Ravnborg Date: Tue Aug 7 19:03:27 2007 +0100 [ARM] 4544/1: arm: fix section mismatch in pxa fb Fix following section mismatch warning: WARNING: drivers/built-in.o(.text+0x73d0): Section mismatch: reference to .init.data: (between 'pxafb_setup' and 'pxafb_init') The warning are caused by __devinit pxafb_setup() that refers to a variable marked __initdata. In a hotplug scenario we would have a reference to the freed .init.data section. Fix this by declaring g_options __devinitdata. Signed-off-by: Sam Ravnborg Signed-off-by: Russell King commit 3dab307e527f2a9bbb4f9d00240374bb93d1945f Author: Chuck Ebbert Date: Fri Aug 10 22:31:11 2007 +0200 i386: Fix double fault handler The new percpu code has apparently broken the doublefault handler when CONFIG_DEBUG_SPINLOCK is set. Doublefault is handled by a hardware task, making the check SPIN_BUG_ON(lock->owner == current, lock, "recursion"); fault because it uses the FS register to access the percpu data for current, and that register is zero in the new TSS. (The trace I saw was on 2.6.20 where it was GS, but it looks like this will still happen with FS on 2.6.22.) Initializing FS in the doublefault_tss should fix it. AK: Also fix broken ptr_ok() and turn printks into KERN_EMERG AK: And add a PANIC prefix to make clear the system will hang AK: (e.g. x86-64 will recover) Signed-off-by: Chuck Ebbert Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 5fe4486c79cdc8dbbb2a9c3f884a5ad0830a5a23 Author: Andi Kleen Date: Fri Aug 10 22:31:10 2007 +0200 i386: Fix start_kernel warning Fix WARNING: vmlinux.o(.text+0x183): Section mismatch: reference to .init.text:start_kernel (between 'is386' and 'check_x87') Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1f1014896d0ddf26ae03c12c21f73706e8461013 Author: Pete Zaitcev Date: Fri Aug 10 22:31:09 2007 +0200 x86_64: vdso.lds in arch/x86_64/vdso/.gitignore Create arch/x86_64/vdso/.gitignore and put vdso.lds into it. Signed-off-by: Pete Zaitcev Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 43fb2387d0774a36f450b50d538cee84cf83858e Author: Andi Kleen Date: Fri Aug 10 22:31:08 2007 +0200 i386: Add warning in Documentation that zero-page is not a stable ABI Some people writing boot loaders seem to falsely belief the 32bit zero page is a stable interface for out of tree code like the real mode boot protocol. Add a comment clarifying that is not true. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d3f7eae182b04997be19343a23f7009170f4f7a5 Author: Andi Kleen Date: Fri Aug 10 22:31:07 2007 +0200 i386: Use global flag to disable broken local apic timer on AMD CPUs. The Averatec 2370 and some other Turion laptop BIOS seems to program the ENABLE_C1E MSR inconsistently between cores. This confuses the lapic use heuristics because when C1E is enabled anywhere it seems to affect the complete chip. Use a global flag instead of a per cpu flag to handle this. If any CPU has C1E enabled disabled lapic use. Thanks to Cal Peake for debugging. Cc: tglx@linutronix.de Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d2d0251f6faa2cf341500a44310bbaa815a8a972 Author: Adrian Bunk Date: Fri Aug 10 22:31:06 2007 +0200 i386: really stop MCEs during code patching It's CONFIG_X86_MCE, not CONFIG_MCE. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 08da5a2ca479c5e8805dc3f77fd77176c4293399 Author: Zachary Amsden Date: Fri Aug 10 22:31:05 2007 +0200 x86_64: Early segment setup for VT VT is very picky about when it can enter execution. Get all segments setup and get LDT and TR into valid state to allow VT execution under VMware and KVM (untested). This makes the boot decompression run under VT, which makes it several orders of magnitude faster on 64-bit Intel hardware. Before, I was seeing times up to a minute or more to decompress a 1.3MB kernel on a very fast box. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ab144f5ec64c42218a555ec1dbde6b60cf2982d6 Author: Andi Kleen Date: Fri Aug 10 22:31:03 2007 +0200 i386: Make patching more robust, fix paravirt issue Commit 19d36ccdc34f5ed444f8a6af0cbfdb6790eb1177 "x86: Fix alternatives and kprobes to remap write-protected kernel text" uses code which is being patched for patching. In particular, paravirt_ops does patching in two stages: first it calls paravirt_ops.patch, then it fills any remaining instructions with nop_out(). nop_out calls text_poke() which calls lookup_address() which calls pgd_val() (aka paravirt_ops.pgd_val): that call site is one of the places we patch. If we always do patching as one single call to text_poke(), we only need make sure we're not patching the memcpy in text_poke itself. This means the prototype to paravirt_ops.patch needs to change, to marshal the new code into a buffer rather than patching in place as it does now. It also means all patching goes through text_poke(), which is known to be safe (apply_alternatives is also changed to make a single patch). AK: fix compilation on x86-64 (bad rusty!) AK: fix boot on x86-64 (sigh) AK: merged with other patches Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d3f3c9346979bfa074c64eac5fc3ed5bba4f40ed Author: Andi Kleen Date: Fri Aug 10 22:31:02 2007 +0200 x86: Disable CLFLUSH support again It turns out CLFLUSH support is still not complete; we flush the wrong pages. Again disable it for the release. Noticed by Jan Beulich who then also noticed a stupid typo later. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3f3f7b74a7749c3a669ca146270c07568b548665 Author: Andi Kleen Date: Fri Aug 10 22:31:01 2007 +0200 x86_64: Don't mark __exitcall as __cold gcc currently doesn't support attributes on types, so we can't use it function pointers. This avoids some warnings on a gcc 4.3 build. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f055a0619aae795832ef6a783021184925758b67 Author: Murillo Fernandes Bernardes Date: Fri Aug 10 22:31:00 2007 +0200 x86_64: Calgary - Fix mis-handled PCI topology Current code assumed that devices were directly connected to a Calgary bridge, as it tried to get the iommu table directly from the parent bus controller. When we have another bridge between the Calgary/CalIOC2 bridge and the device we should look upwards until we get to the top (Calgary/CalIOC2 bridge), where the iommu table resides. Signed-off-by: Murillo Fernandes Bernardes Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3320ad994afb2c44ad34b3b34c3c5cf0da297331 Author: dean gaudet Date: Fri Aug 10 22:30:59 2007 +0200 x86: Work around mmio config space quirk on AMD Fam10h Some broken devices have been discovered to require %al/%ax/%eax registers for MMIO config space accesses. Modify mmconfig.c to use these registers explicitly (rather than modify the global readb/writeb/etc inlines). AK: also changed i386 to always use eax AK: moved change to extended space probing to different patch AK: reworked with inlines according to Linus' requirements. AK: improve comments. Signed-off-by: dean gaudet Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9535239f6bc99f68e0cfae44505ad402b53ed24c Author: Greg Ungerer Date: Fri Aug 10 13:01:20 2007 -0700 changing include/asm-generic/pgtable.h for non-mmu There are some parts of include/asm-generic/pgtable.h that are relevant to the non-mmu architectures. To make it easier to include this from them I would like to ifdef the relevant parts. Without this there is a handful of functions that are referenced in here that are not defined on many non-mmu architectures. They could be defined out of course, as an alternative approach. Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73c59afc65cfa50c3362b9ce1ec151a79c41dd8e Author: Muli Ben-Yehuda Date: Fri Aug 10 13:01:19 2007 -0700 finish i386 and x86-64 sysdata conversion This patch finishes the i386 and x86-64 ->sysdata conversion and hopefully also fixes Riku's and Andy's observed bugs. It is based on Yinghai Lu's and Andy Whitcroft's patches (thanks!) with some changes: - introduce pci_scan_bus_with_sysdata() and use it instead of pci_scan_bus() where appropriate. pci_scan_bus_with_sysdata() will allocate the sysdata structure and then call pci_scan_bus(). - always allocate pci_sysdata dynamically. The whole point of this sysdata work is to make it easy to do root-bus specific things (e.g., support PCI domains and IOMMU's). I dislike using a default struct pci_sysdata in some places and a dynamically allocated pci_sysdata elsewhere - the potential for someone indavertantly changing the default structure is too high. - this patch only makes the minimal changes necessary, i.e., the NUMA node is always initialized to -1. Patches to do the right thing with regards to the NUMA node can build on top of this (either add a 'node' parameter to pci_scan_bus_with_sysdata() or just update the node when it becomes known). The patch was compile tested with various configurations (e.g., NUMAQ, VISWS) and run-time tested on i386 and x86-64. Unfortunately none of my machines exhibited the bugs so caveat emptor. Andy, could you please see if this fixes the NUMA issues you've seen? Riku, does this fix "pci=noacpi" on your laptop? Signed-off-by: Muli Ben-Yehuda Cc: Yinghai Lu Cc: Andi Kleen Cc: Chuck Ebbert Cc: Cc: Andy Whitcroft Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0b85c0cfdad8977d82fed88e846fc2245585d0e Author: Stephen Hemminger Date: Fri Aug 10 13:01:16 2007 -0700 readahead: docbook fix Minor docbook error since argument name in comment doesn't match function Signed-off-by: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6901e639800e745457b1dcd99c52647981438d7 Author: Jay Estabrook Date: Fri Aug 10 13:01:12 2007 -0700 alpha: -Werror fixes for sys_titan.c This code corrects the usage of the request_irq() routine. Signed-off-by: Jay Estabrook Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1a47190a6000d0e75ee4ffa75f3f6b16dd60a0b Author: Jes Sorensen Date: Fri Aug 10 13:01:11 2007 -0700 lguest files should explicitly include asm/paravirt.h Files using bits from paravirt.h should explicitly include it rather than relying on it being pulled in by something else. Signed-off-by: Jes Sorensen Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd5bfea278987ebfe60f3ff92a01696b17c4f978 Author: Peter Chubb Date: Fri Aug 10 13:01:10 2007 -0700 fix compilation with gcc 4.2 gcc-4.2 is a lot more picky about its symbol handling. EXPORT_SYMBOL no longer works on symbols that are undefined or defined with static scope. For example, with CONFIG_PROFILE off, I see: kernel/profile.c:206: error: __ksymtab_profile_event_unregister causes a section type conflict kernel/profile.c:205: error: __ksymtab_profile_event_register causes a section type conflict This patch moves the EXPORTs inside the #ifdef CONFIG_PROFILE, so we only try to export symbols that are defined. Also, in kernel/kprobes.c there's an EXPORT_SYMBOL_GPL() for jprobes_return, which if CONFIG_JPROBES is undefined is a static inline and gives the same error. And in drivers/acpi/resources/rsxface.c, there's an ACPI_EXPORT_SYMBOPL() for a static symbol. If it's static, it's not accessible from outside the compilation unit, so should bot be exported. These three changes allow building a zx1_defconfig kernel with gcc 4.2 on IA64. [akpm@linux-foundation.org: export jpobe_return properly] Signed-off-by: Peter Chubb Cc: Prasanna S Panchamukhi Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: "Luck, Tony" Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ddfca9548d8ecc26096a30667423ba919109533 Author: Miao Xie Date: Fri Aug 10 13:01:09 2007 -0700 timer: remove clockevents_unregister_notifier I find a function(clockevents_unregister_notifier) which is not called by anything in tree. Signed-off-by: Miao Xie Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96ddbf504a05502800e7cbeb4d08abbcc206c51c Author: David Brownell Date: Fri Aug 10 13:01:09 2007 -0700 spidev warning fix Git rid of "warning: passing arg 2 of `access_ok' makes pointer from integer without a cast" reported on SH ... most architectures use macros in that test, SH uses inlined functions. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a2a4da43995864786d59f5f0ebf42c0c1e2cdd1 Author: Adrian Bunk Date: Fri Aug 10 13:01:08 2007 -0700 cris: drivers/cdrom/Kconfig no longer exists scripts/kconfig/conf -d arch/cris/Kconfig arch/cris/Kconfig:183: can't open file "drivers/cdrom/Kconfig" Signed-off-by: Adrian Bunk Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 844add7abca0d10e9733fc16119e53cb4c1987b4 Author: Josh Triplett Date: Fri Aug 10 13:01:07 2007 -0700 RCU: Remove prototype for nonexistent function synchronize_idle() synchronize_idle() sounds like an interesting function, but we don't actually have it, so don't prototype it. Introduced in commit 9b06e818985d139fd9e82c28297f7744e1b484e1, in 2005. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb9a9a56316f4fea98ee32873ccbf7098b7bd69b Author: Alan Stern Date: Fri Aug 10 13:01:07 2007 -0700 hex_dump: add missing "const" qualifiers Add missing "const" qualifiers to the print_hex_dump_bytes() library routines. (akpm: rumoured to fix some compile warning somewhere) Signed-off-by: Alan Stern Cc: Artem Bityutskiy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c1eafdb063a3701eff24d21eb245e3b1d4ac7df Author: Andrew Morton Date: Fri Aug 10 13:01:06 2007 -0700 mtdchar build fix sh: drivers/mtd/mtdchar.c: In function `mtd_mmap': drivers/mtd/mtdchar.c:817: error: dereferencing pointer to incomplete type drivers/mtd/mtdchar.c:817: error: `VM_SHARED' undeclared (first use in this function) drivers/mtd/mtdchar.c:817: error: (Each undeclared identifier is reported only once Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42fd552e8647316757ded0176466c41d17934dcf Author: Alan Cox Date: Fri Aug 10 13:01:05 2007 -0700 fix serial buffer memory leak Patch c5c34d4862e18ef07c1276d233507f540fb5a532 (tty: flush flip buffer on ldisc input queue flush) introduces a race condition which can lead to memory leaks. The problem can be triggered when tcflush() is called when data are being pushed to the line discipline driver by flush_to_ldisc(). flush_to_ldisc() releases tty->buf.lock when calling the line discipline receive_buf function. At that poing tty_buffer_flush() kicks in and sets both tty->buf.head and tty->buf.tail to NULL. When flush_to_ldisc() finishes, it restores tty->buf.head but doesn't touch tty->buf.tail. This corrups the buffer queue, and the next call to tty_buffer_request_room() will allocate a new buffer and overwrite tty->buf.head. The previous buffer is then lost forever without being released. (Thanks to Laurent for the above text, for finding, disgnosing and reporting the bug) - Use tty->flags bits for the flush status. - Wait for the flag to clear again before returning - Fix the doc error noted - Fix flush of empty queue leaving stale flushpending [akpm@linux-foundation.org: cleanup] Signed-off-by: Alan Cox Acked-by: Paul Fulghum Cc: Laurent Pinchart Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8a745942b1b7f052cb76bb8a893d12cb6329c84 Author: Jarek Poplawski Date: Fri Aug 10 13:01:04 2007 -0700 docs: note about select in kconfig-language.txt A warning note from Sam Ravnborg about kconfig's select evilness, dependencies and the future (slightly corrected). Signed-off-by: Jarek Poplawski Cc: Sam Ravnborg Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09736bd36a19aa8c0630e626563e447213c372b5 Author: Jesper Juhl Date: Fri Aug 10 13:01:04 2007 -0700 Documentation: sysrq, description of 'h' slightly inaccurate In Documentation/sysrq.txt, the description of 'h' says that any key not listed *above* will generate help. That's obviously not true since all the keys listed below 'h' will do what they are described to do, not display help. So change the text so that it says that any key not listed in the table will generate help, which is what really happens. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22f2a2ef9b468569cb34a7a056e54d56fdac0b9d Author: Andy Whitcroft Date: Fri Aug 10 13:01:03 2007 -0700 update checkpatch.pl to version 0.09 This version brings a number of new checks, and a number of bug fixes. Of note: - checks for spacing on round and square bracket combinations - loosening of the single statement brace checks, to allow them when they contain comments or where other blocks in a compound statement have them. - parks the multple declaration support - allows architecture defines in architecture specific headers Andy Whitcroft (21): Version: 0.09 loosen single statement brace checks fix up multiple declaration to avoid function arguments add some function space parenthesis check exceptions handle EXPORT_'s with parentheses in their names clean up some warnings in multi-line macro bracketing support park the multiple declaration checks make block brace checks count comments as a statement __volatile__ and __extension__ are not functions allow architecture specific defined within architecture includes check spacing on square brackets check spacing on parentheses ensure we apply checks to the part before start comment check #ifdef conditional spacing handle __init_refok and __must_check add noinline to inline checks prevent email addresses from tripping spacing checks handle typed initialiser spacing handle line contination as end of line add bool to the type matcher refine EXPORT_SYMBOL checks to handle pointers Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a44648b057f5331fe6c0e863dc693ed335490e7a Author: Anton Vorontsov Date: Fri Aug 10 13:01:02 2007 -0700 spi_mpc83xx: fix prescale modulus calculation Long ago I've noticed (but didn't pay much attention) that spi_mpc83xx using PM calculations that differs from what specs describe. I.e. u8 pm = mpc83xx_spi->spibrg / (spi->max_speed_hz * 4); While specs says: "The SPI baud rate generator clock source (either system clock or system clock divided by 16, depending on DIV16 bit) is divided by 4 * ([PM] + 1), a range from 4 to 64.". Thus " - 1" is missing in the spi_mpc83xx's formula. Why nobody noticed that bug? Probably because sysclk usually less then user expects, e.g. you expect 200 MHz, but real clock is 198 MHz, and integer rounding helps when this formula is used. Suppose it's SPI in QE, SYSCLK at 198 MHz, thus SPIBRG at 99MHz, 25 MHz requested. PM = (99MHz / ( 25 MHz * 4 )), PM == 0, output SPICLK will be 24.75 MHz At lower frequencies this bug is more noticeable, though. And this bug shows itself in all its beauty if SYSCLK is equal or a bit more than you expect (200 MHz SYSCLK, 100 MHz SPIBRG): PM = (100MHz / ( 25 MHz * 4 )), PM == 1, output SPICLK will be 12.625 MHz! Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e24a4d1ee337e3a67a502f3f19cdec3ffc45ad05 Author: Anton Vorontsov Date: Fri Aug 10 13:01:01 2007 -0700 spi_mpc83xx: in "QE mode", use sysclk/2 For MPC8349E input to the SPI Baud Rate Generator is SYSCLK, but it's SYSCLK/2 for MPC8323E (SPI in QE). Fix this, and remove confusion by renaming the mpc83xx_spi->sysclk member as mpc83xx_spi->spibrg. Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8dfe9c21a890e0c1214b85d3d90a84187638bf5b Author: Gabriel C Date: Fri Aug 10 13:01:00 2007 -0700 kernel-parameters.txt : watchdog.txt should be wdt.txt Documentation/watchdog/watchdog.txt does not exist, it is Documentation/watchdog/wdt.txt Signed-off-by: Gabriel Craciunescu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6867c9310d5dab6897638a89c7e31addfcb22043 Author: Yasunori Goto Date: Fri Aug 10 13:00:59 2007 -0700 Memory hotplug document This is add a document for memory hotplug to describe "How to use" and "Current status". Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 925796e0ed6fe529770ba71454c58c8d4d8a5ac4 Author: Daniel Ritz Date: Fri Aug 10 13:00:58 2007 -0700 drivers/char/pcmcia/cm40x0_cs.c: fix release function call cm4000_cs.c and cm4040_cs.c call the internal release function with an argument of wrong type. this fixes bug #8485 Signed-off-by: Daniel Ritz Cc: Bill McConnaughey Cc: Natalie Protasevich Cc: Harald Welte Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5a69adff920ddf138c3ea9886574b195d9e3d52 Author: Rafael J. Wysocki Date: Fri Aug 10 13:00:57 2007 -0700 Hibernation: do not try to mark invalid PFNs as nosave On some systems some PFNs reported by the early initialization code as 'nosave' may be invalid. If we try to set the corresponding bits in the hibernation bitmap, BUG_ON() in memory_bm_find_bit() will be triggered and the system won't be able to boot (cf. https://bugzilla.novell.com/show_bug.cgi?id=296242). Prevent this from happening by verifying if the 'nosave' PFNs are valid in mark_nosave_pages(). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a75de1b3799f8933d6d2b64bdf31194368ec98ab Author: Ryusuke Konishi Date: Fri Aug 10 13:00:56 2007 -0700 eCryptfs: fix error handling in ecryptfs_init ecryptfs_init() exits without doing any cleanup jobs if ecryptfs_init_messaging() fails. In that case, eCryptfs leaves sysfs entries, leaks memory, and causes an invalid page fault. This patch fixes the problem. Signed-off-by: Ryusuke Konishi Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9a0620779d3714abd63dfc28284f5fa2c1fc091 Author: Gabriel C Date: Fri Aug 10 13:00:56 2007 -0700 linux-audit list is subscribers-only Signed-off-by: Gabriel Craciunescu Cc: David Woodhouse Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76ceb2f90f6efb6d1f3d88f855428bff947a3483 Author: Alexey Dobriyan Date: Fri Aug 10 13:00:55 2007 -0700 Remove unused struct proc_dir_entry::set After /proc/sys rewrite it was left unused. Signed-off-by: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8daec965e7035bbf8d364fe7585bffac7222b87a Author: Lee Schermerhorn Date: Fri Aug 10 13:00:51 2007 -0700 Fix missing numa_zonelist_order sysctl Misplaced #endif is hiding the numa_zonelist_order sysctl when !SECURITY. Signed-off-by: Lee Schermerhorn Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 202a21d6914369c1362f1ab50f0cbe92b9c38718 Author: Ryusuke Konishi Date: Fri Aug 10 13:00:51 2007 -0700 eCryptfs: fix lookup error for special files When ecryptfs_lookup() is called against special files, eCryptfs generates the following errors because it tries to treat them like regular eCryptfs files. Error opening lower file for lower_dentry [0xffff810233a6f150], lower_mnt [0xffff810235bb4c80], and flags [0x8000] Error opening lower_file to read header region Error attempting to read the [user.ecryptfs] xattr from the lower file; return value = [-95] Valid metadata not found in header region or xattr region; treating file as unencrypted For instance, the problem can be reproduced by the steps below. # mkdir /root/crypt /mnt/crypt # mount -t ecryptfs /root/crypt /mnt/crypt # mknod /mnt/crypt/c0 c 0 0 # umount /mnt/crypt # mount -t ecryptfs /root/crypt /mnt/crypt # ls -l /mnt/crypt This patch fixes it by adding a check similar to directories and symlinks. Signed-off-by: Ryusuke Konishi Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60c9834238482f805b1d9e4dc2a780405ddab80f Author: David Howells Date: Fri Aug 10 13:00:50 2007 -0700 FRV: connect up fallocate Connect up the fallocate() system call. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e798bd95b61918e653f3d28f9176237236f2d103 Author: Paul A. Clarke Date: Fri Aug 10 13:00:49 2007 -0700 matroxfb: rectify jitter (G450/G550) This builds upon my previous attempts to resolve some jitter problems seen with the Matrox G450 and G550 -based cards, including odd disparities observed between x86 and Power -based machines in a somewhat less hackish way (removing the hacked ifdefs). Apparently, preference should be given to use the DVI PLL when frequencies permit, the Standard PLL otherwise. The max pixel clock for the panellink interface is extracted from the PInS information on the card and used as a limit to determine which PLL to use. Signed-off-by: Paul A. Clarke Acked-by: Petr Vandrovec Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acb73865328bd6211a1452f39a4f660d26658918 Author: Adrian McMenamin Date: Fri Aug 10 13:00:48 2007 -0700 pvr2fb: update Documentation/fb/pvr2fb.txt The current version is very old and does not correctly specify how to set the video mode. Signed-off by: Adrian McMenamin Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 306c869c237a66fe85580f60558f105e3305d465 Author: Adrian McMenamin Date: Fri Aug 10 13:00:48 2007 -0700 pvr2fb: Consolidated cleanup of pvr2fb.c - better handling of the pvr2 registers based on more up to date information. Testing shows that it seems to work pretty well at 16bpp, 24bpp and 32bpp - including proper rendering of the boot logo at all levels (previously this was a bit broken even at 16bpp) and giving white against black text. Really detailed testing (eg with X11) requires support for the maple bus - which isn't (currently - next project assuming this is okay) available, but I have no reason to think this is broken. Signed-off by: Adrian McMenamin Acked-by: Paul Mundt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cd1c67434544b1d9a4fb4a4cdec15608167a233 Author: Antonino A. Daplas Date: Fri Aug 10 13:00:47 2007 -0700 pvr2fb: Fix oops when pseudo_palette is written Reported by: Adrian McMenamin This driver will oops when the pseudo_palette[] is written as u32 but not when written as u16. When written as u32, it corrupts the adjacent 'mmio_base' field of struct pvr2fb_par. Fix by using framebuffer_alloc()/release() to allocate struct fb_info and struct pvr2fb_par, and create the pseudo_palette[] as part of struct pvr2fb_par. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4769a9a53b39f3b6a7e4d0b3c5e6b9598560818d Author: Antonino A. Daplas Date: Fri Aug 10 13:00:46 2007 -0700 fbcon: Kill compile warning Fix compile warning ('map_override unused') if fbcon is compiled as a module and CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=n. [akpm@linux-foundation.org: cleanup] Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04a3f959f691fd3eea42be37bc7a8cf32c1bd899 Author: Helge Deller Date: Fri Aug 10 13:00:45 2007 -0700 stifb: detect cards in double buffer mode more reliably Visualize-EG, Graffiti and A4450A graphics cards on PARISC can be configured in double-buffer and standard mode, but the stifb driver supports standard mode only. This patch detects double-buffered cards more reliable. It is a real bugfix for a very nasty problem for all parisc users which have wrongly configured their graphic card. The problem: The stifb graphics driver will not detect that the card is wrongly configured and then nevertheless just enables the graphics mode, which it shouldn't. In the end, the user will see no further updates / boot messages on the screen. We had documented this problem already on our FAQ (http://parisc-linux.org/faq/index.html#viseg "Why do I get corrupted graphics with my Vis-EG/Graffiti/A4450A card?") but people still run into this problem. So having this fix in as early as possible can help us. Signed-off-by: Helge Deller Signed-off-by: Antonino Daplas Cc: Cc: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a648fa72161d1f6468dabd96c5d3c0db04f598a Author: Badari Pulavarty Date: Fri Aug 10 13:00:44 2007 -0700 direct-io: fix error-path crashes Need to initialize map_bh.b_state to zero. Otherwise, in case of a faulty user-buffer its possible to go into dio_zero_block() and submit a page by mistake - since it checks for buffer_new(). http://marc.info/?l=linux-kernel&m=118551339032528&w=2 akpm: Linus had a (better) patch to just do a kzalloc() in there, but it got lost. Probably this version is better for -stable anwyay. Signed-off-by: Badari Pulavarty Acked-by: Joe Jin Acked-by: Zach Brown Cc: gurudas pai Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b291aa7a6564e859af144e1bd14ffa463519b198 Author: Robin Holt Date: Fri Aug 10 13:00:43 2007 -0700 x86_64: fix HPET init race I have had four seperate system lockups attributable to this exact problem in two days of testing. Instead of trying to handle all the weird end cases and wrap, how about changing it to look for exactly what we appear to want. The following patch removes a couple races in setup_APIC_timer. One occurs when the HPET advances the COUNTER past the T0_CMP value between the time the T0_CMP was originally read and when COUNTER is read. This results in a delay waiting for the counter to wrap. The other results from the counter wrapping. This change takes a snapshot of T0_CMP at the beginning of the loop and simply loops until T0_CMP has changed (a tick has happened). I have one small concern about the patch. I am not sure it meets the intent as well as it should. I think we are trying to match APIC timer interrupts up with the hpet counter increment. The event which appears to be disturbing this loop in our test environment is the NMI watchdog. What we believe has been happening with the existing code is the setup_APIC_timer loop has read the CMP value, and the NMI watchdog code fires for the first time. This results in a series of icache miss slowdowns and by the time we get back to things it has wrapped. I think this code is trying to get the CMP as close to the counter value as possible. If that is the intent, maybe we should really be testing against a "window" around the CMP. Something like COUNTER = CMP+/2. It appears COUNTER should get advanced every 89nSec (IIRC). The above seems like an unreasonably small window, but may be necessary. Without documentation, I am not sure of the original intent with this code. In summary, this code fixes my boot hangs, but since I am not certain of the intent of the existing code, I am not certain this has not introduced new bugs or unexpected behaviors. Signed-off-by: Robin Holt Acked-by: Andi Kleen Cc: Vojtech Pavlik Cc: "Aaron Durbin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d31c5ab147e0b17b9ec0daa5e4d1fc0bd6b19974 Author: Bryan Wu Date: Fri Aug 10 13:00:42 2007 -0700 Blackfin arch: after removing fs.h from mm.h, fix the broken on Blackfin arch Cc: Alexey Dobriyan Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02a5e0acb3cb85d80d0fe834e366d38a92bbaa22 Author: David Howells Date: Sat Aug 11 22:34:32 2007 +0200 BLOCK: Hide the contents of linux/bio.h if CONFIG_BLOCK=n Hide the contents of linux/bio.h if CONFIG_BLOCK=n as there shouldn't be compiled code that uses it. Signed-off-by: David Howells Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit a6b3a93e15b2925a151e9ae13dcb93ad7b3e48aa Author: Christoph Hellwig Date: Sat Aug 11 22:34:31 2007 +0200 sysace: HDIO_GETGEO has it's own method for ages The way this driver tries to implement HDIO_GETGEO it'll never be called. Then again on ppc it probably will never be called anyway because it's utterly pointless. Signed-off-by: Christoph Hellwig Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 2e4934aa4586832c35e077191849a06f93e4a9a0 Author: Mariusz Kozlowski Date: Sat Aug 11 22:34:30 2007 +0200 drivers/block/cpqarray.c: better error handling and kmalloc + memset conversion to k[cz]alloc This patch removes some redundant casts, does the kmalloc + memset to k[cz]alloc conversion and it changes the error path to use goto (to avoid code duplication). drivers/block/cpqarray.c | 49567 -> 48623 (-944 bytes) drivers/block/cpqarray.o | 178820 -> 178288 (-532 bytes) Signed-off-by: Mariusz Kozlowski Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 1aebe18787ca2e915eb8204d365ba2484d53223b Author: Mariusz Kozlowski Date: Sat Aug 11 22:34:29 2007 +0200 drivers/block/cciss.c: kmalloc + memset conversion to kzalloc drivers/block/cciss.c | 104285 -> 104168 (-117 bytes) drivers/block/cciss.o | 277400 -> 277124 (-276 bytes) Signed-off-by: Mariusz Kozlowski Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 9b99628f8e9e0b5f5ecacce558defe529a6e00c1 Author: Jesper Juhl Date: Sat Aug 11 22:34:27 2007 +0200 Clean up duplicate includes in drivers/block/ This patch cleans up duplicate includes in drivers/block/ Signed-off-by: Jesper Juhl Acked-by: Stephen Rothwell Cc: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit c7149d6bce2561aeaa48caaa1700aa8b3b22008f Author: Alan D. Brunelle Date: Tue Aug 7 15:30:23 2007 +0200 Fix remap handling by blktrace This patch provides more information concerning REMAP operations on block IOs. The additional information provides clearer details at the user level, and supports post-processing analysis in btt. o Adds in partition remaps on the same device. o Fixed up the remap information in DM to be in the right order o Sent up mapped-from and mapped-to device information Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit ec05b297f91a443aa26b74059b573bfad49c9ebb Author: Adrian Bunk Date: Mon Jul 30 08:24:27 2007 +0200 [PATCH] remove mm/filemap.c:file_send_actor() This patch removes the no longer used file_send_actor(). Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 393cdad6267bc2abf75973d15310168ff3e15441 Author: Mark M. Hoffman Date: Thu Aug 9 08:12:46 2007 -0400 hwmon: fix w83781d temp sensor type setting Commit 348753379a7704087603dad403603e825422fd9a introduced a regression that caused temp2 and temp3 sensor type settings to be written to temp1 instead. The result is that temp sensor readings could be way off. Signed-off-by: Mark M. Hoffman commit 3ac4c949e02f26be1e4378f9acfb07ec87db947b Author: Robert Reif Date: Fri Aug 10 15:52:06 2007 -0700 [SPARC32]: Remove iommu from struct sbus_bus and use archdata like sparc64. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 5167e75f4d2d10bff6afee1f358313e87b4df246 Author: Ingo Molnar Date: Fri Aug 10 23:05:11 2007 +0200 sched debug: dont print kernel address in /proc/sched_debug Arjan van de Ven pointed out that we should not print kernel addresses in world-readable /proc files - fix that. Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit e56f31aad9d8c0102bc074cdab4e3ee76b38600d Author: Ingo Molnar Date: Fri Aug 10 23:05:11 2007 +0200 sched: fix typo in the FAIR_GROUP_SCHED branch while there's no in-tree way to turn group scheduling at the moment, fix a typo in it nevertheless. Signed-off-by: Ingo Molnar commit 529c77261bccd9d37f110f58b0753d95beaa9fa2 Author: Ingo Molnar Date: Fri Aug 10 23:05:11 2007 +0200 sched: improve rq-clock overflow logic improve the rq-clock overflow logic: limit the absolute rq->clock delta since the last scheduler tick, instead of limiting the delta itself. tested by Arjan van de Ven - whole laptop was misbehaving due to an incorrectly calibrated cpu_khz confusing sched_clock(). Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit cbea66d9788a344e16e161f22a6e0c4deef2c0ed Author: Melissa Howland Date: Fri Aug 10 14:32:35 2007 +0200 [S390] monwriter: Serialization bug for multithreaded applications. Locking added so that multithreaded applications can now do writes from different threads without the risk of storage corruption. Signed-off-by: Melissa Howland Signed-off-by: Martin Schwidefsky commit 3eed13cc3beaa9ee07b126a662def88f7281394e Author: Michael Holzheu Date: Fri Aug 10 14:32:34 2007 +0200 [S390] vmur: diag14 only works with buffers below 2GB If memory buffers above 2GB are used, diagnose 14 raises a specification exception. This fix ensures that buffer allocation is done below the 2GB boundary. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 4eac34529bce2b4cca9be90a6903c965baa8193c Author: Michael Holzheu Date: Fri Aug 10 14:32:33 2007 +0200 [S390] vmur: add "top of queue" sanity check for reader open If the z/VM reader is already open, it can happen that after opening the Linux reader device, not the topmost file is processed. According the semantics of the Linux z/VM unit record device driver, always the topmost file has to be processed. With this fix an error is returned if that is not the case. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit f2405598e0678e9c93dd780f2a12fc562ece3d13 Author: Michael Holzheu Date: Fri Aug 10 14:32:32 2007 +0200 [S390] vmur: reject open on z/VM reader files with status HOLD If a reader file with HOLD status is at the top of the reader queue, currently all read requests will return data of the second file in the queue. But the semantics of vmur is that always the topmost file is read. With this fix -EPERM is returned on open, if the topmost reader file is in HOLD status. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 278bc68c4bfcd1af97972f5c4458acf3b9b19c37 Author: Heiko Carstens Date: Fri Aug 10 14:32:31 2007 +0200 [S390] vmur: use DECLARE_COMPLETION_ONSTACK to keep lockdep happy INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. 000000000ff9fb08 000000000ff9fb18 0000000000000002 0000000000000000 000000000ff9fbb8 000000000ff9fb30 000000000ff9fb30 0000000000104198 0000000000000000 0000000000000002 0000000000000000 0000000000000000 000000000ff9fb18 000000000000000c 000000000ff9fb18 000000000ff9fb88 0000000000448db0 0000000000104198 000000000ff9fb18 000000000ff9fb68 Call Trace: ([<00000000001040ea>] show_trace+0x12e/0x170) [<00000000001041f2>] show_stack+0xc6/0xf8 [<0000000000104252>] dump_stack+0x2e/0x3c [<0000000000155f9c>] __lock_acquire+0x460/0x1048 [<0000000000156c16>] lock_acquire+0x92/0xb8 [<000000000043f406>] _spin_lock_irqsave+0x62/0x80 [<0000000000121382>] complete+0x32/0x78 [<000000001082b468>] ur_int_handler+0xc8/0xec [vmur] [<0000000000313216>] ccw_device_call_handler+0xae/0xd4 [<0000000000310da4>] ccw_device_irq+0x5c/0x130 [<0000000000312c84>] io_subchannel_irq+0x8c/0x118 [<000000000030a88c>] do_IRQ+0x16c/0x194 [<0000000000111a62>] io_no_vtime+0x16/0x1c [<0000000080001394>] 0x80001394 Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1eade380c5f3e69348531ade5e9f9c5ae6485874 Author: Michael Holzheu Date: Fri Aug 10 14:32:30 2007 +0200 [S390] vmur: allocate single record buffers instead of one big data buffer vmur allocates one contiguous kernel buffer to copy user data when creating ccw programs for punch or printer. If big block sizes are used, under memory pressure it can happen, that we do not get memory in one chunk. Now we allocate memory for each single record to avoid high order allocations. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 6d740a438fcb8775008dfd3fc18df7f7a0ca2e12 Author: Heiko Carstens Date: Fri Aug 10 14:32:29 2007 +0200 [S390] remove DEFAULT_MIGRATION_COST 0437e109e1841607f2988891eaa36c531c6aa6ac removes the migration cost init code. Remove the s390 leftovers as well. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c6d0e8014a59b641c0669cf5df151667144f220e Author: Heiko Carstens Date: Fri Aug 10 14:32:28 2007 +0200 [S390] qdio: make sure data structures are correctly aligned. The slsb structure contained at the beginning of the qdio_q structure must start on a 256 byte boundary. To make sure this is the case even if slab debugging is turned on create an own slab cache for qdio_q structures. Besides that don't use the slab allocator to allocate whole pages. Use the page allocator instead. Also fix a few memory leaks in error handling code. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b01af5ba9105094ba4f1af60da8f7be44321a0c7 Author: Michael Holzheu Date: Fri Aug 10 14:32:27 2007 +0200 [S390] hypfs: implement show_options Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 5693ce6f9b9f08942e55e3825db014f8b1205772 Author: Cornelia Huck Date: Fri Aug 10 14:32:26 2007 +0200 [S390] cio: avoid memory leak on error in css_alloc_subchannel(). sch->lock has been allocated in cio_validate_subchannel(), it must be freed if cio_modify() fails. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit d1f5a77f2c9db5b8a565eabdf8b534b02e32cc44 Author: Benjamin Herrenschmidt Date: Wed Aug 8 15:44:15 2007 +1000 [POWERPC] Fix size check for hugetlbfs My "slices" address space management code that was added in the 2.6.22 implementation of get_unmapped_area() doesn't properly check that the size is a multiple of the requested page size. This allows userland to create VMAs that aren't a multiple of the huge page size with hugetlbfs (since hugetlbfs entirely relies on get_unmapped_area() to do that checking) which leads to a kernel BUG() when such areas are torn down. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8f2ea1fd3f97ab7a809e939b5b9005a16f862439 Author: Benjamin Herrenschmidt Date: Tue Aug 7 08:05:10 2007 +1000 [POWERPC] Fix initialization and usage of dma_mask powerpc has a couple of bugs in the usage of dma_masks that tend to break when drivers explicitly try to set a 32-bit mask for example. First, the code that generates the pci devices from the OF device-tree doesn't initialize the mask properly, then our implementation of set_dma_mask() was trying to validate the -previous- mask value, not the one passed in as an argument. This fixes these problems. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 939e60f6808a9ffd3a4e5f145057379c138c89aa Author: Stephen Rothwell Date: Tue Jul 31 16:44:13 2007 +1000 [POWERPC] Fix more section mismatches in head_64.S WARNING: vmlinux.o(.text+0x8174): Section mismatch: reference to .init.text:.prom_init (between '.__boot_from_prom' and '.__after_prom_start') WARNING: vmlinux.o(.text+0x8498): Section mismatch: reference to .init.text:.early_setup (between '.start_here_multiplatform' and '.start_here_common') WARNING: vmlinux.o(.text+0x8514): Section mismatch: reference to .init.text:.setup_system (between '.start_here_common' and 'system_call_common') WARNING: vmlinux.o(.text+0x8530): Section mismatch: reference to .init.text:.start_kernel (between '.start_here_common' and 'system_call_common') Signed-off-by: Stephen Rothwell Acked-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 3c5ede8cc6c75c3d85e46a5c20f106bcec933347 Author: Kim Phillips Date: Thu Jul 26 17:25:12 2007 -0500 [POWERPC] Revert "[POWERPC] Add 'mdio' to bus scan id list for platforms with QE UEC" This reverts commit 3baee955953957be5496cd28e9c544d9db214262. That commit was a mistake from the start; I added mdio type to the bus scan list early on in my ucc_geth migrate to phylib development, which is just pure wrong (the ucc_geth_mii driver creates the mii bus and the PHY layer handles PHY enumeration without translation). This follows on from commit 77926826f301fbd8ed96d3cd9ff17a5b59560dfb: Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()" which was basically trying to hide a symptom of the original mistake this revert fixes. Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit bd948b0377e7ab93559a80f68d38749bcc2e9a77 Author: geoffrey.levand@am.sony.com Date: Tue Aug 7 20:31:22 2007 -0700 [POWERPC] PS3: Update ps3_defconfig Update ps3_defconfig. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 332a7b3e93c6521219be0a72ebfe2eee795a8345 Author: Geoff Levand Date: Wed Aug 8 09:39:02 2007 -0700 [POWERPC] PS3: Remove text saying PS3 support is incomplete Remove the Kconfig message that indicates the PS3 platform support is incomplete. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit edd2a9d185799354db255de62c3ed1f2b1c6b0f4 Author: Geert Uytterhoeven Date: Wed Aug 8 11:01:21 2007 -0700 [POWERPC] PS3: Fix storage probe logic Fix the PS3 storage probe logic to properly find device regions on cold startup. o Change the storage probe event mask from notify_device_ready to notify_region_update. o Improve the storage probe error handling. o Change ps3_storage_wait_for_device() to use a temporary variable to hold the buffer address. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit f5996449e3244524cab0ba709a4bd87047a8175f Author: Andre Detsch Date: Fri Aug 3 18:53:46 2007 -0700 [POWERPC] cell: Move SPU affinity init to spu_management_of_ops This patch moves affinity initialization code from spu_base.c to a new spu_management_of_ops function (init_affinity), which is empty in the case of PS3. This fixes a linking problem that was happening when compiling for PS3. Also, some small code style changes were made. Signed-off-by: Andre Detsch Signed-off-by: Geoff Levand Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit edd0622bd2e8f755c960827e15aa6908c3c5aa94 Author: Paul Mackerras Date: Fri Aug 10 21:04:07 2007 +1000 [POWERPC] Fix potential duplicate entry in SLB shadow buffer We were getting a duplicate entry in the SLB shadow buffer in slb_flush_and_rebolt() if the kernel stack was in the same segment as PAGE_OFFSET, which on POWER6 causes the hypervisor to terminate the partition with an error. This fixes it. Also we were not creating an SLB entry (or an SLB shadow buffer entry) for the kernel stack on secondary CPUs when starting the CPU. This isn't a major problem, since an appropriate entry will be created on demand, but this fixes that also for consistency. Signed-off-by: Paul Mackerras commit ac07860264bd2b18834d3fa3be47032115524cea Author: Jesper Juhl Date: Wed Aug 8 16:31:30 2007 -0700 SLUB: Fix format specifier in Documentation/vm/slabinfo.c There's a little problem in Documentation/vm/slabinfo.c The code is using "%d" in a printf() call to print an 'unsigned long'. This patch corrects it to use "%lu" instead. Signed-off-by: Jesper Juhl Signed-off-by: Christoph Lameter commit 1ceef40249f21eceabf8633934d94962e7d8e1d7 Author: Christoph Lameter Date: Tue Aug 7 15:11:48 2007 -0700 SLUB: Fix dynamic dma kmalloc cache creation The dynamic dma kmalloc creation can run into trouble if a GFP_ATOMIC allocation is the first one performed for a certain size of dma kmalloc slab. - Move the adding of the slab to sysfs into a workqueue (sysfs does GFP_KERNEL allocations) - Do not call kmem_cache_destroy() (uses slub_lock) - Only acquire the slub_lock once and--if we cannot wait--do a trylock. This introduces a slight risk of the first kmalloc(x, GFP_DMA|GFP_ATOMIC) for a range of sizes failing due to another process holding the slub_lock. However, we only need to acquire the spinlock once in order to establish each power of two DMA kmalloc cache. The possible conflict is with the slub_lock taken during slab management actions (create / remove slab cache). It is rather typical that a driver will first fill its buffers using GFP_KERNEL allocations which will wait until the slub_lock can be acquired. Drivers will also create its slab caches first outside of an atomic context before starting to use atomic kmalloc from an interrupt context. If there are any failures then they will occur early after boot or when loading of multiple drivers concurrently. Drivers can already accomodate failures of GFP_ATOMIC for other reasons. Retries will then create the slab. Signed-off-by: Christoph Lameter commit fcda3d89bf1366f6801447eab2d8a75ac5b9c4ce Author: Christoph Lameter Date: Mon Jul 30 13:06:46 2007 -0700 SLUB: Remove checks for MAX_PARTIAL from kmem_cache_shrink The MAX_PARTIAL checks were supposed to be an optimization. However, slab shrinking is a manually triggered process either through running slabinfo or by the kernel calling kmem_cache_shrink. If one really wants to shrink a slab then all operations should be done regardless of the size of the partial list. This also fixes an issue that could surface if the number of partial slabs was initially above MAX_PARTIAL in kmem_cache_shrink and later drops below MAX_PARTIAL through the elimination of empty slabs on the partial list (rare). In that case a few slabs may be left off the partial list (and only be put back when they are empty). Signed-off-by: Christoph Lameter commit e0dceaf0a4b8c55076a4dbcba7ac8b05755f5cc6 Author: Mark Fasheh Date: Thu Aug 9 16:52:30 2007 -0700 ocfs2: set non-default s_time_gran during mount We need to manually set this to '1' during mount, otherwise inode_setattr() will chop off the nanosecond portion of our timestamps. Signed-off-by: Mark Fasheh commit ce17204ae633001ef41318d487282730e96b9522 Author: Sunil Mushran Date: Mon Jul 30 11:02:50 2007 -0700 ocfs2: Retry sendpage() if it returns EAGAIN Instead of treating EAGAIN, returned from sendpage(), as an error, this patch retries the operation. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 480214d71f1972756473415d31953647952400fb Author: Sunil Mushran Date: Mon Aug 6 15:11:56 2007 -0700 ocfs2: Fix rename/extend race If one process is extending a file while another is renaming it, there exists a window when rename could flush the old inode's stale i_size to disk. This patch recognizes the fact that rename is only updating the old inode's ctime, so it ensures only that value is flushed to disk. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 6a18380e7ddd7d1a0493efe3be6475dd92323364 Author: Adrian Bunk Date: Mon Jul 23 10:01:21 2007 +0200 [2.6 patch] ocfs2_insert_extent(): remove dead code This patch removes some now dead code. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 5a25403175b8a945e93fc9c64ae9cf54f5730add Author: Mark Fasheh Date: Fri Jul 20 12:56:16 2007 -0700 ocfs2: Fix max offset calculations ocfs2_max_file_offset() was over-estimating the largest file size for several cases. This wasn't really a problem before, but now that we support sparse files, it needs to be more accurate. Signed-off-by: Mark Fasheh commit ce76fd30ce98cdaeb38dca0dfbb3fa6d2801c5ce Author: Mark Fasheh Date: Fri Jul 20 12:02:14 2007 -0700 ocfs2: check ia_size limits in setattr We have to manually check the requested truncate size as the check in vmtruncate() comes too late for Ocfs2. Signed-off-by: Mark Fasheh commit 7c08d70c69150148c14f02633855f1591219c37c Author: Mark Fasheh Date: Fri Jul 20 11:58:36 2007 -0700 ocfs2: Fix some casting errors related to file writes ocfs2_align_clusters_to_page_index() needs to cast the clusters shift to pgoff_t and ocfs2_file_buffered_write() needs loff_t when calculating destination start for memcpy. Signed-off-by: Mark Fasheh commit a00cce356b5592208e761525a48a25902322cce9 Author: Mark Fasheh Date: Fri Jul 20 11:28:30 2007 -0700 ocfs2: use s_maxbytes directly in ocfs2_change_file_space() There's no need to recalculate things via ocfs2_max_file_offset() as we've already done that to fill s_maxbytes, so use that instead. We can also un-export ocfs2_max_file_offset() then. Signed-off-by: Mark Fasheh commit c11e9fafb398411af7558fca913c2fa4a10b1f48 Author: Mark Fasheh Date: Fri Jul 20 11:24:53 2007 -0700 ocfs2: Restrict inode changes in ocfs2_update_inode_atime() ocfs2_update_inode_atime() calls ocfs2_mark_inode_dirty() to push changes from the struct inode into the ocfs2 disk inode. The problem is, ocfs2_mark_inode_dirty() might change other fields, depending on what happened to the struct inode. Since we don't always have locking to serialize changes to other fields (like i_size, etc), just fix things up to only touch the atime field. Signed-off-by: Mark Fasheh commit 757e2d60c32c5baf1992219b3178da16868423b3 Author: Paul Mundt Date: Fri Aug 10 02:47:31 2007 +0900 sh64: Add missing dma_sync_single_for_*(). Follow the sparc64 and sh change. Signed-off-by: Paul Mundt commit 322392646bc36ff4381861e6589c22c1abc20dbf Author: Paul Mundt Date: Fri Aug 10 02:37:01 2007 +0900 sh: Add missing dma_sync_single_range_for_*(). The b44 build uses these, caught by allmodconfig: drivers/net/b44.c: In function `b44_sync_dma_desc_for_cpu': drivers/net/b44.c:159: error: implicit declaration of function `dma_sync_single_range_for_cpu' Follow the sparc64 change and stub them in. Reported-by: Andrew Morton Signed-off-by: Paul Mundt commit b3e5f2634ad64dac43638d3d9d449bb432aa9e73 Author: Dan Williams Date: Tue Aug 7 10:26:35 2007 -0700 async_tx: update MAINTAINERS for async_tx and iop-adma Also, rename the dma engine entry since it is now a generic offload engine subsystem, not just memcpy. Signed-off-by: Dan Williams Signed-off-by: Shannon Nelson commit 6adb31c90c47262c8a25bf5097de9b3426caf3ae Author: Alan Cox Date: Thu Aug 9 00:57:54 2007 +0100 remove dubious legal statment from uio-howto UIO currently contains a rather dubious statement which wants removing. The actual questions around whether user space code that depends tightly on kernel GPL code designed to co-work with it are derivative works of the kernel is extremely complex, and since we don't have space for either a masters length essay on legal issues or need to start flamewars lets simply remove the comment and leave law to lawyers Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 620b5e68ee89ba1d3f017056857459dc21be8c7b Author: Richard Henderson Date: Wed Aug 8 13:17:08 2007 -0700 Fix Alpha O_CLOEXEC definition The default definition in asm-generic conflicts with Alpha's O_DIRECT, so, like several other arches, it needs to be redefined. Signed-off-by: Richard Hendersion Signed-off-by: Linus Torvalds commit 6a0ed91e361a93ee1efb4c20c4967024ed2a8dd7 Author: Artem Bityutskiy Date: Tue Aug 7 23:43:14 2007 +0300 hexdump: use const notation Trivial fix: mark the buffer to hexdump as const so callers could avoid casting their const buffers when calling print_hex_dump(). The patch is really trivial and I suggest to consider it as a fix (it fixes GCC warnings) and push it to current tree. Signed-off-by: Artem Bityutskiy Signed-off-by: Linus Torvalds commit e3bcf5e2785aa49f75f36a8d27d601891a7ff12b Author: Ronald G. Minnich Date: Thu Aug 9 21:07:24 2007 +1000 lguest: avoid shared libraries mapped over guest memory Some versions of ld.so mmap the shared libraries right in over guest memory, so compile lguest statically by default. [ FC7 maps shared libraries very low, where the launcher maps guest's physical memory. Quick fix is to link Launcher static, real fix is for 2.6.24. ] -static is a simple fix. I expect this problem will be more common than we like, as different distro's make different "improvements" to ld.so Signed-off-by: Ronald G. Minnich Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 0d027c01cd36b8cff727c78d2e40d334ba9895a8 Author: Rusty Russell Date: Thu Aug 9 20:57:13 2007 +1000 lguest: Fix Malicious Guest GDT Host Crash If a Guest makes hypercall which sets a GDT entry to not present, we currently set any segment registers using that GDT entry to 0. Unfortunately, this is not sufficient: there are other ways of altering GDT entries which will cause a fault. The correct solution to do what Linux does: let them set any GDT value they want and handle the #GP when popping causes a fault. This has the added benefit of making our Switcher slightly more robust in the case of any other bugs which cause it to fault. We kill the Guest if it causes a fault in the Switcher: it's the Guest's responsibility to make sure it's not using segments when it changes them. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 37250097e1b730c30da1790e354c0da65e617043 Author: Rusty Russell Date: Thu Aug 9 20:52:35 2007 +1000 Fix non-TSC guest clocksource lockup lguest uses a host-supplied wallclock-based clocksource when the TSC is not reliable. As this is already in nanoseconds, I naively used a multiplier of 1 and a shift of 0. But update_wall_time() in its infinite wisdom decides to adjust the clock a little (where does it think it's getting a more accurate time from?) It will happily tweak the multiplier... to 0, then -1. So the "fix" is to use a shift of 22 like everyone else, and a multiplier of 1 << 22. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 88ffc3505988196ef5cfdc0278ad89025c2a7b1a Author: Linus Torvalds Date: Thu Aug 9 08:10:16 2007 -0700 Revert "genirq: temporary fix for level-triggered IRQ resend" This reverts commit 0fc4969b866671dfe39b1a9119d0fdc7ea0f63e5. It was always meant to be temporary, but it's generating more useless noise than anything else, and we probably should never have done it in the generic kernel (only had the people involved test it on their own). Signed-off-by: Linus Torvalds commit 37b758e8bcf705a1bc6fd94bfc53ded2d506116c Author: Nicolas Ferre Date: Wed Aug 8 12:01:44 2007 +0200 mmc: at91_mci: remove whitespace at the end of lines Some cleanup with whitespace/tab at the end of lines. Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit aafabfab26bf4968b5c6423a3c53e920ae8fa406 Author: Pierre Ossman Date: Thu Aug 9 14:28:02 2007 +0200 mmc: reorganize bounce buffer init Reorganize the code that initializes mmc_block's bounce buffer in order to avoid warnings when MMC_BLOCK_BOUNCE isn't used. Signed-off-by: Pierre Ossman commit b3627bb19f8f0ca12136d985d4d73c437cba0e14 Author: Gabriel C Date: Thu Aug 2 20:20:44 2007 +0200 wbsd: fix section mismatch warnings This patch fixes the following section mismatch warnings ... WARNING: vmlinux.o(.init.text+0x29d40): Section mismatch: reference to .exit.text:wbsd_release_resources (between 'wbsd_init' and 'wbsd_probe') WARNING: vmlinux.o(.init.text+0x29d49): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe') WARNING: vmlinux.o(.init.text+0x29f28): Section mismatch: reference to .exit.text:wbsd_free_mmc (between 'wbsd_init' and 'wbsd_probe') ... Signed-off-by: Gabriel Craciunescu Acked-by: Sam Ravnborg Signed-off-by: Pierre Ossman commit 7cff8cf61cac15fa29a1ca802826d2bcbca66152 Author: Ingo Molnar Date: Thu Aug 9 11:16:52 2007 +0200 sched: refine negative nice level granularity refine the granularity of negative nice level tasks: let them reschedule more often to offset the effect of them consuming their wait_runtime proportionately slower. (This makes nice-0 task scheduling smoother in the presence of negatively reniced tasks.) Signed-off-by: Ingo Molnar commit a69edb55605117cc0f20aa36c49c20b96590774d Author: Ingo Molnar Date: Thu Aug 9 11:16:52 2007 +0200 sched: fix update_stats_enqueue() reniced codepath the key has to be rescaled to /weight even if it has a positive value. (this change only affects the scheduling of reniced tasks) Signed-off-by: Ingo Molnar commit 194081ebfaa8c7d16133e08dd79254910c20c6ff Author: Ingo Molnar Date: Thu Aug 9 11:16:51 2007 +0200 sched: round a bit better round a tiny bit better in high-frequency rescheduling scenarios, by rounding around zero instead of rounding down. (this is pretty theoretical though) Signed-off-by: Ingo Molnar commit 254753dc321ea2b753ca9bc58ac329557a20efac Author: Ingo Molnar Date: Thu Aug 9 11:16:51 2007 +0200 sched: make the multiplication table more accurate do small deltas in the weight and multiplication constant table so that the worst-case numeric error is better than 1:100000000. (8 digits) the current error table is: nice mult * inv_mult error ------------------------------------------ -20: 88761 * 48388 -0.0000000065 -19: 71755 * 59856 -0.0000000037 -18: 56483 * 76040 0.0000000056 -17: 46273 * 92818 0.0000000042 -16: 36291 * 118348 -0.0000000065 -15: 29154 * 147320 -0.0000000037 -14: 23254 * 184698 -0.0000000009 -13: 18705 * 229616 -0.0000000037 -12: 14949 * 287308 -0.0000000009 -11: 11916 * 360437 -0.0000000009 -10: 9548 * 449829 -0.0000000009 -9: 7620 * 563644 -0.0000000037 -8: 6100 * 704093 0.0000000009 -7: 4904 * 875809 0.0000000093 -6: 3906 * 1099582 -0.0000000009 -5: 3121 * 1376151 -0.0000000058 -4: 2501 * 1717300 0.0000000009 -3: 1991 * 2157191 -0.0000000035 -2: 1586 * 2708050 0.0000000009 -1: 1277 * 3363326 0.0000000014 0: 1024 * 4194304 0.0000000000 1: 820 * 5237765 0.0000000009 2: 655 * 6557202 0.0000000033 3: 526 * 8165337 -0.0000000079 4: 423 * 10153587 0.0000000012 5: 335 * 12820798 0.0000000079 6: 272 * 15790321 0.0000000037 7: 215 * 19976592 -0.0000000037 8: 172 * 24970740 -0.0000000037 9: 137 * 31350126 -0.0000000079 10: 110 * 39045157 -0.0000000061 11: 87 * 49367440 -0.0000000037 12: 70 * 61356676 0.0000000056 13: 56 * 76695844 -0.0000000075 14: 45 * 95443717 -0.0000000072 15: 36 * 119304647 -0.0000000009 16: 29 * 148102320 -0.0000000037 17: 23 * 186737708 -0.0000000028 18: 18 * 238609294 -0.0000000009 19: 15 * 286331153 -0.0000000002 Signed-off-by: Ingo Molnar commit 6e82a3befe91423e501c2124312bd805be0048eb Author: Ingo Molnar Date: Thu Aug 9 11:16:51 2007 +0200 sched: optimize update_rq_clock() calls in the load-balancer optimize update_rq_clock() calls in the load-balancer: update them right after locking the runqueue(s) so that the pull functions do not have to call it. Signed-off-by: Ingo Molnar commit 2daa357705bfe68788132cf9079930ca948a90af Author: Ingo Molnar Date: Thu Aug 9 11:16:51 2007 +0200 sched: optimize activate_task() optimize activate_task() by removing update_rq_clock() from it. (and add update_rq_clock() to all callsites of activate_task() that did not have it before.) Signed-off-by: Ingo Molnar commit c3b64f1e4f772418a649bb8e3b39fcea6c358330 Author: Ingo Molnar Date: Thu Aug 9 11:16:51 2007 +0200 sched: clean up set_curr_task_fair() clean up set_curr_task_fair(). ( identity transformation that causes no change in functionality. ) text data bss dec hex filename 39170 3750 36 42956 a7cc sched.o.before 39170 3750 36 42956 a7cc sched.o.after Signed-off-by: Ingo Molnar commit d9e0e6aa6d72df21ff190962c842e027fca0e009 Author: Ingo Molnar Date: Thu Aug 9 11:16:51 2007 +0200 sched: remove __update_rq_clock() call from entity_tick() remove __update_rq_clock() call from entity_tick(). no change in functionality because scheduler_tick() already calls __update_rq_clock(). Signed-off-by: Ingo Molnar commit 546fe3c909b0a4235c7237c210da483eaaac1edc Author: Ingo Molnar Date: Thu Aug 9 11:16:51 2007 +0200 sched: move the __update_rq_clock() call to scheduler_tick() move the __update_rq_clock() call from update_cpu_load() to scheduler_tick(). ( identity transformation that causes no change in functionality. ) this allows the direct use of rq->clock in ->task_tick() functions. Signed-off-by: Ingo Molnar commit a48da48b403319918a587be8b5d46fe1d186c2ac Author: Ingo Molnar Date: Thu Aug 9 11:16:51 2007 +0200 sched debug: remove the 'u64 now' parameter from print_task()/_rq() remove the 'u64 now' parameter from sched_debug.c:print_task()/_rq(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit bdd4dfa89c1e3e1379729b9edec1526b3ecc25ec Author: Ingo Molnar Date: Thu Aug 9 11:16:51 2007 +0200 sched: remove the 'u64 now' local variables final step: remove all (now superfluous) 'u64 now' variables. ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 2e1cb74a501c4b1bca5e55dabff24f267349193c Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from deactivate_task() remove the 'u64 now' parameter from deactivate_task(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 69be72c13db0e9165796422b544f989033146171 Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from dequeue_task() remove the 'u64 now' parameter from dequeue_task(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 8159f87e2bfeeba8887b8ef34f7b523958910132 Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from enqueue_task() remove the 'u64 now' parameter from enqueue_task(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit db53181e41728cfd58336925422dc17f1d2c655c Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from dec_nr_running() remove the 'u64 now' parameter from dec_nr_running(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit e5fa2237b53d751c59f773a68e1b12c411f0b19b Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from inc_nr_running() remove the 'u64 now' parameter from inc_nr_running(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 79b5dddf831b4719b7ec8dfcfb9bf9c619805b9c Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from dec_load() remove the 'u64 now' parameter from dec_load(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 29b4b623fe8163ca3c1da125da81234d41c8a3db Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from inc_load() remove the 'u64 now' parameter from inc_load(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 84a1d7a2f91d2f26d21026973dbf3023d17c701f Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from update_curr_load() remove the 'u64 now' parameter from update_curr_load(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit ee0827d8b5271094380410cf21d8c48c109a773a Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from ->task_new() remove the 'u64 now' parameter from ->task_new(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 31ee529cc2254e8b62880535ec8f21a4c5e1c091 Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from ->put_prev_task() remove the 'u64 now' parameter from ->put_prev_task(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit ff95f3df54609d9d4b9572f8a67d09922a645043 Author: Ingo Molnar Date: Thu Aug 9 11:16:49 2007 +0200 sched: remove the 'u64 now' parameter from pick_next_task() remove the 'u64 now' parameter from pick_next_task(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit fb8d47240246e20f864f0724a23a7220cd1c59ac Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from ->pick_next_task() remove the 'u64 now' parameter from ->pick_next_task(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit f02231e51a280f1a0fee4d03ad8f50048e06cced Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from ->dequeue_task() remove the 'u64 now' parameter from ->dequeue_task(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit fd390f6a04f22fb457d6fd1855964f79536525de Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from ->enqueue_task() remove the 'u64 now' parameter from ->enqueue_task(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit f1e14ef64d3e1bdcb3437f1e926fe5a7f861aa0a Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from update_curr_rt() remove the 'u64 now' parameter from update_curr_rt(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit ab6cde2692c76b88ea430aa188ea50303216a955 Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from put_prev_entity() remove the 'u64 now' parameter from put_prev_entity(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 9948f4b2a728e9ca4928a9a97eb09df955f5b17c Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from pick_next_entity() remove the 'u64 now' parameter from pick_next_entity(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 8494f412edecbdbc36105e0a08f80d05a14dde2c Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from set_next_entity() remove the 'u64 now' parameter from set_next_entity(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 525c2716a41d3e87387b32c5b0868acb52cbb559 Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from dequeue_entity() remove the 'u64 now' parameter from dequeue_entity(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 668031ca8fa2cc565f325f4fb69f131af449b7a7 Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from enqueue_entity() remove the 'u64 now' parameter from enqueue_entity(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 2396af69bec0ba3274383c20de7a31acf7c74b7a Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from enqueue_sleeper() remove the 'u64 now' parameter from enqueue_sleeper(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit dfdc119e54f44cba70ebe1f565767d3d0640d19f Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from __enqueue_sleeper() remove the 'u64 now' parameter from __enqueue_sleeper(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit c7e9b5b293106c8dd6b1ca968d24f10fa919f6fd Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from update_stats_curr_end() remove the 'u64 now' parameter from update_stats_curr_end(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 19b6a2e3706675eea4d74729114e36968fa43577 Author: Ingo Molnar Date: Thu Aug 9 11:16:48 2007 +0200 sched: remove the 'u64 now' parameter from update_stats_dequeue() remove the 'u64 now' parameter from update_stats_dequeue(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 79303e9e0219a23f8757af99393b21ecb35231bf Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove the 'u64 now' parameter from update_stats_curr_start() remove the 'u64 now' parameter from update_stats_curr_start(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 9ef0a9615b0d9cd29c6bc0e8898f1bc3145e44c6 Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove the 'u64 now' parameter from update_stats_wait_end() remove the 'u64 now' parameter from update_stats_wait_end(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit eac55ea37642163e6bdd899ac319c413c1f1b7cd Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove the 'u64 now' parameter from __update_stats_wait_end() remove the 'u64 now' parameter from __update_stats_wait_end(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit d2417e5a3e6c79e79f982c7553301dc3539873b0 Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove the 'u64 now' parameter from update_stats_enqueue() remove the 'u64 now' parameter from update_stats_enqueue(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 5870db5b83932bea0deac3c68e3c40f377d0b8f7 Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove the 'u64 now' parameter from update_stats_wait_start() remove the 'u64 now' parameter from update_stats_wait_start(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit b7cc089657c12340077fe937380f9e54bbd6b300 Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove the 'u64 now' parameter from update_curr() remove the 'u64 now' parameter from update_curr(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit 5cef9eca3837a8dcf605a360e213c4179a07c41a Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove the 'u64 now' parameter from print_cfs_rq() remove the 'u64 now' parameter from print_cfs_rq(). ( identity transformation that causes no change in functionality. ) Signed-off-by: Ingo Molnar commit d281918d7c135c555d9cebcf73d4320efa8177dc Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove 'now' use from assignments change all 'now' timestamp uses in assignments to rq->clock. ( this is an identity transformation that causes no functionality change: all such new rq->clock is necessarily preceded by an update_rq_clock() call. ) Signed-off-by: Ingo Molnar commit eb59449400f1e5984509e502711141302a2867ab Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove __rq_clock() remove the (now unused) __rq_clock() function. Signed-off-by: Ingo Molnar commit c1b3da3ecdbf9e9f377474c11ba988b8821f86c8 Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: eliminate __rq_clock() use eliminate __rq_clock() use by changing it to: __update_rq_clock(rq) now = rq->clock; identity transformation - no change in behavior. Signed-off-by: Ingo Molnar commit 2ab81159fa426bd09c21faf7c25fba13bc9d2902 Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: remove rq_clock() remove the now unused rq_clock() function. Signed-off-by: Ingo Molnar commit a8e504d2a57ecd3f905b402072cdd1903f963bef Author: Ingo Molnar Date: Thu Aug 9 11:16:47 2007 +0200 sched: eliminate rq_clock() use eliminate rq_clock() use by changing it to: update_rq_clock(rq) now = rq->clock; identity transformation - no change in behavior. Signed-off-by: Ingo Molnar commit b04a0f4c1651a553ee1a03dc70297d66ec74db5c Author: Ingo Molnar Date: Thu Aug 9 11:16:46 2007 +0200 sched: add [__]update_rq_clock(rq) add the [__]update_rq_clock(rq) functions. (No change in functionality, just reorganization to prepare for elimination of the heavy 64-bit timestamp-passing in the scheduler.) Signed-off-by: Ingo Molnar commit a4ac01c36e286dd1b9a1d5cd7422c5af51dc55f8 Author: Peter Williams Date: Thu Aug 9 11:16:46 2007 +0200 sched: fix bug in balance_tasks() There are two problems with balance_tasks() and how it used: 1. The variables best_prio and best_prio_seen (inherited from the old move_tasks()) were only required to handle problems caused by the active/expired arrays, the order in which they were processed and the possibility that the task with the highest priority could be on either. These issues are no longer present and the extra overhead associated with their use is unnecessary (and possibly wrong). 2. In the absence of CONFIG_FAIR_GROUP_SCHED being set, the same this_best_prio variable needs to be used by all scheduling classes or there is a risk of moving too much load. E.g. if the highest priority task on this at the beginning is a fairly low priority task and the rt class migrates a task (during its turn) then that moved task becomes the new highest priority task on this_rq but when the sched_fair class initializes its copy of this_best_prio it will get the priority of the original highest priority task as, due to the run queue locks being held, the reschedule triggered by pull_task() will not have taken place. This could result in inappropriate overriding of skip_for_load and excessive load being moved. The attached patch addresses these problems by deleting all reference to best_prio and best_prio_seen and making this_best_prio a reference parameter to the various functions involved. load_balance_fair() has also been modified so that this_best_prio is only reset (in the loop) if CONFIG_FAIR_GROUP_SCHED is set. This should preserve the effect of helping spread groups' higher priority tasks around the available CPUs while improving system performance when CONFIG_FAIR_GROUP_SCHED isn't set. Signed-off-by: Peter Williams Signed-off-by: Ingo Molnar commit aea25401c3347d9f3a64ebdc81043be246a9f631 Author: Ingo Molnar Date: Thu Aug 9 11:16:46 2007 +0200 sched: document nice levels Document the design thinking behind nice levels. Signed-off-by: Ingo Molnar commit e0361851e5647cdd62fd5c367df5d7e145769d04 Author: Alexey Dobriyan Date: Thu Aug 9 11:16:46 2007 +0200 sched: remove binary sysctls from kernel.sched_domain kernel.sched_domain hierarchy is under CTL_UNNUMBERED and thus unreachable to sysctl(2). Generating .ctl_number's in such situation is not useful. Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit fd8bb43e27bbba1b6d49552c3d588cf741dd44af Author: Ingo Molnar Date: Thu Aug 9 11:16:46 2007 +0200 sched: delta_exec accounting fix small delta_exec accounting fix: increase delta_exec and increase sum_exec_runtime even if the task is not on the runqueue anymore. Signed-off-by: Ingo Molnar commit c5dcfe72aa8d26e924cccca9725a9f7be0d4ab01 Author: Ingo Molnar Date: Thu Aug 9 11:16:46 2007 +0200 sched: clean up delta_mine cleanup: delta_mine is an unsigned value. no code impact: text data bss dec hex filename 27823 2726 16 30565 7765 sched.o.before 27823 2726 16 30565 7765 sched.o.after Signed-off-by: Ingo Molnar commit 8e717b194ce3f3ac9e6acc63f66fe274cdf9cde1 Author: Ingo Molnar Date: Thu Aug 9 11:16:46 2007 +0200 sched: schedule() speedup speed up schedule(): share the 'now' parameter that deactivate_task() was calculating internally. ( this also fixes the small accounting window between the deactivate call and the pick_next_task() call. ) Signed-off-by: Ingo Molnar commit 7bfd0485871df01764ca89d5679f128d870aef1a Author: Ingo Molnar Date: Thu Aug 9 11:16:46 2007 +0200 sched: uninline rq_clock() uninline rq_clock() to save 263 bytes of code: text data bss dec hex filename 39561 3642 24 43227 a8db sched.o.before 39298 3642 24 42964 a7d4 sched.o.after Signed-off-by: Ingo Molnar commit 291ae5a12088e1aa87aae4899a818498be3d18eb Author: Josh Triplett Date: Thu Aug 9 11:16:46 2007 +0200 sched: mark print_cfs_stats static sched_fair.c defines print_cfs_stats, and sched_debug.c uses it, but sched.c includes both sched_fair.c and sched_debug.c, so all the references to print_cfs_stats occur in the same compilation unit. Thus, mark print_cfs_stats static. Eliminates a sparse warning: warning: symbol 'print_cfs_stats' was not declared. Should it be static? Signed-off-by: Josh Triplett Signed-off-by: Ingo Molnar commit 9531b62f5ebf2b693bf85129d20328188f685c44 Author: Ulrich Drepper Date: Thu Aug 9 11:16:46 2007 +0200 sched: clean up sched_getaffinity() here's another tiny cleanup. The generated code is not affected (gcc is smart enough) but for people looking over the code it is just irritating to have the extra conditional. Signed-off-by: Ulrich Drepper Signed-off-by: Ingo Molnar commit 5f5d3aa15bb24a4d5d195bd32d549bd725d414bc Author: Thomas Voegtle Date: Thu Aug 9 11:16:46 2007 +0200 sched: mention CONFIG_SCHED_DEBUG in documentation a little hint to switch on CONFIG_SCHED_DEBUG should be given. Signed-off-by: Ingo Molnar commit 4301065920b0cbde3986519582347e883b166f3e Author: Peter Williams Date: Thu Aug 9 11:16:46 2007 +0200 sched: simplify move_tasks() The move_tasks() function is currently multiplexed with two distinct capabilities: 1. attempt to move a specified amount of weighted load from one run queue to another; and 2. attempt to move a specified number of tasks from one run queue to another. The first of these capabilities is used in two places, load_balance() and load_balance_idle(), and in both of these cases the return value of move_tasks() is used purely to decide if tasks/load were moved and no notice of the actual number of tasks moved is taken. The second capability is used in exactly one place, active_load_balance(), to attempt to move exactly one task and, as before, the return value is only used as an indicator of success or failure. This multiplexing of sched_task() was introduced, by me, as part of the smpnice patches and was motivated by the fact that the alternative, one function to move specified load and one to move a single task, would have led to two functions of roughly the same complexity as the old move_tasks() (or the new balance_tasks()). However, the new modular design of the new CFS scheduler allows a simpler solution to be adopted and this patch addresses that solution by: 1. adding a new function, move_one_task(), to be used by active_load_balance(); and 2. making move_tasks() a single purpose function that tries to move a specified weighted load and returns 1 for success and 0 for failure. One of the consequences of these changes is that neither move_one_task() or the new move_tasks() care how many tasks sched_class.load_balance() moves and this enables its interface to be simplified by returning the amount of load moved as its result and removing the load_moved pointer from the argument list. This helps simplify the new move_tasks() and slightly reduces the amount of work done in each of sched_class.load_balance()'s implementations. Further simplification, e.g. changes to balance_tasks(), are possible but (slightly) complicated by the special needs of load_balance_fair() so I've left them to a later patch (if this one gets accepted). NB Since move_tasks() gets called with two run queue locks held even small reductions in overhead are worthwhile. [ mingo@elte.hu ] this change also reduces code size nicely: text data bss dec hex filename 39216 3618 24 42858 a76a sched.o.before 39173 3618 24 42815 a73f sched.o.after Signed-off-by: Peter Williams Signed-off-by: Ingo Molnar commit f1a438d813d416fa9f4be4e6dbd10b54c5938d89 Author: Ingo Molnar Date: Thu Aug 9 11:16:45 2007 +0200 sched: reorder update_cpu_load(rq) with the ->task_tick() call Peter Williams suggested to flip the order of update_cpu_load(rq) with the ->task_tick() call. This is a NOP for the current scheduler (the two functions are independent of each other), ->task_tick() might create some state for update_cpu_load() in the future (or in PlugSched). Signed-off-by: Ingo Molnar commit 0915c4e89d311948b67cdd4c183a2efbcafcc9f9 Author: Ingo Molnar Date: Thu Aug 9 11:16:45 2007 +0200 sched: batch sleeper bonus batch up the sleeper bonus sum a bit more. Anything below sched-granularity is too small to make a practical difference anyway. this optimization reduces the math in high-frequency scheduling scenarios. Signed-off-by: Ingo Molnar commit b434e71933aa0519ee042c01419db76b7dcc058e Author: David S. Miller Date: Wed Aug 8 17:32:33 2007 -0700 [SPARC64]: Fix memory leak when cpu hotplugging. Every time a cpu is added via hotplug, we allocate the per-cpu MONDO queues but we never free them up. Freeing isn't easy since the first cpu gets this memory from bootmem. Therefore, the simplest thing to do to fix this bug is to allocate the queues for all possible cpus at boot time. Signed-off-by: David S. Miller commit 6c70b6fc7b6fc321636a014082d9e32333da1f80 Author: David S. Miller Date: Wed Aug 8 17:11:39 2007 -0700 [SPARC64]: Do not assume sun4v chips have load-twin/store-init support. Check the cpu type in the OBP device tree before committing to using the optimized Niagara memcpy and memset implementation. If we don't recognize the cpu type, use a completely generic version. Signed-off-by: David S. Miller commit 175fc484256e9c85e043f599ec2f6bc0d2e6c443 Author: Al Viro Date: Wed Aug 8 00:01:46 2007 +0100 fix oops in __audit_signal_info() The check for audit_signals is misplaced and the check for audit_dummy_context() is missing; as the result, if we send a signal to auditd from task with NULL ->audit_context while we have audit_signals != 0 we end up with an oops. Signed-off-by: Al Viro Acked-by: James Morris Signed-off-by: Linus Torvalds commit 68c9f9fd336dc7e793cecad25f8ac40ccaa7a256 Author: David S. Miller Date: Tue Aug 7 19:09:29 2007 -0700 [SPARC64]: Fix hard-coding of cpu type output in /proc/cpuinfo on sun4v. Signed-off-by: David S. Miller commit 46bcea7751efc867ae4b073c99ad1d137a475bc0 Author: David S. Miller Date: Tue Aug 7 18:46:36 2007 -0700 [SPARC]: Centralize find_in_proplist() instead of duplicating N times. Signed-off-by: David S. Miller commit f34d1955dff5a5769d24614d137003f0316406f3 Author: Stephen Hemminger Date: Tue Aug 7 18:29:05 2007 -0700 [TCP]: H-TCP maxRTT estimation at startup Small patch to H-TCP from Douglas Leith. Fix estimation of maxRTT. The original code ignores rtt measurements during slow start (via the check tp->snd_ssthresh < 0xFFFF) yet this is probably a good time to try to estimate max rtt as delayed acking is disabled and slow start will only exit on a loss which presumably corresponds to a maxrtt measurement. Second, the original code (via the check htcp_ccount(ca) > 3) ignores rtt data during what it estimates to be the first 3 round-trip times. This seems like an unnecessary check now that the RCV timestamp are no longer used for rtt estimation. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 591e620693e71e24fb3450a4084217e44b7a60b6 Author: Patrick McHardy Date: Tue Aug 7 18:12:01 2007 -0700 [NETFILTER]: nf_nat: add symbolic dependency on IPv4 conntrack Loading nf_nat causes the conntrack core to be loaded, but we need IPv4 as well. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ff4ca8273eafbba875a86d333e059e78f292107f Author: Pablo Neira Ayuso Date: Tue Aug 7 18:11:26 2007 -0700 [NETFILTER]: ctnetlink: return EEXIST instead of EINVAL for existing nat'ed conntracks ctnetlink must return EEXIST for existing nat'ed conntracks instead of EINVAL. Only return EINVAL if we try to update a conntrack with NAT handlings (that is not allowed). Decadence:libnetfilter_conntrack/utils# ./conntrack_create_nat TEST: create conntrack (0)(Success) Decadence:libnetfilter_conntrack/utils# ./conntrack_create_nat TEST: create conntrack (-1)(Invalid argument) Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3af8e31cf57646284b5f77f9d57d2c22fa77485a Author: Jesper Juhl Date: Tue Aug 7 18:10:54 2007 -0700 [NETFILTER]: ipt_recent: avoid a possible NULL pointer deref in recent_seq_open() If the call to seq_open() returns != 0 then the code calls kfree(st) but then on the very next line proceeds to dereference the pointer - not good. Problem spotted by the Coverity checker. Signed-off-by: Jesper Juhl Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 14ae856645dba5b9ba56b2d0627b3b9825fa37b2 Author: Johannes Berg Date: Tue Aug 7 18:02:43 2007 -0700 [NET] net/core/utils: fix sparse warning net_msg_warn is not defined because it is in net/sock.h which isn't included. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 3482fd9099e8aab8b8096eb6da93571ea5a0b4c2 Author: Paul Moore Date: Tue Aug 7 17:53:10 2007 -0700 [NetLabel]: add missing rcu_dereference() calls in the LSM domain mapping hash table The LSM domain mapping head table pointer was not being referenced via the RCU safe dereferencing function, rcu_dereference(). This patch adds those missing calls to the NetLabel code. This has been tested using recent linux-2.6 git kernels with no visible regressions. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 501092929ccb8a1d2eb0ed700e38df4ae0de7108 Author: Fenghua Yu Date: Tue Aug 7 18:40:30 2007 -0400 acpi-cpufreq: Fix some x86/x86-64 acpi-cpufreq driver issues This patch addresses some issues in x86/x86-64 acpi-cpufreq driver: 1. Current memory allocation for acpi_perf_data is actually open-coded alloc_percpu(). The patch defines and handles acpi_perf_data as percpu data. The code will be cleaner and easier to be maintained with this change. 2. Won't load driver in acpi_cpufreq_early_init() failure case. 3. Add __init for acpi_cpufreq_early_init(). Signed-off-by: Fenghua Yu Acked-by: Venkatesh Pallipadi Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 9dc83afdbefd184bf29f347e8fcbb6d8a2b5e6fe Author: Mariusz Kozlowski Date: Mon Aug 6 23:44:03 2007 +0200 drivers/net/ibmveth.c: memset fix > >> Looks like memset() is zeroing wrong nr of bytes. > > > > Good catch, however, I think we can just remove this memset altogether > > since the memory gets allocated via kzalloc. > > Correct, that memset() is superfluous. Ok. Then this should do it. Signed-off-by: Mariusz Kozlowski drivers/net/ibmveth.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) Signed-off-by: Jeff Garzik commit 163642a24a44d7b1d1e1b3cb8da25a142a919e24 Author: Domen Puncer Date: Tue Aug 7 12:12:41 2007 +0200 phy layer: fix phy_mii_ioctl for autonegotiation Fix a thinko (?) in setting phydev->autoneg. Signed-off-by: Domen Puncer Signed-off-by: Jeff Garzik commit 44a5b3d539893988dc6b63054c59d031df1fd7bc Author: Thomas Klein Date: Mon Aug 6 13:55:44 2007 +0200 ehea: Eliminated some compiler warnings Fixed wrongly casted pointers Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 35cf2e2e3b96c070a615d699bf514ffec6afd19e Author: Thomas Klein Date: Mon Aug 6 13:55:14 2007 +0200 ehea: Simplify resource usage check Use shorter method to determine whether adapter has configured ports Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit f46f6ba99bad942963cc4b4cc4aabcc55a567b4a Author: Thomas Klein Date: Mon Aug 6 13:54:29 2007 +0200 ehea: Fix workqueue handling Fix: Workqueue ehea_driver_wq was not destroyed Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 76b9cfccb39f542ce48a79b9ad50af25e422506c Author: Brian King Date: Fri Aug 3 13:55:19 2007 +1000 ibmveth: Fix rx pool deactivate oops This fixes the following oops which can occur when trying to deallocate receive buffer pools using sysfs with the ibmveth driver. NIP: d00000000024f954 LR: d00000000024fa58 CTR: c0000000000d7478 REGS: c00000000ffef9f0 TRAP: 0300 Not tainted (2.6.22-ppc64) MSR: 8000000000009032 CR: 24242442 XER: 00000010 DAR: 00000000000007f0, DSISR: 0000000042000000 TASK = c000000002f91360[2967] 'bash' THREAD: c00000001398c000 CPU: 2 GPR00: 0000000000000000 c00000000ffefc70 d000000000262d30 c00000001c4087a0 GPR04: 00000003000000fe 0000000000000000 000000000000000f c000000000579d80 GPR08: 0000000000365688 c00000001c408998 00000000000007f0 0000000000000000 GPR12: d000000000251e88 c000000000579d80 00000000200957ec 0000000000000000 GPR16: 00000000100b8808 00000000100feb30 0000000000000000 0000000010084828 GPR20: 0000000000000000 000000001014d4d0 0000000000000010 c00000000ffefeb0 GPR24: c00000001c408000 0000000000000000 c00000001c408000 00000000ffffb054 GPR28: 00000000000000fe 0000000000000003 d000000000262700 c00000001c4087a0 NIP [d00000000024f954] .ibmveth_remove_buffer_from_pool+0x38/0x108 [ibmveth] LR [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth] Call Trace: [c00000000ffefc70] [c0000000000280a8] .dma_iommu_unmap_single+0x14/0x28 (unreliable) [c00000000ffefd00] [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth] [c00000000ffefd80] [d000000000250e40] .ibmveth_poll+0xd8/0x434 [ibmveth] [c00000000ffefe40] [c00000000032da8c] .net_rx_action+0xdc/0x248 [c00000000ffefef0] [c000000000068b4c] .__do_softirq+0xa8/0x164 [c00000000ffeff90] [c00000000002789c] .call_do_softirq+0x14/0x24 [c00000001398f6f0] [c00000000000c04c] .do_softirq+0x68/0xac [c00000001398f780] [c000000000068ca0] .irq_exit+0x54/0x6c [c00000001398f800] [c00000000000c8e4] .do_IRQ+0x170/0x1ac [c00000001398f890] [c000000000004790] hardware_interrupt_entry+0x18/0x1c Exception: 501 at .plpar_hcall_norets+0x24/0x94 LR = .veth_pool_store+0x15c/0x298 [ibmveth] [c00000001398fb80] [d000000000250b2c] .veth_pool_store+0x5c/0x298 [ibmveth] (unreliable) [c00000001398fc30] [c000000000145530] .sysfs_write_file+0x140/0x1d8 [c00000001398fcf0] [c0000000000de89c] .vfs_write+0x120/0x208 [c00000001398fd90] [c0000000000df2c8] .sys_write+0x4c/0x8c [c00000001398fe30] [c0000000000086ac] syscall_exit+0x0/0x40 Instruction dump: fba1ffe8 fbe1fff8 789d0022 f8010010 f821ff71 789c0020 1d3d00a8 7b8a1f24 38000000 7c7f1b78 7d291a14 e9690128 <7c0a592a> e8030000 e9690120 80a90100 Signed-off-by: Brian King Signed-off-by: Paul Mackerras Signed-off-by: Jeff Garzik commit 8eb7ad68bd10d858066ca51713ca5645996e77a5 Author: Neil Muller Date: Wed Aug 1 17:52:04 2007 +0200 sis190 check for ISA bridge on SiS966 sis190 driver assumes to find ISA only on SiS965. similar fix is in sis900 driver, see bug report http://bugs.debian.org/435547 Signed-off-by: maximilian attems Signed-off-by: Jeff Garzik commit 5845b677cf7f64a0f104609e1dfe02a439f69f71 Author: Ingo Molnar Date: Tue Jul 31 19:07:02 2007 -0500 atl1: use spin_trylock_irqsave() use the simpler spin_trylock_irqsave() API to get the adapter lock. [ this is also a fix for -rt where adapter->lock is a sleeping lock. ] Signed-off-by: Ingo Molnar Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 092ed997c0c324a2e5e839da9f49453bb5227703 Author: Paul Mundt Date: Wed Aug 1 15:48:55 2007 +0900 net: smc91x: Build fixes for general sh boards. SH boards in general only wire this up in 8 or 16-bit mode, and as we never had the wrappers for 32-bit mode defined, SMC_CAN_USE_32BIT caused build failure for the non-Solution Engine boards. This gets it building again. Also kill off the straggling set_irq_type() definition, this is left over cruft that was missed when the rest of it switched to IRQ flags. Signed-off-by: Paul Mundt -- drivers/net/smc91x.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) Signed-off-by: Jeff Garzik commit 4011cd97886dd04b90fef8b671b9936cd39ab983 Author: Trond Myklebust Date: Tue Aug 7 15:33:01 2007 -0400 SUNRPC: Replace flush_workqueue() with cancel_work_sync() and friends Signed-off-by: Trond Myklebust commit 3d39c691ff486142dd9aaeac12f553f4476b7a62 Author: Trond Myklebust Date: Tue Aug 7 15:28:33 2007 -0400 NFS: Replace flush_scheduled_work with cancel_work_sync() and friends This will avoid deadlocks of the form: stack backtrace: [] show_trace_log_lvl+0x1a/0x30 [] show_trace+0x12/0x20 [] dump_stack+0x15/0x20 [] __lock_acquire+0xc22/0x1030 [] lock_acquire+0x61/0x80 [] flush_workqueue+0x49/0x70 [] flush_scheduled_work+0xd/0x10 [] nfs_release_automount_timer+0x2c/0x30 [nfs] [] nfs_free_server+0x9e/0xd0 [nfs] [] nfs_kill_super+0x16/0x20 [nfs] [] deactivate_super+0x7d/0xa0 [] mntput_no_expire+0x4b/0x80 [] expire_mount_list+0xe4/0x140 [] mark_mounts_for_expiry+0x99/0xb0 [] nfs_expire_automounts+0xd/0x40 [nfs] [] run_workqueue+0x12b/0x1e0 [] worker_thread+0x9b/0x100 [] kthread+0x42/0x70 [] kernel_thread_helper+0x7/0x18 ======================= Signed-off-by: Trond Myklebust commit 6958e827f187c9c5cd39af075567f74f02bf3dd1 Author: Jack Morgenstein Date: Mon Aug 6 17:09:09 2007 +0300 IPoIB: Fix leak in ipoib_transport_dev_init() error path ipoib_transport_dev_init() calls ipoib_cm_dev_init(), so it needs to call ipoib_cm_dev_cleanup() to unwind that on the error path. Found by Dotan Barak of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit ed3110efb538d7acbf635095c1382118f7414f75 Author: Venki Pallipadi Date: Tue Jul 31 12:04:31 2007 -0700 ACPI: fix "Time Problems with 2.6.23-rc1-gf695baf2" Enable C3 without bm control only for CST based C3. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit a4deb81ba8ece75af5560d40d9bb8d242c48a111 Author: Trond Myklebust Date: Mon Aug 6 12:21:13 2007 -0400 SUNRPC: Don't call gss_delete_sec_context() from an rcu context Doing so may not be safe... Signed-off-by: Trond Myklebust commit 905f8d16e32fd48499e3f8b9a2d9f746af3e0949 Author: Trond Myklebust Date: Mon Aug 6 12:18:34 2007 -0400 NFSv4: Don't call put_rpccred() from an rcu callback Doing so would require us to introduce bh-safe locks into put_rpccred(). This patch fixes the lockdep complaint reported by Marc Dietrich: inconsistent {softirq-on-W} -> {in-softirq-W} usage. swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes: (rpc_credcache_lock){-+..}, at: [] _atomic_dec_and_lock+0x17/0x60 {softirq-on-W} state was registered at: [] __lock_acquire+0x650/0x1030 [] lock_acquire+0x61/0x80 [] _spin_lock+0x2c/0x40 [] _atomic_dec_and_lock+0x17/0x60 [] put_rpccred+0x5d/0x100 [sunrpc] [] rpcauth_unbindcred+0x21/0x60 [sunrpc] [] a0 [sunrpc] [] rpc_call_sync+0x30/0x40 [sunrpc] [] rpcb_register+0xdb/0x180 [sunrpc] [] svc_register+0x93/0x160 [sunrpc] [] __svc_create+0x1ee/0x220 [sunrpc] [] svc_create+0x13/0x20 [sunrpc] [] nfs_callback_up+0x82/0x120 [nfs] [] nfs_get_client+0x176/0x390 [nfs] [] nfs4_set_client+0x31/0x190 [nfs] [] nfs4_create_server+0x63/0x3b0 [nfs] [] nfs4_get_sb+0x346/0x5b0 [nfs] [] vfs_kern_mount+0x94/0x110 [] do_mount+0x1f2/0x7d0 [] sys_mount+0x66/0xa0 [] syscall_call+0x7/0xb [] 0xffffffff irq event stamp: 5277830 hardirqs last enabled at (5277830): [] kmem_cache_free+0x8a/0xc0 hardirqs last disabled at (5277829): [] kmem_cache_free+0x52/0xc0 softirqs last enabled at (5277798): [] __do_softirq+0xa3/0xc0 softirqs last disabled at (5277817): [] do_softirq+0x47/0x50 other info that might help us debug this: no locks held by swapper/0. stack backtrace: [] show_trace_log_lvl+0x1a/0x30 [] show_trace+0x12/0x20 [] dump_stack+0x15/0x20 [] print_usage_bug+0x153/0x160 [] mark_lock+0x449/0x620 [] __lock_acquire+0x604/0x1030 [] lock_acquire+0x61/0x80 [] _spin_lock+0x2c/0x40 [] _atomic_dec_and_lock+0x17/0x60 [] put_rpccred+0x5d/0x100 [sunrpc] [] nfs_free_delegation_callback+0x13/0x20 [nfs] [] __rcu_process_callbacks+0x6a/0x1c0 [] rcu_process_callbacks+0x12/0x30 [] tasklet_action+0x38/0x80 [] __do_softirq+0x55/0xc0 [] do_softirq+0x47/0x50 [] irq_exit+0x35/0x40 [] smp_apic_timer_interrupt+0x43/0x80 [] apic_timer_interrupt+0x33/0x38 [] cpuidle_idle_call+0x6f/0x90 [] cpu_idle+0x43/0x70 [] rest_init+0x47/0x50 [] start_kernel+0x22a/0x2b0 [<00000000>] 0x0 ======================= Signed-off-by: Trond Myklebust commit 45328c354e8ae16b67cb3adb72ab57459f9e5fd6 Author: Trond Myklebust Date: Thu Jul 26 17:47:34 2007 -0400 NFS: Fix NFSv4 open stateid regressions Do not allow cached open for O_RDONLY or O_WRONLY unless the file has been previously opened in these modes. Also Fix the calculation of the mode in nfs4_close_prepare. We should only issue an OPEN_DOWNGRADE if we're sure that we will still be holding the correct open modes. This may not be the case if we've been doing delegated opens. Finally, there is no need to adjust the open mode bit flags in nfs4_close_done(): that has already been done in nfs4_close_prepare(). Signed-off-by: Trond Myklebust commit ba683031fae115d61c6b5f4c675cc27f6e9576d2 Author: Trond Myklebust Date: Fri Jul 27 10:23:05 2007 -0400 NFSv4: Fix a locking regression in nfs4_set_mode_locked() We don't really need to clear &state->inode_states inside nfs4_set_mode_locked, and doing so without holding the inode->i_lock would in any case be a bug... Signed-off-by: Trond Myklebust commit 5e11934d13c9a3bcb0cadad6c7a7de5c32660422 Author: Trond Myklebust Date: Thu Jul 26 12:06:17 2007 -0400 NFS: Fix put_nfs_open_context We need to grab the inode->i_lock atomically with the last reference put in order to remove the open context that is being freed from the nfsi->open_files list. Fix by converting the kref to a standard atomic counter and then using atomic_dec_and_lock()... Thanks to Arnd Bergmann for pointing out the problem. Signed-off-by: Trond Myklebust commit b247bbf1da69ce376aa1ceb8057331214589e366 Author: Trond Myklebust Date: Thu Jul 19 16:32:20 2007 -0400 SUNRPC: Fix a race in rpciod_down() The commit 4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b lead to the unpleasant possibility of an asynchronous rpc_task being required to call rpciod_down() when it is complete. This again means that the rpciod workqueue may get to call destroy_workqueue on itself -> hang... Change rpciod_up/rpciod_down to just get/put the module, and then create/destroy the workqueues on module load/unload. Signed-off-by: Trond Myklebust commit 5f70bf7510e5e51b0bac32b1470c92e9332452a4 Author: Henrique de Moraes Holschuh Date: Sun Aug 5 15:20:45 2007 -0300 ACPI: thinkpad-acpi: change thinkpad-acpi input default and kconfig help The current kconfig help text was misleading users. Also, the default for an input-layer-optimized support caused way too many problems without up-to-date userspace in place. So, rework the help text, and change the default to N. Note that distributions are supposed to enable this option as soon as they update HAL to a version that handles the thinkpad-acpi new input layer interface. Signed-off-by: Henrique de Moraes Holschuh Cc: Michael S. Tsirkin Cc: Hugh Dickins Signed-off-by: Len Brown commit 5556410e2203877e7606bb1008f2e024fe87953a Author: Paul Mundt Date: Tue Aug 7 19:13:23 2007 +0900 sh: panic on machvec section misalignment. Now that __initmv references the machvec section unconditionally there have been cases where folks have been mistakenly flagging non-machvec structures with the machvec section attribute (presumably to shut up modpost). This leads to obscure breakage in earlyprintk amongst other places and is rather non-obvious. Add a simple sanity check to try and catch __initmv misuse and panic early. Reported-by: Markus Brunner Signed-off-by: Paul Mundt commit 6f605d83dd3906bcf69280f8754df85f80538471 Author: Al Viro Date: Mon Aug 6 04:26:59 2007 +0100 take sched_debug.c out of nasal demon territory C99 6.10.3[11]: preprocessing directive within the argument list of macro invocation => undefined behaviour. Don't do that... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit cc1ff43b7002b40686f03269b5011d59965737a4 Author: Rusty Russell Date: Mon Aug 6 10:48:18 2007 +1000 Enable lguest drivers in Kconfig Lguest drivers need to default to "Y" otherwise they're never selected for new builds. (We don't bother prompting, because they're less than 4k combined, and implied by selecting lguest support). Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit bac27d35cbbf7c641efcc75b5330df8717d6db65 Author: Avi Kivity Date: Sun Aug 5 10:16:11 2007 +0300 KVM: x86 emulator: fix debug reg mov instructions More fallout from the writeback fixes: debug register transfer instructions do their own writeback and thus need to disable the general writeback mechanism. This fixes oopses and some guest failures on AMD machines (the Intel variant decodes the instruction in hardware and thus does not need emulation). Cc: Alistair John Strachan Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit 21f16289270447673a7263ccc0b22d562fb01ecb Author: Dave Airlie Date: Tue Aug 7 09:09:51 2007 +1000 drm/i915: Fix i965 secured batchbuffer usage This 965G and above chipsets moved the batch buffer non-secure bits to another place. This means that previous drm's allowed in-secure batchbuffers to be submitted to the hardware from non-privileged users who are logged into X and and have access to direct rendering. Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit 313b0305b5a1e7e0fb39383befbf79558ce68a9c Author: Francois Romieu Date: Thu Aug 2 00:00:48 2007 +0200 r8169: avoid needless NAPI poll scheduling Theory : though needless, it should not have hurt. Practice: it does not play nice with DEBUG_SHIRQ + LOCKDEP + UP (see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=242572). The patch makes sense in itself but I should dig why it has an effect on #242572 (assuming that NAPI do not change in a near future). Signed-off-by: Francois Romieu Cc: Edward Hsu commit 2584fbc3a61897de5eddd56b39a4fa9cd074eca2 Author: Roger So Date: Tue Jul 31 23:52:42 2007 +0200 r8169: PHY power-on fix Fix extracted from Realtek's driver (8.002.00/20070713) for the PHY attached to 8111/8168b chipsets. The check against mac_version is just usual paranoia during the bugfix period of the kernel cycle. -- FR Tested on Asus M2A-VM motherboard by Roger So. No regression on my Asrock 945G DVI either (built-in 8168 + 2x8169). Signed-off-by: Roger So Signed-off-by: Francois Romieu Cc: Edward Hsu commit f27b62d3e7ecca42a75f1c5d3cc225539301ba6d Author: Daniel Drake Date: Fri Jul 27 15:43:24 2007 +0200 [PATCH] mac80211: don't allow scanning in monitor mode zd1211rw gets confused when the user asks for a scan when the device is in monitor mode. This patch tightens up the SIWSCAN handler to deny the scan under these conditions. Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit ba9b07d08b7e512535c6fcfcc2cf470f3dd58b8d Author: Zhu Yi Date: Fri Jul 27 15:43:23 2007 +0200 [PATCH] mac80211: Fix sparse error for sta_last_seq_ctrl_read Fix sparse error for sta_last_seq_ctrl_read. Signed-off-by: Zhu Yi Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 21887b2f1826876f78a2d8e8e89f52993e7d76db Author: Zhu Yi Date: Fri Jul 27 15:43:23 2007 +0200 [PATCH] mac80211: use do { } while (0) for multi-line macros Use do { } while (0) for multi-line macros Signed-off-by: Zhu Yi Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 0e7088de6ce5a64d9bb7b11eba4ee98ca5b654e8 Author: Daniel Drake Date: Fri Jul 27 15:43:21 2007 +0200 [PATCH] mac80211: missing dev_put in ieee80211_master_start_xmit Fixes an unlikely reference leak condition. Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit fdc8f43b5e49b64b251bb48da95193a13ac0132f Author: Michael Buesch Date: Tue Jul 31 20:41:04 2007 +0200 [PATCH] softmac: Fix deadlock of wx_set_essid with assoc work The essid wireless extension does deadlock against the assoc mutex, as we don't unlock the assoc mutex when flushing the workqueue, which also holds the lock. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 69dad6e563140ce8578749a8c8651b7f1db8cdbc Author: Ulrich Kunitz Date: Sat Jul 21 22:42:02 2007 +0100 [PATCH] zd1211rw: fix filter for PSPOLL frames While filling the control set the driver tests for a PSPOLL frame. But it tested only the subtype of the packet. The full type needs to be tested to identify those packets reliably. [dsd@gentoo.org: backport to mainline] Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit c43bff43e0617dd56515b4ea42a8037c699c86f1 Author: Michael Wu Date: Sun Jul 15 17:09:55 2007 -0700 [PATCH] rtl8187: ensure priv->hwaddr is always valid conf->mac_addr is not guaranteed to be set. This ensures priv->hwaddr is always set to a valid mac address. Thanks to Johannes Berg for finding this problem. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 313b0d3d863453cb596ea42aed07f8e1a9b0a7e2 Author: Masakazu Mokuno Date: Mon Jul 9 19:54:39 2007 +0900 [PATCH] remove duplicated ioctl entries in compat_ioctl.c This patch removes some duplicated wireless ioctl entries in the array 'struct ioctl_trans ioctl_start[]' of fs/compat_ioctl.c These entries are registered twice like: COMPATIBLE_IOCTL(SIOCGIWPRIV) and HANDLE_IOCTL(SIOCGIWPRIV, do_wireless_ioctl) Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 829ef1f574a979f681959fd17f9bd698e878cda4 Author: John W. Linville Date: Mon Aug 6 14:41:59 2007 -0400 Revert "[PATCH] bcm43xx: Fix deviation from specifications in set_baseband_attenuation" This reverts commit 77548f58070894cf5970a110981e511ffe793369. David Woodhouse wrote: >This broke my shinybook. I seem to get absolutely _no_ outgoing packets, >although I can receive OK. Larry Finger wrote: >Please revert this patch. Signed-off-by: John W. Linville commit 6e7d934060559454f161b3cf7cc5b7a5926e71d6 Author: Russell King Date: Mon Aug 6 16:48:49 2007 +0100 [ARM] rpc: update defconfig Signed-off-by: Russell King commit eba84481c7424f03c792d753fe02d9d6d3609fe0 Author: Russell King Date: Mon Aug 6 16:10:54 2007 +0100 [ARM] pata_icside: fix the FIXMEs Alan Cox suggested that the solution to the FIXMEs in pata_icside is to use a private postreset method to detect the lack of devices on a port, and in such a case, disable the interrupt for the port. This patch implements such a method, and removes the hard coded disable of port 0. Tested as working. Acked-by: Jeff Garzik Signed-off-by: Russell King commit 06817176784f620984200dc5d7cbe16984f7b262 Author: Sebastian Siewior Date: Fri Aug 3 20:33:47 2007 +0800 [CRYPTO] api: fix writting into unallocated memory in setkey_aligned setkey_unaligned() commited in ca7c39385ce1a7b44894a4b225a4608624e90730 overwrites unallocated memory in the following memset() because I used the wrong buffer length. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit db7f3ded8d42c60b0d0a4f71d621e105790b872b Author: Jesper Juhl Date: Sat Aug 4 20:30:58 2007 +0200 efficeon-agp leaks 'struct agp_bridge_data' in error paths of agp_efficeon_probe() (This is a resend of a patch originally submitted on 24-Jul-2007 00:14) Ok, this is something the coverity checker found (CID: 1813). I'm not at all intimate with this code, so I'm not sure if this attempt at a fix is correct (but at least it compiles). Please look it over and NACK if bad or merge if good ;-) Signed-off-by: Jesper Juhl Signed-off-by: Dave Airlie commit e62687f995fd7ba0b68c3b0a4f4d9fd9d1c54ec2 Author: Robin Getz Date: Sun Aug 5 17:21:55 2007 +0800 Blackfin arch: fix the aliased write macros Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4bbd10fd312f50de74ba53f6cb968986da5dfe92 Author: Michael Hennerich Date: Mon Aug 27 17:29:10 2007 +0800 Blackfin arch: Update/Fix PM support add new pm_ops valid Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit be1b685fe6c9928848b26b568eaa86ba8ce0046c Author: Chuck Ebbert Date: Sat Aug 4 21:18:16 2007 -0700 [NETFILTER]: Add xt_statistic.h to the header list for usermode programs Add xt_statistic.h to the list of headers to install. Apparently needed to build newer versions of iptables. Signed-off-by: Chuck Ebbert Signed-off-by: David S. Miller commit c8154c8a9aaf548ad91e413da8b319858e37bc52 Author: Mark Fortescue Date: Sat Aug 4 21:17:18 2007 -0700 [SPARC32]: Fix build. Correct incorrect removal of asm-generic/fcntl.h from asm-sparc/fcntl.h by commit 6ba60d2195cd65d72eaf7ce3903a707c5bf20c7b. Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit b8b786098b98f3b08dc8ab7cccf3963976b10336 Author: Jan Altenberg Date: Fri Aug 3 12:14:34 2007 +0100 [ARM] 4542/1: AT91: include atmel_lcdc.h in at91sam926{1,3}_devices.c - Include atmel_lcdc.h in at91sam926{1,3}_devices.c Signed-off-by: Jan Altenberg Signed-off-by: Russell King commit 581cf23b51614461ab66e3b786d96cc73e813550 Author: Dan Williams Date: Thu Aug 2 17:08:51 2007 +0100 [ARM] 4541/1: iop: defconfig updates With the availability of the iop-adma driver iop platforms can now use their offload engines for md-raid5 (copy+xor) and net-dma (tcp receive copy) offload. Cc: Lennert Buytenhek Signed-off-by: Dan Williams Signed-off-by: Russell King commit 0a8626a475b2b6215a25e944fbd378bd5818fdd7 Author: Greg Ungerer Date: Mon Jul 30 02:07:39 2007 +0100 [ARM] 4531/1: remove is_in_rom() protptype Remove unused is_in_rom() function prototype. Signed-off-by: Greg Ungerer Signed-off-by: Russell King commit 2b053729a84b6aac197df51b8729bc9fec743bff Author: Salyzyn, Mark Date: Thu Aug 2 15:38:59 2007 -0400 [SCSI] aacraid: prevent panic on adapter resource failure If the driver fails to allocate the contiguous (DMAable) memory for system reasons, we fail to load the instance, but then we try to free the allocation in the cleanup code and we get a panic in pci_free_consistent(). This is reported against an older kernel, hope this is relevant for latest/greatest. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 2338545aafbecce55bbc651fb3f63ebf7468b6fb Author: Boaz Harrosh Date: Sun Jul 29 22:29:02 2007 +0300 [SCSI] aha152x: use data accessors and !use_sg cleanup And finally this is the regular !use_sg cleanup and use of data accessors. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 45333ffa6ffd2f493fc3853481984b6e60b4fb93 Author: Boaz Harrosh Date: Sun Jul 29 22:27:06 2007 +0300 [SCSI] aha152x: Fix check_condition code-path check_condition code-path was similar but more complicated to Reset. It went like this: 1. extra space was allocated at aha152x_scdata for mirroring scsi_cmnd members. 2. At aha152x_internal_queue() every not check_condition (REQUEST_SENSE) command was copied to above members in case of error. 3. At busfree_run() in the DONE_CS phase if a Status of SAM_STAT_CHECK_CONDITION was detected. The command was re-queued Internally using aha152x_internal_queue(,,check_condition,) The old command members are over written with the REQUEST_SENSE info. 4. At busfree_run() in the DONE_CS phase again. If it is a check_condition command, info was restored from mirror made at first call to aha152x_internal_queue() (see 2) and the command is completed. What I did is: 1. Allocate less space in aha152x_scdata only for the 16-byte original command. (which is actually not needed by scsi-ml anymore at this stage. But this is to much knowledge of scsi-ml) 2. If Status == SAM_STAT_CHECK_CONDITION, then like before re-queue a REQUEST_SENSE command. But only now save original command members. (Less of them) 3. In aha152x_internal_queue(), just like for Reset, use the check_condition hint to set differently the working members. execute the command. 4. At busfree_run() in the DONE_CS phase again. restore needed members. While at it. This patch fixes a BUG. Old code when sending a REQUEST_SENSE for a failed command. Would than return with cmd->resid == 0 which was the status of the REQUEST_SENSE. The failing command resid was lost. And when would resid be interesting if not on a failing command? Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 66acdb0309507950376393f2fb1c8e7482fb4d52 Author: Boaz Harrosh Date: Sun Jul 29 22:24:09 2007 +0300 [SCSI] aha152x: Clean Reset path What Reset code was doing: Save command's important/dangerous Info on stack. NULL those members from scsi_cmnd. Issue a Reset. wait for it to finish than restore members and return. What I do is save or NULL nothing. But use the "resetting" hint in aha152x_internal_queue() to NULL out working members and leave struct scsi_cmnd alone. The indent here looks funny but it will change/drop in last patch and it is clear this way what changed. Signed-off-by: James Bottomley commit 0ceb47987d31f8529c60f1e802e0523fcde9492c Author: Boaz Harrosh Date: Sun Jul 29 22:22:04 2007 +0300 [SCSI] aha152x: preliminary fixes and some comments hunk by hunk: - CHECK_CONDITION is what happens to cmnd->status >> 1 or after status_byte() macro. But here it is used directly on status which means 0x1 which is an undefined bit in the standard. And is a status that will never return from a target. - in busfree_run at the DONE_SC phase we have 3 distinct operation: 1-if(DONE_SC->SCp.phase & check_condition) The REQUEST_SENSE command return. - Restore original command - Than continue to operation 3. 2-if(DONE_SC->SCp.Status==SAM_STAT_CHECK_CONDITION) A regular command returned with a status. - Internally re-Q a REQUEST_SENSE. - Do not do operation 3. 3- - Complete the command and return it to scsi-ml So the 0x2 in both these operations (1,2) means the scsi check-condition status, hence SAM_STAT_CHECK_CONDITION - Here the code asks about !(DONE_SC->SCp.Status & not_issued) but "not_issued" is an enum belonging to the "phase" member and not to the Status returned from target. The reason this works is because not_issued==1 and Also CHECK_CONDITION==1 (remember from hunk 1). So actually the code was asking !(DONE_SC->SCp.Status & CHECK_CONDITION). Which means "Has the status been read from target yet?" Staus is read at status_run(). "not_issued" is cleared in seldo_run() which is usually earlier than status_run(). So this patch does nothing as far as assembly is concerned but it does let the reader understand what is going on. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit b1ee0795276f976118f832313488e6daf83ff542 Author: Boaz Harrosh Date: Sun Jul 29 22:18:20 2007 +0300 [SCSI] aha152x: use bounce buffer Cause highmem buffers to be bounced to low memory until this driver supports highmem addresses. Otherwise it just oopses on NULL buffer addresses. Signed-off-by: Randy Dunlap Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 50535df3ee3d3407ff61044692942288df7fcd6a Author: Boaz Harrosh Date: Sun Jul 29 22:16:14 2007 +0300 [SCSI] aha152x: fix debug mode symbol conflict The symbol conflicts with the rather global one in include/linux/locks.h. Signed-off-by: Randy Dunlap Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 03a5743a12b58e10eaa936a02498539db645ba4e Author: James Bottomley Date: Fri Aug 3 16:41:11 2007 -0500 [SCSI] sd: disentangle barriers in SCSI Our current implementation has a generic set of barrier functions that go through the SCSI driver model. Realistically, this is unnecessary, because the only device that can use barriers (sd) can set the flush functions up at probe or revalidate time. This patch pulls the barrier functions out of the mid layer and scsi driver model and relocates them directly in sd. Acked-by: Tejun Heo Signed-off-by: James Bottomley commit 662ae2169a16004700cc18c1898aead2e5e944d5 Author: Paul Mundt Date: Sat Aug 4 13:39:21 2007 +0900 sh: Fix PTRACE_PEEKTEXT/PEEKDATA fallout from generic_ptrace_peekdata(). When generic_ptrace_peekdata() was merged, the break for these cases ended up getting dropped, which lead to each PEEKTEXT/PEEKDATA op leaking in to PEEKUSR and get_user_pages() always -EFAULTing. Add the break back in. Signed-off-by: Paul Mundt commit 6caebb02294b503c5eced4a3f90e6166548ce879 Author: Michael Chan Date: Fri Aug 3 20:57:25 2007 -0700 [BNX2]: Fix suspend/resume problem. The device would not resume properly if it was shutdown before the system was suspended. In such scenario where the netif_running state is 0, bnx2_suspend() would not save the PCI state and so the memory enable bit and bus master enable bit would be lost. We fix this by always saving and restoring the PCI state in bnx2_suspend() and bnx2_resume() regardless of netif_running() state. Update version to 1.6.4. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3e0c95fd648c0d3175b9ff2232597d0b02eb7d46 Author: Michael Chan Date: Fri Aug 3 20:56:54 2007 -0700 [TG3]: Fix suspend/resume problem. Joachim Deguara reported that tg3 devices would not resume properly if the device was shutdown before the system was suspended. In such scenario where the netif_running state is 0, tg3_suspend() would not save the PCI state and so the memory enable bit and bus master enable bit would be lost. We fix this by always saving and restoring the PCI state in tg3_suspend() and tg3_resume() regardless of netif_running() state. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d4ac2477fad0f2680e84ec12e387ce67682c5c13 Author: Linus Torvalds Date: Fri Aug 3 19:49:55 2007 -0700 Linux 2.6.23-rc2 commit 0a5245099819b0ae0a8e985f54909ba8414faba5 Author: Meelis Roos Date: Thu Jul 26 12:56:55 2007 +0300 ACPI: EC: fix run-together printk lines Signed-off-by: Meelis Roos Signed-off-by: Len Brown commit bc90a0105dea7b773e99ae7abde56a6930081ddb Author: Adrian Bunk Date: Mon Jul 9 11:33:15 2007 -0700 ACPI: sbs: remove dead code Remove dead code spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 07ddf768d860bee7bd6581b7af3ce1009dbd05d0 Author: Adrian Bunk Date: Sun Jul 29 17:00:37 2007 +0200 ACPI: EC: acpi_ec_remove(): fix use-after-free This patch fixes an obvious use-after-free introduced by commit 837012ede14a8fc088be3682c964da7fc6af026b. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 3e847423bf029c2170692c75580a856debed617b Author: Al Viro Date: Thu Aug 2 19:21:30 2007 +0100 fix s2io regression * wrong argument passed to pci_unmap_single() on failure exit paths * leak in the same area Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 247284481ca40288bd120cf0707681c3bdbee78f Author: Oleg Nesterov Date: Sat Aug 4 01:04:41 2007 +0400 Kill some obsolete sub-thread-ptrace stuff There is a couple of subtle checks which were needed to handle ptracing from the same thread group. This was deprecated a long ago, imho this code just complicates the understanding. And, the "->parent->signal->flags & SIGNAL_GROUP_EXIT" check in exit_notify() is not right. SIGNAL_GROUP_EXIT can mean exec(), not exit_group(). This means ptracer can lose a ptraced zombie on exec(). Minor problem, but still the bug. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Linus Torvalds commit b6b1d87785712474d0ed80689c17107d616a1171 Author: Daniel Ritz Date: Fri Aug 3 16:07:43 2007 +0200 serial: fix 8250 early console setup the early setup function serial8250_console_early_setup() can be called from non __init code (eg. hotpluggable serial ports like serial_cs) so remove the __init from the call chain to avoid crashes. Signed-off-by: Daniel Ritz Cc: Yinghai Lu Signed-off-by: Linus Torvalds commit 7c010de7506954e973abfab5c5999c5a97f7a73e Author: Alexey Starikovskiy Date: Fri Aug 3 17:57:53 2007 -0400 ACPI: EC: Switch from boot_ec as soon as we find its desc in DSDT. Some ASUS laptops fail to use boot time EC and need to eventually switch to one described in DSDT. http://bugzilla.kernel.org/show_bug.cgi?id=8709 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 52fe4bdf40bc07498c5f7935551774e8f8458190 Author: Len Brown Date: Fri Aug 3 17:55:53 2007 -0400 ACPI: EC: fix build warning drivers/acpi/ec.c:657: warning: ‘acpi_ec_register_query_methods’ defined but not used Signed-off-by: Len Brown commit cd8c93a4e04dce8f00d1ef3a476aac8bd65ae40b Author: Alexey Starikovskiy Date: Fri Aug 3 17:52:48 2007 -0400 ACPI: EC: If ECDT is not found, look up EC in DSDT. Some ASUS laptops access EC space from device _INI methods, but do not provide ECDT for early EC setup. In order to make them function properly, there is a need to find EC is DSDT before any _INI is called. Similar functionality was turned on by acpi_fake_ecdt=1 command line before. Now it is on all the time. http://bugzilla.kernel.org/show_bug.cgi?id=8598 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 3bd92ba19a89fe61ebf58804f9c8675372f50c1c Author: Alexey Starikovskiy Date: Fri Aug 3 17:38:20 2007 -0400 ACPI: Battery: Synchronize battery operations. http://bugzilla.kernel.org/show_bug.cgi?id=8768 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 198919151dea65d83dd0fb66979b1df28402f2b0 Author: Vu Pham Date: Fri Aug 3 14:25:48 2007 -0700 IB/mlx4: Fix opcode returned in RDMA read completion Current code has a cut-and-paste error and returns IB_WC_SEND when it should return IB_WC_RDMA_READ. Signed-off-by: Vu Pham Signed-off-by: Roland Dreier commit f1cd1fe61b96e4312312d42c0a9784dfab12e007 Author: Alexey Starikovskiy Date: Fri Aug 3 17:28:17 2007 -0400 ACPI: EC: Remove noisy debug printk fron EC driver. ACPI: EC: Handler for query 0x57 is not found! Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 6ba60d2195cd65d72eaf7ce3903a707c5bf20c7b Author: David S. Miller Date: Fri Aug 3 14:24:17 2007 -0700 [SPARC]: Fix O_CLOEXEC values. The one choosen by asm-generic/fcntl.h is not appropriate for this platform. Noticed by Ulrich Drepper. Signed-off-by: David S. Miller commit 0a808a3131b2a6656475d82219f5e5d25edd7160 Author: David S. Miller Date: Thu Aug 2 00:19:14 2007 -0700 [SPARC32]: Fix modular build of floppy driver. Signed-off-by: David S. Miller commit 3daadf33013a1c4d7abf4a65b24644cdd8ae896a Author: Georg Chini Date: Wed Aug 1 21:55:58 2007 -0700 [SOUND] CS4231 SBus: Two fixes. Remove unnecessary sbus_dma_reset function and change sbus_dma_enable to avoid occasional system crashes when stopping recording. Signed-off-by: Georg Chini Signed-off-by: David S. Miller commit 3fc701d5d459f3b83ba874613048d36e91debca2 Author: Krzysztof Helt Date: Wed Aug 1 21:39:32 2007 -0700 [CG6]: fix memory size detection This patch fixes memory size detection on the CG6 card. The 1MB TGX card has dblbuf property set to 0. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 63213196fd4b05b9c3539cbe34775c60f1f6fad0 Author: David S. Miller Date: Tue Jul 31 20:43:17 2007 -0700 [SPARC64]: Add missing dma_sync_single_range_for_*(). Reported by Andrew Morton. Signed-off-by: David S. Miller commit de47b69c7b7be46b0848b2c4f8e23c478cd68690 Author: Jesper Juhl Date: Sun Jul 29 00:45:59 2007 +0200 asus_acpi: fix possible double free (found by Coverity) Signed-off-by: Jesper Juhl Signed-off-by: Len Brown commit ac36393de6034be7266264a435360e7628849005 Author: Henrique de Moraes Holschuh Date: Fri Jul 27 17:04:40 2007 -0300 ACPI: thinkpad-acpi: fix the module init failure path Thomas Renninger reports that if one tries to load thinkpad-acpi in a non-thinkpad, one gets: Call Trace: [] kref_get+0x2f/0x36 [] kobject_get+0x12/0x17 [] get_driver+0x14/0x1a [] driver_remove_file+0x11/0x32 [] :thinkpad_acpi:thinkpad_acpi_module_exit+0xa8/0xfc [] :thinkpad_acpi:thinkpad_acpi_module_init+0x74a/0x776 [] __link_module+0x0/0x25 [] sys_init_module+0x162c/0x178f [] system_call+0x7e/0x83 So, track if the platform driver and its driver attributes were registered, and only deallocate them in that case. This patch is based on Thomas Renninger's patch for the issue. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Thomas Renninger Signed-off-by: Len Brown commit f7b88ccb63188e775fe02e746c39ed177741cfc7 Author: Eugene Teo Date: Sat Aug 4 00:22:32 2007 +0900 sonypi: fix ids member of struct acpi_driver ids member of struct acpi_driver is of type struct acpi_device_id, not a character array. Signed-off-by: Eugene Teo Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 11604ecf6fb9c2ab0152fbddb7ea2724438ef76e Author: Adrian Bunk Date: Sat Aug 4 00:22:31 2007 +0900 sony-laptop: sony_nc_ids[] can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit e84a02ba0b33a97a8486f3248fd45f50b1a1c014 Author: Mattia Dongili Date: Sat Aug 4 00:22:30 2007 +0900 sony-laptop: restore the last user requested brightness level on resume. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 3d1ff48da760968793f3c36672961ffd23088787 Author: Raghava Kondapalli Date: Fri Aug 3 10:45:18 2007 -0700 IB/srp: Add OUI for new Cisco targets New Cisco IB SRP targets use the Cisco OUI 00-1b-0d but still need the Topspin workarounds. Add this OUI to srp_target_is_topspin(). Signed-off-by: Roland Dreier commit 5d7cbfd63136e4469a896acfadb33e19ed62f068 Author: Roland Dreier Date: Fri Aug 3 10:45:18 2007 -0700 IB/srp: Wrap OUI checking for workarounds in helper functions Wrap the checking for Mellanox and Topspin OUIs to decide whether to use a workaround into helper functions. This will make it cleaner to add a new OUI to check (as we need to do now that some targets with a Cisco OUI still need the Topspin workarounds). Signed-off-by: Roland Dreier commit 699924b1e1ea3c9307eb582b9cc386e4af88aaae Author: Steve Wise Date: Sun Jul 29 15:12:29 2007 -0500 RDMA/cxgb3: Always call low level send function via cxgb3_ofld_send() This avoids deadlocks. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 92ddc447ce7382e36b72a240697c00bf4beb8d75 Author: Dotan Barak Date: Wed Aug 1 13:33:56 2007 +0300 IB: Move the macro IB_UMEM_MAX_PAGE_CHUNK() to umem.c After moving the definition of struct ib_umem_chunk from ib_verbs.h to ib_umem.h there isn't any reason for the macro IB_UMEM_MAX_PAGE_CHUNK to stay in ib_verbs.h. Move the macro to umem.c, the only place where it is used. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit bfb3ea125174813cdf87b1120caf0c9bd580283e Author: Dotan Barak Date: Tue Jul 31 16:49:15 2007 +0300 IB: Include and from ib_verbs.h uses struct list_head and rw_semaphore, so while the files and seem to be pulled in indirectly by the other header files it includes, the right thing is to include those files directly. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit e8b398deb73b4a0c3d636f2146c9f35f8eac6d88 Author: Dotan Barak Date: Tue Jul 31 16:37:11 2007 +0300 IB: Include from ib_mad.h uses struct list_head, so while linux/list.h seems to be pulled in indirectly by one of the headers it includes, the right thing is to include linux/list.h directly. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 38d5af9565f3fa1bf258f3eaeb47c4a95fd7a2b2 Author: Sean Hefty Date: Tue Jul 31 15:10:54 2007 -0700 IB/mad: Fix address handle leak in mad_rmpp The address handle associated with dual-sided RMPP direction switch ACKs is never destroyed. Free the AH for ACKs which fall into this category. Problem was reported by Dotan Barak . Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 8fc394b1971241999ef9b022feabf6a164791e3f Author: Hal Rosenstock Date: Fri Aug 3 10:45:17 2007 -0700 IB/mad: agent_send_response() should be void Nothing looks at the return value of agent_send_response(), so there's no point in returning anything. Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 86dfbecdea733a6e940b958e94a85af45b89a0b9 Author: Hal Rosenstock Date: Fri Aug 3 10:45:17 2007 -0700 IB/mad: Fix memory leak in switch handling in ib_mad_recv_done_handler() If agent_send_response() returns an error, we shouldn't do anything differently than if it succeeds; setting response to NULL just means that the response buffer gets leaked. Signed-off-by: Suresh Shelvapille Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 445d68070c9c02acdda38e6d69bd43096f521035 Author: Hal Rosenstock Date: Fri Aug 3 10:45:17 2007 -0700 IB/mad: Fix error path if response alloc fails in ib_mad_recv_done_handler() If ib_mad_recv_done_handler() fails to allocate response, then it just printed a warning and continued, which leads to an oops if the MAD is being handled for a switch device, because the switch code uses response without checking for NULL. Fix this by bailing out of the function if the allocation fails. Signed-off-by: Suresh Shelvapille Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 5399891052badf97948098d01772113801f6ef58 Author: Roland Dreier Date: Fri Aug 3 10:45:17 2007 -0700 IB/sa: Don't need to check for default P_Key twice Now that ib_find_pkey() ignores the membership bit of P_Keys, there's no need for ib_sa to look for both 0x7fff and 0xffff in a port's P_Key table. Signed-off-by: Roland Dreier commit 36026ecc20e5df722bbe2ea9e451c73d686ef107 Author: Moni Shoua Date: Mon Jul 23 10:07:42 2007 +0300 IB/core: Ignore membership bit in ib_find_pkey() ib_find_pkey() is used as a replacement for ib_find_cached_pkey(), and the original function ignored the membership bit when searching for a P_Key, so ib_find_pkey() should ignore the bit too. In particular, IPoIB turns on the P_Key membership bit of limited membership P_Keys when creating a child interface and looks for the full membership P_key. This broke if a port was a partial member of a partition when IPoIB switched from ib_find_cached_pkey() to ib_find_pkey(), and this change fixes things again. Signed-off-by: Moni Shoua Signed-off-by: Roland Dreier commit 66dbfbe6fde35c881deda5cebb6ecaa0dcc1c975 Author: James Smart Date: Sun Aug 5 06:08:38 2007 -0400 [SCSI] lpfc : scsi command accessor fix for 8.2.2 It was pointed out by Boaz Harrosh that our 8.2.2 lpfc patches revert a change to using SCSI command accessor functions. This patch, to be applied on top of the 8.2.2. patches, updates the driver for the accessor functions. Signed-off-by: James Smart Signed-off-by: James Bottomley commit bec494775600b1cd7c144d31a09e1f46df9c6324 Author: Satyam Sharma Date: Fri Aug 3 08:27:13 2007 +0530 [MTD] Makefile fix for mtdsuper We want drivers/mtd/{mtdcore, mtdsuper, mtdpart}.c to be built and linked into the same mtd.ko module. Fix the Makefile to ensure this, and remove duplicate MODULE_ declarations in mtdpart.c, as mtdcore.c already has them. Signed-off-by: Satyam Sharma Signed-off-by: David Woodhouse commit 67439b76f29cb278bb3412fc873b980fc65110c9 Author: Michael Neuling Date: Fri Aug 3 11:55:39 2007 +1000 [POWERPC] Fixes for the SLB shadow buffer code On a machine with hardware 64kB pages and a kernel configured for a 64kB base page size, we need to change the vmalloc segment from 64kB pages to 4kB pages if some driver creates a non-cacheable mapping in the vmalloc area. However, we never updated with SLB shadow buffer. This fixes it. Thanks to paulus for finding this. Also added some write barriers to ensure the shadow buffer contents are always consistent. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 5628244059976009151d41c2798855290753d8d5 Author: Segher Boessenkool Date: Thu Aug 2 01:41:14 2007 +1000 [POWERPC] Fix a compile warning in powermac/feature.c ...by using the pci_get API instead of the deprecated old stuff. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 3a77d291be53fbc619f14a6199b9b4cac036c476 Author: Segher Boessenkool Date: Thu Aug 2 01:41:13 2007 +1000 [POWERPC] Fix a compile warning in pci_32.c __must_check, so do so. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit b9c3fdb0f0fe02ba33e87ef947f23cd12e6196fe Author: Michael Ellerman Date: Wed Aug 1 11:34:38 2007 +1000 [POWERPC] Fix parse_drconf_memory() for 64-bit start addresses Some new machines use the "ibm,dynamic-reconfiguration-memory" property to provide memory layout information, rather than via memory nodes. There is a bug in the code to parse this property for start addresses over 4GB; we store the start address in an unsigned int, which means we throw away the high bits and add apparently duplicate regions. This results in a BUG() in free_bootmem_core(). This fixes it by using an unsigned long instead. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 17aa3a82aa2173a22405f862c4444656f0494a3f Author: Kevin Corry Date: Wed Aug 1 06:19:46 2007 +1000 [POWERPC] Fix num_cpus calculation in smp_call_function_map() In smp_call_function_map(), num_cpus is set to the number of online CPUs minus one. However, if the CPU mask does not include all CPUs (except the one we're running on), the routine will hang in the first while() loop until the 8 second timeout occurs. The num_cpus should be set to the number of CPUs specified in the mask passed into the routine, after we've made any modifications to the mask. With this change, we can also get rid of the call to cpus_empty() and avoid adding another pass through the bitmask. Signed-off-by: Kevin Corry Signed-off-by: Carl Love Signed-off-by: Paul Mackerras commit cba684f56d7e8b82b08d4372375a42d6ebeab47d Author: Stephen Rothwell Date: Tue Jul 31 17:22:00 2007 +1000 [POWERPC] ps3: Fix section mismatch in ps3/setup.c WARNING: vmlinux.o(.text+0x605d4): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.prealloc' and '.ps3_power_save') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 683e3ab2b54a7190ec8517705880171cc8ac1d92 Author: Andre Detsch Date: Tue Jul 31 09:48:11 2007 +1000 [POWERPC] spufs: Fix affinity after introduction of node_allowed() calls This patch fixes affinity reference point placement, which was not being done in some situations, after the introduction of node_allowed() calls. The previously used parameter, 'ctx', is just the iterator of the previous list_for_each_entry_reverse loop, and its value might be invalid at the end of the loop. Also, the right context to seek for information when defining the reference ctx location _is_ the reference ctx. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 430404ed9c2f202ca9d3c8072699b2b0279e4dfe Author: Paul Mackerras Date: Fri Aug 3 19:16:11 2007 +1000 [POWERPC] Fix special PTE code for secondary hash bucket The code for mapping special 4k pages on kernels using a 64kB base page size was missing the code for doing the RPN (real page number) manipulation when inserting the hardware PTE in the secondary hash bucket. It needs the same code as has already been added to the code that inserts the HPTE in the primary hash bucket. This adds it. Spotted by Ben Herrenschmidt. Signed-off-by: Paul Mackerras commit 7c5b016246a889ec4b5dc8d40cab525e888a649e Author: Jan Altenberg Date: Fri Aug 3 16:08:15 2007 +0800 ucc_geth: remove get_perm_addr from ucc_geth_ethtool.c This is needed because commit 313674afa8fdced2fe79f50f38e1c387b63d8790 inlines the generic function to the caller. Signed-off-by: Jan Altenberg Signed-off-by: Li Yang commit ed7e63a51d46e835422d89c687b8a3e419a4212a Author: Domen Puncer Date: Fri Aug 3 16:07:58 2007 +0800 ucc_geth: fix section mismatch This fix section mismatch: reference to .exit.text:uec_mdio_exit (between 'ucc_geth_init' and 'uec_mdio_init') void __exit uec_mdio_exit(void) is called from - static int __init ucc_geth_init(void) - static void __exit ucc_geth_exit(void) First one would make error path more than just an error. Signed-off-by: Domen Puncer Signed-off-by: Li Yang commit c0f7c6cb5dbb6d90e0334e62376dbc6ac3d1d315 Author: Paul Mackerras Date: Fri Aug 3 14:08:24 2007 +1000 [POWERPC] Expand RPN field to 34 bits when using 64k pages The real page number field in our PTEs when configured for 64kB pages is currently 32 bits, which turns out to be not quite enough for the resources that the eHCA driver wants to map. This expands the RPN field to include 2 adjacent, previously-unused bits. Signed-off-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt commit 49ff4bb4cd4c04acf8f9e3d3ec2148305a1db445 Author: Ilpo Järvinen Date: Thu Aug 2 19:47:59 2007 -0700 [TCP]: DSACK signals data receival, be conservative In case a DSACK is received, it's better to lower cwnd as it's a sign of data receival. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 2e6052941ae1f2f875d7d9092acb8836af1e0193 Author: Ilpo Järvinen Date: Thu Aug 2 19:46:58 2007 -0700 [TCP]: Also handle snd_una changes in tcp_cwnd_down tcp_cwnd_down must check for it too as it should be conservative in case of collapse stuff and also when receiver is trying to lie (though that wouldn't be very successful/useful anyway). Note: - Separated also is_dupack and do_lost in fast_retransalert * Much cleaner look-and-feel now * This time it really fixes cumulative ACK with many new SACK blocks recovery entry (I claimed this fixes with last patch but it wasn't). TCP will now call tcp_update_scoreboard regardless of is_dupack when in recovery as long as there is enough fackets_out. - Introduce FLAG_SND_UNA_ADVANCED * Some prior_snd_una arguments are unnecessary after it - Added helper FLAG_ANY_PROGRESS to avoid long FLAG...|FLAG... constructs Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d788d8056fd913defa48bd94f18dc53de98cd7a6 Author: Florian Westphal Date: Thu Aug 2 19:28:06 2007 -0700 [TIPC]: Fix two minor sparse warnings. fix two warnings generated by sparse: link.c:2386 symbol 'msgcount' shadows an earlier one node.c:244 symbol 'addr_string' shadows an earlier one Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 248bbf38215fd5ce45a31c65c5e5511d9b611e5a Author: Florian Westphal Date: Thu Aug 2 19:26:23 2007 -0700 [TIPC]: Make function tipc_nameseq_subscribe static. make needlessly global function tipc_nameseq_subscribe static. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 4a4b6271a8df417e328aed4c8a7e04e0b282207e Author: Joy Latten Date: Thu Aug 2 19:25:43 2007 -0700 [PF_KEY]: Fix ipsec not working in 2.6.23-rc1-git10 Although an ipsec SA was established, kernel couldn't seem to find it. I think since we are now using "x->sel.family" instead of "family" in the xfrm_selector_match() called in xfrm_state_find(), af_key needs to set this field too, just as xfrm_user. In af_key.c, x->sel.family only gets set when there's an ext_hdrs[SADB_EXT_ADDRESS_PROXY-1] which I think is for tunnel. I think pfkey needs to also set the x->sel.family field when it is 0. Tested with below patch, and ipsec worked when using pfkey. Signed-off-by: David S. Miller commit 3516ffb0fef710749daf288c0fe146503e0cf9d4 Author: David S. Miller Date: Thu Aug 2 19:23:56 2007 -0700 [TCP]: Invoke tcp_sendmsg() directly, do not use inet_sendmsg(). As discovered by Evegniy Polyakov, if we try to sendmsg after a connection reset, we can do incredibly stupid things. The core issue is that inet_sendmsg() tries to autobind the socket, but we should never do that for TCP. Instead we should just go straight into TCP's sendmsg() code which will do all of the necessary state and pending socket error checks. TCP's sendpage already directly vectors to tcp_sendpage(), so this merely brings sendmsg() in line with that. Signed-off-by: David S. Miller commit 1bcabbdb0bdfe8b15b05150a7857646430aaa7f8 Author: Mariusz Kozlowski Date: Wed Aug 1 21:54:27 2007 -0700 [IPV4] route.c: mostly kmalloc + memset conversion to k[cz]alloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 4487b2f657a4d204c35a7afaa45fc8569c9069ca Author: Mariusz Kozlowski Date: Wed Aug 1 21:53:57 2007 -0700 [IPV4] raw.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 8adc5465525f28be1f728b6fa600d327e1d49f55 Author: Mariusz Kozlowski Date: Wed Aug 1 21:53:24 2007 -0700 [NETFILTER] nf_conntrack_l3proto_ipv4_compat.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 9f0d1a004d8d8c33d337d2b1cc9f0dc941cab627 Author: Mariusz Kozlowski Date: Wed Aug 1 21:52:34 2007 -0700 [NETFILTER] nf_conntrack_expect.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 2f0812350e0e34f583919470b0517c2e368ee048 Author: Michal Piotrowski Date: Wed Aug 1 21:50:44 2007 -0700 [NET]: Removal of duplicated include net/wanrouter/wanmain.c Signed-off-by: Michal Piotrowski Signed-off-by: David S. Miller commit cc6f33db30c4fcf7915270619e81a91d6190b6c8 Author: Magnus Damm Date: Fri Aug 3 10:17:47 2007 +0900 sh: fix defconfigs for sh7751r boards This patch fixes up the defconfig for various sh7751r based boards by updating them to the single cpu subtype CONFIG_CPU_SUBTYPE_SH7751R. The following sh4 boards are updated: hs7751rvoip, landisk, lboxre2, systemh, titan. The current defconfigs with two subtypes defined trigger a configuration bug which result in kernel configurations with missing board support code. We end up with kernels without board code and with generic machvec only. So we need this patch to make sure the board code gets compiled in. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5ca95c48f1bd006d1aafe2f8bf1a859262d6d7b1 Author: Magnus Damm Date: Fri Aug 3 10:16:29 2007 +0900 sh: fix cf support on r2d boards This patch makes sure cf support is enabled on R2D-PLUS but disabled on R2D-1. Without this fix R2D-1 boards hang on bootup. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a3b3e23015061814bffd733dbd9c4452b81ca6aa Author: Magnus Damm Date: Fri Aug 3 10:15:53 2007 +0900 sh: update r2d defconfig - Disable CONFIG_SH_DMA to avoid boot up freeze on R2D-1 - Disable CONFIG_SH_STANDARD_BIOS to support R2D-PLUS boot loaders Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 49dd3ff3a5f39d4300a4bc85e42756e286e28654 Author: David McCullough Date: Fri Aug 3 10:14:09 2007 +0900 sh: update snapgear defconfig. Updated the snapgear defconfig to get a booting kernel. Signed-off-by: David McCullough Signed-off-by: Paul Mundt commit 515495a1da9abf339b922b7919c4950e85b87b42 Author: Ben Dooks Date: Mon May 28 19:17:54 2007 +0100 [MTD] [NAND] nand_base.c: fix type of eccpos pointer The nand_base.c driver implicitly casts the uint32_t eccpos array to 'int *', which is not only not guaranteed to be the same sign as the source, but is not guaranteed to be the same size. Fix by changing nand_base.c to use uint32_t referencing the eccpos fields. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit a4265f8d9241ba583e48380f1b9e60cfcb798449 Author: Ivan Kuten Date: Thu May 24 14:35:58 2007 +0300 [MTD] [NAND] at91_nand rdy_pin fix The patch below fixes nand driver for AT91 boards which do not have NAND R/B signal connected to gpio (rdy_pin is not connected). Signed-off-by: Ivan Kuten Acked-by: Andrew Victor Signed-off-by: David Woodhouse commit 06a7643cd3d440a1d15a6b3aa7ee431f3f4791b4 Author: Artem Bityutskiy Date: Mon Jul 23 16:06:50 2007 +0300 [MTD] [NAND] fix race in nand_base.c When we mark block bad we have to get chip because this involves writing to the page's OOB. We hit this bug in UBI - we observed random obscure crashes when it marks block bad from the background thread and there is some parallel task which utilizes flash. This patch also adds a TODO note about BBT table protection which it seems does not exist. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 9d7b4b5562b60c826c71cf2e1b7b63add42e527f Author: Roland Stigge Date: Wed Jul 18 14:56:11 2007 +0200 [MTD] [NAND] Fix refactoring of EDB7312 hwcontrol function. The patch ensures that the current code (kernel 2.6.22) uses the bits like the code prior to the refactoring. The variable "bits" is employed in a useful way now. Signed-off-by: Roland Stigge Signed-off-by: David Woodhouse commit 47af05dd4b98b57eeb682596a0df42d106e02167 Author: Florin Malita Date: Thu Jul 19 16:45:18 2007 -0400 [MTD] Fix potential leak in rfd_ftl_add_mtd This fixes a leak in the !mtd->erasesize error path (Coverity 1765). Signed-off-by: Florin Malita Signed-off-by: David Woodhouse commit b8e3ec30c232eb76c96ecab52205fe46e8b0473a Author: David Woodhouse Date: Thu Jul 5 01:57:26 2007 -0400 [JFFS2] Print correct node offset when complaining about broken data CRC Debugging the hardware problems in OLPC trac #1905 would be a whole lot easier if the correct node offsets were printed for the offending nodes. Signed-off-by: David Woodhouse commit 7b687707d769112aee220bafd50fa113363717ff Author: David Woodhouse Date: Thu Jun 28 19:49:36 2007 +0100 [JFFS2] Fix suspend failure with JFFS2 GC thread. The try_to_freeze() call was in the wrong place; we need it in the signal-pending loop now that a pending freeze also makes signal_pending() return true. Signed-off-by: David Woodhouse commit 71c23397752c0e40722d931ab9152342e9673336 Author: David Woodhouse Date: Fri Jun 29 13:39:57 2007 +0100 [JFFS2] Deletion dirents should be REF_NORMAL, not REF_PRISTINE. Otherwise they'll never actually get garbage-collected. Noted by Jonathan Larmour. Signed-off-by: David Woodhouse commit 5bd5c03c317085339deb044ba52fce131a6a0b67 Author: Joakim Tjernlund Date: Sun Jun 24 19:22:29 2007 +0200 [JFFS2] Prevent oops after 'node added in wrong place' debug check jffs2_add_physical_node_ref() should never really return error -- it's an internal debugging check which triggered. We really need to work out why and stop it happening. But in the meantime, let's make the failure mode a little less nasty. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit ae57988f68acdc9fbee649765148f15eb7a1b991 Author: Stefan Richter Date: Thu Aug 2 20:34:17 2007 +0200 firewire: fw-core: make two variables static Signed-off-by: Stefan Richter commit 4eaff7d63052d781732de9eff4d2287c8e00348f Author: Stefan Richter Date: Wed Jul 25 19:18:08 2007 +0200 firewire: fw-ohci: dma_free_coherent needs IRQs enabled Signed-off-by: Stefan Richter commit 25659f7183376c6b37661da6141d5eaa21479061 Author: Stefan Richter Date: Sat Jul 21 22:43:05 2007 +0200 firewire: fw-sbp2: set correct maximum payload (fixes CardBus adapters) As far as I know, all CardBus FireWire 400 adapters have a maximum payload of 1024 bytes which is less than the speed-dependent limit of 2048 bytes. Fw-sbp2 has to take the host adapter's limit into account. This apparently fixes Juju's incompatibility with my CardBus cards, a NEC based card and a VIA based card. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit e4f8cac5e07528f7e0bc21d3682c16c9de993ecb Author: Stefan Richter Date: Sat Jul 21 17:51:22 2007 +0200 ieee1394: sbp2: more correct Kconfig dependencies Make the option SBP2_PHYS_DMA available on all architectures where it compiles. This includes x86-64 where I runtime-tested it successfully. Signed-off-by: Stefan Richter commit a9c2f18800753c82c45fc13b27bdc148849bdbb2 Author: Stefan Richter Date: Wed Aug 1 20:30:36 2007 +0200 ieee1394: revert "sbp2: enforce 32bit DMA mapping" Revert commit 0555659d63c285ceb7ead3115532e1b71b0f27a7 from 2.6.22-rc1. The dma_set_mask call somehow failed on a PowerMac G5, PPC64: http://lkml.org/lkml/2007/8/1/344 Should there ever occur a DMA mapping beyond the physical DMA range, a proper SBP-2 firmware will report transport errors. So let's leave it at that. Signed-off-by: Stefan Richter Tested-by: Olaf Hering commit c3887cd7253299cac2a6dc5ea792613a5ba5bf6a Author: H. Peter Anvin Date: Thu Aug 2 13:50:43 2007 -0400 [x86 setup] Document grub < 0.93 as broken Grub older than 0.93 are broken when the kernel setup is bigger than 8K. This was fixed in 2002, and 0.93 was the first grub version which fixed this bug. Signed-off-by: H. Peter Anvin commit 463c9a9f7d1f746c251761cef3af5c808394b7e1 Author: H. Peter Anvin Date: Thu Aug 2 13:45:49 2007 -0400 [x86 setup] EDD: add missing =m constraint Add a missing =m constraint to the EDD-probing code, that could have caused improper dead-code elimination. Signed-off-by: H. Peter Anvin commit e6e0871cce2ae04f5790543ad2f4ec36b23260ba Author: Paul Moore Date: Wed Aug 1 11:12:59 2007 -0400 Net/Security: fix memory leaks from security_secid_to_secctx() The security_secid_to_secctx() function returns memory that must be freed by a call to security_release_secctx() which was not always happening. This patch fixes two of these problems (all that I could find in the kernel source at present). Signed-off-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit 088999e98b8caecd31adc3b62223a228555c5ab7 Author: Paul Moore Date: Wed Aug 1 11:12:58 2007 -0400 SELinux: remove redundant pointer checks before calling kfree() We don't need to check for NULL pointers before calling kfree(). Signed-off-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit 9534f71ca33e5a9de26dfd43c76af86e005005dd Author: Paul Moore Date: Mon Jul 30 16:33:26 2007 -0400 SELinux: restore proper NetLabel caching behavior A small fix to the SELinux/NetLabel glue code to ensure that the NetLabel cache is utilized when possible. This was broken when the SELinux/NetLabel glue code was reorganized in the last kernel release. Signed-off-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit 94c18227d1e3f02de5b345bd3cd5c960214dc9c8 Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: reduce task_struct size more task_struct size reduction, by moving the debugging/instrumentation fields to under CONFIG_SCHEDSTATS: (i386, nodebug): size ---- pre-CFS 1328 CFS 1472 CFS+patch 1376 Signed-off-by: Ingo Molnar commit 6cfb0d5d06bea2b8791f32145eae539d524e5f6c Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: reduce debug code move the rest of the debugging/instrumentation code to under CONFIG_SCHEDSTATS too. This reduces code size and speeds code up: text data bss dec hex filename 33044 4122 28 37194 914a sched.o.before 32708 4122 28 36858 8ffa sched.o.after Signed-off-by: Ingo Molnar commit 8179ca23d513717cc5e3dc81a1ffe01af0955468 Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: use schedstat_set() API make use of the new schedstat_set() API to eliminate two #ifdef sections. No functional changes: text data bss dec hex filename 29009 4122 28 33159 8187 sched.o.before 29009 4122 28 33159 8187 sched.o.after Signed-off-by: Ingo Molnar commit c3c7011969274768818842b0a08ec45d88f45b4f Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: add schedstat_set() API add the schedstat_set() API, to allow the reduction of CONFIG_SCHEDSTAT related #ifdefs. No code changed. Signed-off-by: Ingo Molnar commit 9c2172459a47c99adf9c968180a8a57d9ff84efa Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: move load-calculation functions move load-calculation functions so that they can use the per-policy declarations and methods. Signed-off-by: Ingo Molnar commit cad60d93e18ba52b6f069b2edb031c89bf603b07 Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: ->task_new cleanup make sched_class.task_new == NULL a 'default method', this allows the removal of task_rt_new. Signed-off-by: Ingo Molnar commit 4e6f96f313561d86d248edf0eaff2336d8217e1b Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: uninline inc/dec_nr_running() uninline inc_nr_running() and dec_nr_running(): text data bss dec hex filename 29039 4162 24 33225 81c9 sched.o.before 29027 4162 24 33213 81bd sched.o.after Signed-off-by: Ingo Molnar commit cb1c4fc924d7eeb3fb723ad72705d4a70e9781fd Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: uninline calc_delta_mine() uninline calc_delta_mine(): text data bss dec hex filename 29162 4162 24 33348 8244 sched.o.before 29039 4162 24 33225 81c9 sched.o.after Signed-off-by: Ingo Molnar commit ecf691daf7afb418537ba459290191a0a5853be5 Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: calc_delta_mine(): use fixed limit use fixed limit in calc_delta_mine() - this saves an instruction :) Signed-off-by: Ingo Molnar commit 5a4f3ea77e1b0c72a3ec136c881eb0d64aa1d25e Author: Peter Williams Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: tidy up left over smpnice code 1. The only place that RTPRIO_TO_LOAD_WEIGHT() is used is in the call to move_tasks() in the function active_load_balance() and its purpose here is just to make sure that the load to be moved is big enough to ensure that exactly one task is moved (if there's one available). This can be accomplished by using ULONG_MAX instead and this allows RTPRIO_TO_LOAD_WEIGHT() to be deleted. 2. This, in turn, allows PRIO_TO_LOAD_WEIGHT() to be deleted. 3. This allows load_weight() to be deleted which allows TIME_SLICE_NICE_ZERO to be deleted along with the comment above it. Signed-off-by: Peter Williams Signed-off-by: Ingo Molnar commit 362a7016637648c6aefc98b706298baedfaa1543 Author: Ingo Molnar Date: Thu Aug 2 17:41:40 2007 +0200 [PATCH] sched: remove cache_hot_time remove the last unused remains of cache_hot_time. Signed-off-by: Ingo Molnar commit 59acc08fd95aefb5430458a08a82b15a4174ed74 Author: Antonino A. Daplas Date: Thu Aug 2 18:16:46 2007 +0800 [x86 setup] video setup: Fix VBE DDC reading Add memory operand constraint and write-only modifier to the inline assembly to effect the writing of the EDID block to boot_params.edid_info. Without this, gcc would think the EDID query was dead code and would eliminate it. Signed-off-by: Antonino Daplas Signed-off-by: H. Peter Anvin commit 5f8f1c3c87e44f1bd0180cf19d0e7c83d062b4dc Author: Wei Yongjun Date: Thu Aug 2 17:02:29 2007 +0800 SCTP: remove useless code in function sctp_init_cause Some code in function sctp_init_cause() seem useless, this patch remove them. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit aecedeab6fcf914929cd8ff6fa0b8ae9bfdf3d30 Author: Wei Yongjun Date: Thu Aug 2 16:57:44 2007 +0800 SCTP: drop SACK if ctsn is not less than the next tsn of assoc We need to drop the SACK if the peer is attempting to acknowledge unset data, i.e. the CTSN in the SACK is greater or equal to the next TSN we will send. Example: Endpoint A Endpoint B <--------------- DATA (TSN=1) SACK(TSN=1) ---------------> <--------------- DATA (TSN=2) <--------------- DATA (TSN=3) <--------------- DATA (TSN=4) <--------------- DATA (TSN=5) SACK(TSN=1000) ---------------> <--------------- DATA (TSN=6) <--------------- DATA (TSN=7) Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 585a8a59ebfc81327e1c4f2c0e80730bdd2e5d8e Author: Mark Fortescue Date: Tue Jul 31 20:10:45 2007 +0100 [SCSI] qlogicpti: Some cosmetic changes Change a printk sequencing issue where <6> ... was coming up in the middle of a line when scsi_add_host was being called. Reduce the length of some printk messages and make the messages more consistant. All cosmetic but it makes it easier to read as it scrolles off the screen during boot. Signed-off-by: Mark Fortescue Acked-by: David S. Miller Signed-off-by: James Bottomley commit 22f675f320f721e9eaa2bbf7b883316b408c6c8f Author: Jiri Kosina Date: Wed Aug 1 12:32:27 2007 +0200 HID: Never call hid_free_buffers() when usbhid_device has been freed We can't call hid_free_buffers() when the underlying usbhid_device has already been freed. Signed-off-by: Jiri Kosina commit cda5ecf80bad94b4113722f037af818e7453dd2d Author: Jiri Kosina Date: Mon Jul 30 15:40:06 2007 +0200 USB HID: fix memory leak of usbhid_device Add forgotten freeing of usbhid_device structure. Signed-off-by: Jiri Kosina commit de1a7b03282310d143cb0add74e909daffedda01 Author: Jesper Juhl Date: Mon Jul 30 15:15:26 2007 +0200 USB HID: fix a possible NULL pointer dereference when we fail to allocate memory If, in usb_hid_configure(), we fail to allocate storage for 'usbhid', "if (!(usbhid = kzalloc(sizeof(struct usbhid_device), GFP_KERNEL)))", then we'll jump to the 'fail:' label where we have this code: usb_free_urb(usbhid->urbin); usb_free_urb(usbhid->urbout); usb_free_urb(usbhid->urbctrl); Since we got here because we couldn't allocate storage for 'usbhid', what we have here is a NULL pointer dereference - ouch... This patch solves that little problem by adding a new 'fail_no_usbhid:' label after the problematic calls to usb_free_urb() and jumps to that one instead, in the problem case. Signed-off-by: Jesper Juhl Signed-off-by: Jiri Kosina commit 04a9b7ffceff4337d9e63476b5c71e9b79249969 Author: Christian Lamparter Date: Mon Jul 30 14:38:26 2007 +0200 USB HID: add ASUS LCM to the blacklist Some of ASUS' notebooks (e.g G Series) include a tiny oled display, which is attached to an internal USB bus. Unfortunatly the device reports a wrong DeviceDescriptor and is therefore identified as a HID device... Signed-off-by: Christian Lamparter Signed-off-by: Jiri Kosina commit 9fdcfed8ebc4f5273179f8ff00ab83a6403016de Author: Phil Dibowitz Date: Mon Jul 30 12:00:48 2007 +0200 USB HID: Add all Logitech Harmonies to blacklist This patch adds the entire range of Logitech's ProductIDs that are reserved for their Harmony remotes. The in-kernel HID driver can't do anything with these, and now there is a GPL user-space application that can handle them: http://www.sf.net/projects/harmonycontrol Signed-off-by: Phil Dibowitz Signed-off-by: Jiri Kosina commit 2dea64b4aace953924848ac9ab05217da20a7932 Author: Jiri Kosina Date: Wed Jul 11 12:12:11 2007 +0200 USB HID: update description of USBHID in MAINTAINERS Make it more clear to users what kinds of hardware USBHID handles, so that they can send reports and queries properly. Signed-off-by: Jiri Kosina commit 3e1928e8793208802589aae851b6685671187242 Author: Tino Keitel Date: Thu Jul 12 00:11:34 2007 +0200 HID: remove the Applie IR sensor from the hid_blacklist The IR sensor in some newer Apple computers has no other driver in the kernel, yet. However, the macmini driver in lirc requires a HID device for the IR sensor. Cc: Soeren Sonnenburg Signed-off-by: Tino Keitel Signed-off-by: Jiri Kosina commit 04668873daa822aa6c806ba28d1143db8dcb26e8 Author: David Howells Date: Wed Aug 1 19:04:51 2007 +0100 FRV: Enable the MB86943 PCI arbiter correctly Enable the MB93090 motherboard's MB86943 PCI arbiter correctly by assigning to the register rather than comparing against it. This is required to support bus mastering. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 0fc4969b866671dfe39b1a9119d0fdc7ea0f63e5 Author: Thomas Gleixner Date: Wed Aug 1 17:13:19 2007 +0200 genirq: temporary fix for level-triggered IRQ resend Marcin Slusarz reported a ne2k-pci "hung network interface" regression. delayed disable relies on the ability to re-trigger the interrupt in the case that a real interrupt happens after the software disable was set. In this case we actually disable the interrupt on the hardware level _after_ it occurred. On enable_irq, we need to re-trigger the interrupt. On i386 this relies on a hardware resend mechanism (send_IPI_self()). Actually we only need the resend for edge type interrupts. Level type interrupts come back once enable_irq() re-enables the interrupt line. I assume that the interrupt in question is level triggered because it is shared and above the legacy irqs 0-15: 17: 12 IO-APIC-fasteoi eth1, eth0 Looking into the IO_APIC code, the resend via send_IPI_self() happens unconditionally. So the resend is done for level and edge interrupts. This makes the problem more mysterious. The code in question lib8390.c does disable_irq(); fiddle_with_the_network_card_hardware() enable_irq(); The fiddle_with_the_network_card_hardware() might cause interrupts, which are cleared in the same code path again, Marcin found that when he disables the irq line on the hardware level (removing the delayed disable) the card is kept alive. So the difference is that we can get a resend on enable_irq, when an interrupt happens during the time, where we are in the disabled region. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit fd0cbdd378258fdf44eac5ea091256a4a665315b Author: Heiko Carstens Date: Thu Aug 2 00:18:38 2007 +0200 Fix WARN_ON() on bitfield ops for all other archs Fixes WARN_ON() on bitfiels ops for all architectures that have been left out in 8d4fbcfbe0a4bfc73e7f0297c59ae514e1f1436f. Cc: Alexey Dobriyan Cc: Herbert Xu Cc: Haavard Skinnemoen Cc: Matthew Wilcox Cc: Kyle McMartin Cc: Martin Schwidefsky Acked-by: Paul Mundt Signed-off-by: Heiko Carstens Signed-off-by: Linus Torvalds commit 3fcece66911c9d485c1e2050ba033fde607b5130 Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 1 23:46:46 2007 +0200 scc_pata: PIO fixes * Use pio == 255 == "auto-tune" in scc_config_drive_for_dma() instead of forcing PIO4 on PIO fallback. Fix comment while at it. * Rename scc_tuneproc() to scc_tune_pio() and add scc_tuneproc() wrapper. Move finding of the best PIO mode and setting of transfer mode on the device to the new wrapper. * Fix scc_tune_chipset() to tune PIO modes. Do a small cleanup while at it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0c8de52d76e4bec6e9168b47be29f11b3bb92768 Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 1 23:46:46 2007 +0200 piix/slc90e66: fix PIO1 handling in ->speedproc method (take 2) * Don't call {piix,slc90e66}_dma_2_pio() for PIO modes in {piix,slc90e66}_tune_chipset(). * Add PIO1 handling to {piix,slc90e66}_tune_chipset(). * Bump driver version. v2: * Remove PIO modes from {piix,slc90e66}_dma_2_pio(), they are no longer needed there (Noticed by Sergei) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8b6b33be3280fd776335079124ecd176e6a40797 Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 1 23:46:46 2007 +0200 jmicron: PIO fixes * Set transfer mode on the device in jmicron_tuneproc(), also add pio == 255 == "auto-tune" handling. * Use jmicron_tuneproc() in jmicron_config_drive_for_dma(). * Remove no longer needed config_jmicron_chipset_for_pio(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 68aaf8150308dbf9d0e5ccd5bc05491ba575f966 Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 1 23:46:46 2007 +0200 it8213: PIO fixes (take 2) * Rename it8213_tuneproc() to it8213_tune_pio() and add it8213_tuneproc() wrapper. Move finding of the best PIO mode to the new wrapper. * Add setting of transfer mode on the device to it8213_tuneproc(). * Don't call it8213_dma_2_pio() for PIO modes in it8213_tune_chipset(). * Use it8213_tuneproc() in it8213_config_drive_for_dma(). v2: * Remove PIO modes from it8213_dma_2_pio(), they are no longer needed there (Noticed by Sergei) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bc0b0b5c4bab02790937c9070a7701ee70feaac9 Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 1 23:46:45 2007 +0200 cs5535: PIO fixes * Fix cs5535_tuneproc() to pass PIO transfer mode value instead of PIO mode number to cs5535_set_speed() (fixes random PIO timings being programmed and a possible OOPS). Do a little cleanup while at it. * Fix cs5535_set_speed() to check if the mate device is present (fixes PIO0 taskfile timings being used if there is no other device on the cable). * Use cs5535_tuneproc() in cs5535_dma_check(). The old code had the same issue as cs5535_tuneproc() and add additionally caused 0x00-0x04 transfer mode values (== default PIO, default PIO w/ IORDY + two invalid values) being set on the device instead of values 0x08-0x0c (XFER_PIO_[0,4]). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 070224339b52f0e4f8e6c991a5ad9630a7a9e6da Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 1 23:46:45 2007 +0200 cs5520: fix PIO auto-tuning in ->ide_dma_check method Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 41ead3c918f48710ca1e03eb7b770eabcbbd260b Author: Mariusz Kozlowski Date: Wed Aug 1 23:46:45 2007 +0200 drivers/scsi/ide-scsi.c: kmalloc + memset conversion to kzalloc drivers/scsi/ide-scsi.c | 34642 -> 34536 (-106 bytes) drivers/scsi/ide-scsi.o | 171728 -> 171524 (-204 bytes) Signed-off-by: Mariusz Kozlowski Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit cc60d8baa35c995bf8c40a9730b894993ddb43b9 Author: Mariusz Kozlowski Date: Wed Aug 1 23:46:44 2007 +0200 drivers/ide/arm/icside.c: kmalloc + memset conversion to kzalloc Is this a bug? In original verison memset cleared sizeof(state) bytes instead of sizeof(*state). If it was intentional then this patch is invalid. If not intentional -> valid :) Please review. Bart: Yes, it is a bug so this patch is a valid bugfix. :-) drivers/ide/arm/icside.c | 18883 -> 18849 (-34 bytes) Signed-off-by: Mariusz Kozlowski Cc: Andrew Morton Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit ab0579685d34eb2c6b101534796ba64c8b9107b5 Author: Stephen Rothwell Date: Wed Aug 1 23:46:44 2007 +0200 ide: eliminate warnings in ide-tape.c drivers/ide/ide-tape.c: In function '__idetape_kmalloc_stage': drivers/ide/ide-tape.c:2588: warning: large integer implicitly truncated to unsigned type drivers/ide/ide-tape.c:2616: warning: large integer implicitly truncated to unsigned type b_size in struct idetape_bh is an unsigned short. We sometimes assigne PAGE_SIZE to it and PAGE_SIZE can be 64K or larger, so make it a u32. Signed-off-by: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit b37c6b842b30fc8e90965ec242f624283d0032a3 Author: Meelis Roos Date: Wed Aug 1 23:46:44 2007 +0200 ide: fix runtogether printk's in cmd64x IDE driver Fix a couple of runtogether printks in cmd64x.c IDE driver by adding proper newlines. Signed-off-by: Meelis Roos Signed-off-by: Bartlomiej Zolnierkiewicz commit 1955f6814fb58ffa06af4873a445307d60b23fb1 Author: David Lamparter Date: Wed Aug 1 23:46:44 2007 +0200 sis5513: Add FSC Amilo A1630 PCI subvendor/dev to laptops Recognise the FSC Amilo A1630's incarnation of a SiS5513 chip as laptop to get UDMA100 support. Signed-off-by: David Lamparter Cc: Lionel Bouton Signed-off-by: Bartlomiej Zolnierkiewicz commit 8663fd6d0de7144c9e8455b733aeb38fe80788ed Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 1 23:46:43 2007 +0200 alim15x3: Correct HP detect Direct port of Alan's fix for pata_ali. Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 32a70a817acbb96fcfcc7543932222467c771207 Author: Jordan Crouse Date: Wed Aug 1 23:46:42 2007 +0200 ide: Fix an overrun found in the CS5535 IDE driver As found by the Coverity checker, and reported by Adrian Bunk, this fixes a overrun error in the CS5535 IDE driver. Somebody got a little excited with the if() statement - the CS5535 only supports UDMA 0-4. Bart: Not a bug per se since the upper layer will never feed this function with speed > XFER_UDMA_4 (thanks to ->ultra_mask being set to 0x1f). Worth fixing anyway. Signed-off-by: Jordan Crouse Cc: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit b718f91c14604e4ab5cdfe8d3baff8111425ea7d Author: Christoph Lameter Date: Wed Aug 1 13:49:45 2007 -0700 [IA64] ITC: Reduce rating for ITC clock if ITCs are drifty Make sure to reduce the rating of the ITC clock if ITCs are drifty. If they are drifting then we have not synchronized the ITC values, nor are we doing the jitter compensation (useless since drift may increase the differentials arbitrarily). Without this patch it is possible that the ITC clock becomes selected as the system clock on systems with drifty ITCs which will result in nanosleep hanging. One can still select the itc clock manually on such systems via clocksource=itc (Produces nice hangs on SGI Altix.) Signed-off-by: Christoph Lameter Signed-off-by: Tony Luck commit 40d485753423b87239cc16b6c8141ef8792324d9 Author: Christoph Lameter Date: Wed Aug 1 12:37:17 2007 -0700 [IA64] SN2: Fix up sn2_rtc clock If the sn2_rtc clock is present then it is a must have since sn2_rtc provides a synchronized time source on Altix systems. So elevate the priority to 450. Otherwise the ITC would take precendence. Altix systems currently do not boot because the ITC clocksource is broken. It seems to assume that ITCs are synchronized and as a result nanosleep hangs (may be fixed in a different patch). While we are at it: Remove the sn2_mc definition. The sn2_rtc has a fixed address. No point in reading the address from memory. Removing it avoids touching one cacheline. Signed-off-by: Christoph Lameter Signed-off-by: Tony Luck commit 224685c0d1ca5970364c9f5d4f21ea1aa64c381e Author: Kenji Kaneshige Date: Wed Aug 1 21:18:44 2007 +0900 [IA64] Fix wrong access to irq_desc[] in iosapic_register_intr(). In error path we must unlock irq_desc[irq].lock before we change 'irq'. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 822b41f4eb98c144a07747e88e94941946bda124 Author: James Smart Date: Thu Aug 2 11:10:46 2007 -0400 [SCSI] lpfc 8.2.2 : Change version number to 8.2.2 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 311464ec0bfea96e7f09f4afca26283f5fa90c24 Author: James Smart Date: Thu Aug 2 11:10:37 2007 -0400 [SCSI] lpfc 8.2.2 : Style cleanups - Clean up all instances of mixed tab-space indentation - Clean up sparse build errors - Add appropriate static's Signed-off-by: James Smart Signed-off-by: James Bottomley commit 51ef4c26891a734bc8416b639ad460a8162926bc Author: James Smart Date: Thu Aug 2 11:10:31 2007 -0400 [SCSI] lpfc 8.2.2 : Miscellaneous Bug Fixes - Fix vport ndlp ref counting errors - Fix use after free of ndlp structure - Use the correct flag to check for LOADING setting. - Fix driver unload bugs (related to shost references) after link down or rscn - Fix up HBQ initialization - Fix port_list locking around driver unload. - Fix references to hostdata as a phba - Fix GFFID type offset to work correctly with big endian structure. - Only call pci_disable_msi if the pci_enable_msi succeeded - Fix vport_delete wait/fail if in discovery - Put a reference on the nameservers ndlp when performing CT traffic. - Remove unbalanced hba unlock. - Fix up HBQ processing - Fix lpfc debugfs discovery trace output for ELS rsp cmpl - Send ADISC when rpi is 0 - Stop FDISC retrying forever - Unable to retrieve correct config parameter for vport - Fix sli_validate_fcp_iocb, sli_sum_iocb, sli_abort_iocb to be vport-aware. - Fix index-out-of-range error in iocb. Spotted by Coverity. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 78b2d852a88cd2a55e3ab632109de045d58b83e3 Author: James Smart Date: Thu Aug 2 11:10:21 2007 -0400 [SCSI] lpfc 8.2.2 : Miscellaneous management and logging mods - Remove the "management_version" sysfs parameter (was unused) - Add HBQ information to lpfc debugfs - Change lpfc_npiv_enable name back to lpfc_enable_npiv (internal stds) - Remove "issue_lip" attribute from the vports transport template Signed-off-by: James Smart Signed-off-by: James Bottomley commit e8b62011d88d6fdba585fb2bb77c9274a63cadab Author: James Smart Date: Thu Aug 2 11:10:09 2007 -0400 [SCSI] lpfc 8.2.2 : Rework the lpfc_printf_log() macro Rework the lpfc_printf_log() macro so that logging is enabled on a per-vport basis. Used to be on a physical-port basis, thus logging with large numbers of vports became a mess. Required redefinition of the macro, and an update of every use. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3de2a653a127c468284c48e233719dc39769e354 Author: James Smart Date: Thu Aug 2 11:09:59 2007 -0400 [SCSI] lpfc 8.2.2 : Attribute and Parameter splits for vport and physical port - Split attributes up into vport and non-vport attributes. - Move vport specific cfg params to vport Many of the vport-specific behaviors were still global attributes on the physical port. Move them to the vport itself. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 549e55cd2a1b83ea45ac17fb6c309654a3d371a4 Author: James Smart Date: Thu Aug 2 11:09:51 2007 -0400 [SCSI] lpfc 8.2.2 : Fix locking around HBA's port_list Cleans up a lot of bad behaviors that have been in this area a while Signed-off-by: James Smart Signed-off-by: James Bottomley commit a58cbd5212fff2d4bba0bf58e778f02069597294 Author: James Smart Date: Thu Aug 2 11:09:43 2007 -0400 [SCSI] lpfc 8.2.2 : Error messages and debugfs updates Error messages and debugfs updates: - Fix up GID_FT error messages - Enhance debugfs with slow_ring_trace, dumpslim and nodelist information - Add log type (and messages) for vport state changes - Enhance log messages when retries ELS fail Signed-off-by: James Smart Signed-off-by: James Bottomley commit e4d1feab5df035312494ce3037ac5f041d0f5fc9 Author: Vlad Yasevich Date: Wed Aug 1 10:56:43 2007 -0400 SCTP: IPv4 mapped addr not returned in SCTPv6 accept() When issuing a connect call on an AF_INET6 sctp socket with a IPv4-mapped destination, the peer address that is returned by getpeeraddr() should be v4-mapped as well. Signed-off-by: Vlad Yasevich commit b225b884a18a1932db5414abd3ef94a45e4e348e Author: Dave Johnson Date: Wed Jul 25 19:49:29 2007 -0400 SCTP: IPv4 mapped addr not returned in SCTPv6 accept() An accept() call on a SCTPv6 socket that returns due to connection of a IPv4 mapped peer will fill out the 'struct sockaddr' with a zero IPv6 address instead of the IPv4 mapped address of the peer. This is due to the v4mapped flag not getting copied into the new socket on accept() as well as a missing check for INET6 socket type in sctp_v4_to_sk_*addr(). Signed-off-by: Dave Johnson Cc: Srinivas Akkipeddi Signed-off-by: Vlad Yasevich commit cc121fa87a0ce356c23fb4d7358310e747cad8cc Author: Sebastian Siewior Date: Fri Jul 27 22:59:49 2007 +0200 sctp: fix shadow symbol in net/sctp/tsnmap.c net/sctp/tsnmap.c:164:16: warning: symbol '_end' shadows an earlier one include/asm-generic/sections.h:13:13: originally declared here Renamed renamed _end to end_ and _start (for consistence). Signed-off-by: Sebastian Siewior Signed-off-by: Vlad Yasevich commit d6f9fdaf643eca8fb49fffdd6269b78f4ef1ef86 Author: Sebastian Siewior Date: Fri Jul 27 22:55:59 2007 +0200 sctp: try to fix readlock unlock the reader lock in error case. Signed-off-by: Sebastian Siewior Signed-off-by: Vlad Yasevich commit c86dabcf00f3ca167df59f3526a53b3da3ede2c8 Author: sebastian@breakpoint.cc Date: Thu Jul 26 23:21:33 2007 +0200 sctp: remove shadowed symbols Fixes the following sparse warnings: net/sctp/sm_make_chunk.c:1457:9: warning: symbol 'len' shadows an earlier one net/sctp/sm_make_chunk.c:1356:23: originally declared here net/sctp/socket.c:1534:22: warning: symbol 'chunk' shadows an earlier one net/sctp/socket.c:1387:20: originally declared here Signed-off-by: Sebastian Siewior Signed-off-by: Vlad Yasevich commit 0a5fcb9cf8e5c3fabaab1c20668f58fe85d7c70d Author: sebastian@breakpoint.cc Date: Thu Jul 26 23:21:32 2007 +0200 sctp: move global declaration to header file. sctp_chunk_cachep & sctp_bucket_cachep is used module global, so move it to a header file. Signed-off-by: Sebastian Siewior Signed-off-by: Vlad Yasevich commit 046752104c7090e3679b09274f02d8fd2aa0b4b2 Author: sebastian@breakpoint.cc Date: Thu Jul 26 23:21:31 2007 +0200 sctp: make locally used function static Forward declarion is static, the function itself is not. Make it consistent. Signed-off-by: Sebastian Siewior Signed-off-by: Vlad Yasevich commit 4761c06cb39011c9cc3fef9e6bbfb4c50ceb307d Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 31 22:02:41 2007 +0200 pata_sis: fix MWDMA for <= UDMA66 chipsets and UDMA for UDMA33 chipsets * Fix MWDMA timings setup in sis_old_set_dmamode() and sis_66_set_dmamode(). The old timings were overclocked (even worse behavior than sis5513 IDE driver which depends on BIOS to program correct timings), the new timings are taken from the datasheet (they match timings from ATA spec). * Fix UDMA timings setup in sis_old_set_dmamode(). Misplaced pci_write_config_word() call resulted in UDMA timings never being set. * Fix comments for sis_133_early_set_dmamode() and sis_133_set_dmamode(): - only the former function handles early SiS 961 bridges - both functions lack MWDMA timings setup * Fix typos in sis_100_set_piomode() and sis_133_set_piomode() comments. * Bump driver version. Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 5d6aca8defe77dfd0f0169cc015b900129078648 Author: Tejun Heo Date: Sat Jul 28 16:25:25 2007 +0900 libata: blacklist SAMSUNG HD401LJ / ZZ100-15 for NCQ SAMSUNG HD401LJ / ZZ100-15 does spurious completion of NCQ commands. Disable NCQ. Reported by Ulrich in bugzilla #8805. Signed-off-by: Tejun Heo Cc: Ulrich Signed-off-by: Jeff Garzik commit 7abe79c353caf868053c2ddcada7f4c20c8251e6 Author: Tejun Heo Date: Fri Jul 27 14:55:07 2007 +0900 ata_piix: add Tecra M3 to broken suspend blacklist Add Tecra M3 to the broken suspend blacklist. Tecra M3 doesn't have proper DMI_PRODUCT_NAME but has an OEM_STRING instead. Match it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8c3832ebeb049c5744ece888daae253c683257c3 Author: Tejun Heo Date: Fri Jul 27 14:53:28 2007 +0900 ata_piix: implement piix_borken_suspend() Separate out broken suspend blacklist matching into piix_broken_suspend(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0b62e13b5c9b4871641973e024cc9dd440b5bb58 Author: Tejun Heo Date: Fri Jul 27 14:43:35 2007 +0900 pci: rename __pci_reenable_device() to pci_reenable_device() Rename __pci_reenable_device() to pci_reenable_device(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6fdc99a224bd52020c602c3d4d57e5f8a75f6bb8 Author: Alan Cox Date: Thu Jul 26 18:41:30 2007 +0100 libata-sff; Unbreak non DMA capable controllers again Seems nobody else is checking/testing this case as it keeps getting horked. If we have no BAR4 mapping on an SFF controller this is *NOT* an error, it just means it isn't doing BMDMA. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit dbf0c89c80e47a2a132048dcded0dcc2a59c74ad Author: Alan Cox Date: Thu Jul 26 18:43:01 2007 +0100 pata_cmd64x: Correct the speed ranges I must have been half asleep when doing the original code Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c000c43cf12090972fad0fbb621d78c2100d0373 Author: FUJITA Tomonori Date: Wed Aug 1 08:40:27 2007 +0900 [SCSI] initialize shost_data to zero It's better to initialize host->shost_data to zero like target->starget_data and device->sdev_data. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e0a3647fd7729bee1ed9667ce5d8eb88f0604138 Author: Paul Mundt Date: Wed Aug 1 16:55:07 2007 +0900 sh: Fix SH-X3 FPU exception handling. SH-X3 has the FPU exceptions on different vectors completely, patch in do_fpu_state_restore() to the proper vectors. Results in a much happier userspace. Signed-off-by: Paul Mundt commit 06f862c8ce0893b5525ce90f39168eaf4608ecc6 Author: Paul Mundt Date: Wed Aug 1 16:39:51 2007 +0900 sh: Fix pgd mismatch from cached TTB in unhandled fault. When reading the cached TTB value and extracting the pgd, we accidentally applied a __va() to it and bumped it off in to bogus space which ended up causing multiple faults in the error path. Fix it up so unhandled faults don't do strange and highly unorthodox things when oopsing. Signed-off-by: Paul Mundt commit 56c74c733cdd101832c4bbf9af8a009a9eaec784 Author: Paul Mundt Date: Wed Aug 1 16:26:21 2007 +0900 sh: Don't include fault-nommu on SH-2/SH-2A. fault-nommu defines the page fault handler stubs for SH-3/4 parts, but is not needed on SH-2/SH-2A now that the entry code has been logically separated. Add it in for SH-3 and SH-4 explicitly. Signed-off-by: Paul Mundt commit c71799433aa4d6378502f781a155321e77da73aa Author: Paul Mundt Date: Wed Aug 1 16:19:49 2007 +0900 sh: Fix irqflags tracing for SH-3/4 nommu. We were missing the trace_hardirqs_on() instrumentation in the nommu case, resync with the MMU version of the page fault handler to have this behaving consistently. Also explicitly re-enable IRQs now that the assembly code isn't doing it for us any more. Signed-off-by: Paul Mundt commit c347d12cd1642ba193f55bdab29395d639c5efc2 Author: Paul Mundt Date: Wed Aug 1 16:17:07 2007 +0900 sh: Fix lockdep debugging oops on SH-3/4. In the SH-3/4 TLB access violation path we were enabling IRQs before the call in to trace_hardirqs_on(), which ended up triggering: if (DEBUG_LOCKS_WARN_ON(!irqs_disabled())) return; in kernel/lockdep.c:2031. Fix this up by removing the early re-enable, we were already re-enabling IRQs post-trace_hardirqs_on() already, so the semantics are now as was initially intended. Signed-off-by: Paul Mundt commit 8d4fbcfbe0a4bfc73e7f0297c59ae514e1f1436f Author: Linus Torvalds Date: Tue Jul 31 21:12:07 2007 -0700 Fix WARN_ON() on bitfield ops Alexey Dobriyan noticed that the new WARN_ON() semantics that were introduced by commit 684f978347deb42d180373ac4c427f82ef963171 (to also return the value to be warned on) didn't compile when given a bitfield, because the typeof doesn't work for bitfields. So instead of the typeof trick, use an "int" variable together with a "!!(x)" expression, as suggested by Al Viro. To make matters more interesting, Paul Mackerras points out that that is sub-optimal on Power, but the old asm-coded comparison seems to be buggy anyway on 32-bit Power if the conditional was 64-bit, so I think there are more problems there. Regardless, the new WARN_ON() semantics may have been a bad idea. But this at least avoids the more serious complications. Cc: Alexey Dobriyan Cc: Herbert Xu Cc: Paul Mackerras Cc: Al Viro Cc: Ingo Molnar Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 128a2bcf9dddeb8e79a4ba55bf191533f70f39ce Author: Len Brown Date: Tue Jul 31 23:27:10 2007 -0400 ACPI: delete CONFIG_ACPI_PROCFS_SLEEP (again) CONFIG_ACPI_PROCFS_SLEEP is a NO-OP -- delete it (again). Apparently 296699de6bdc717189a331ab6bbe90e05c94db06 creating CONFIG_SUSPEND and CONFIG_PM_SLEEP was based on an out-dated version of drivers/acpi/Kconfig, as it erroneously restored this recently deleted config option. Signed-off-by: Len Brown Signed-off-by: Linus Torvalds commit fc34f6c617bf2a845d793af12b96bcc0afd472c4 Author: Andrew Morton Date: Tue Jul 31 16:10:46 2007 -0700 Fix up "remove the arm26 port" scripts/kconfig/conf -o arch/arm/Kconfig arch/arm/Kconfig:994: can't open file "drivers/acorn/block/Kconfig" Cc: Adrian Bunk Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0439208a8a399f0c4307c561d97e3f5523f5d085 Author: Mark Zhan Date: Tue Jul 31 00:39:47 2007 -0700 rtc-m48t59 driver NO_IRQ mode fixup Since irq in m48t59_private struct is defined as 'unsigned int', which will make the following if sentence to be never true: if (m48t59->irq < 0) m48t59->irq = NO_IRQ; And thus it will make the m48t59_rtc_probe() is failed when the driver is working in a no irq mode: Signed-off-by: Mark Zhan Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb35fb20b591833fe4205def1338e0e808be3216 Author: Jan Engelhardt Date: Tue Jul 31 00:39:46 2007 -0700 Use menuconfig objects: RTC Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 732781daa4fcb31f96028bf26a219e53d256ddd2 Author: Charlie Shepherd Date: Tue Jul 31 00:39:45 2007 -0700 Remove 'isdn_* is defined but unused' warnings Move the #ifdef guard above these functions to remove the warnings. Signed-off-by: Charlie Shepherd Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 082c8cb4e5e68c0fd29cc10c59db94d2284fd2b0 Author: David Brownell Date: Tue Jul 31 00:39:45 2007 -0700 spi device setup gets better error checking This updates some error reporting paths in SPI device setup: - Move validation logic for SPI chipselects to spi_new_device(), which is where it should always have been. - In spi_new_device(), emit error messages if the device can't be created. This is LOTS better than a silent failure; though eventually, the calling convention should probably change to use the conventions. - Includes one previously-missing check: SPI masters must always have at least one chipselect, even for dedicated busses which always keep it selected! It also adds a FIXME (IDR for dynamic ID allocation) so the issue doesn't live purely in my mailbox. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2604288f45605d1b2844f001dc3141149667b3d1 Author: David Brownell Date: Tue Jul 31 00:39:44 2007 -0700 spi kerneldoc update This adds kerneldoc to the SPI framework. The "spi_driver" and "spi_board_info" structs were previously not described. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db7526f925b79293dc3b361a70db7f340870a298 Author: Meelis Roos Date: Tue Jul 31 00:39:41 2007 -0700 fix integer overflow warning in i2o_block drivers/message/i2o/i2o_block.c: In function 'i2o_block_transfer': drivers/message/i2o/i2o_block.c:837: warning: integer overflow in expression msg->u.head[1] = cpu_to_le32(I2O_CMD_PRIVATE << 24 | HOST_TID << 12 | tid); and I2O_CMD_PRIVATE is defined as 0xFF. This gets "0xFF0100 | tid" and fits into 32-bit unsigned but not into 32-bit signed integer properly. Target value is defined as u32 so the claculation does not fit during computation. Change local variable tid to u32 so the whole expression is of u32 type and fits well into u32 result. Signed-off-by: Meelis Roos Cc: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad4a5bb885f1985732426f108d2fe36517dd1939 Author: Andrew Morton Date: Tue Jul 31 00:39:41 2007 -0700 ip2main warning fix CONFIG_PCI=n: drivers/char/ip2/ip2main.c: In function `ip2_loadmain': drivers/char/ip2/ip2main.c:503: warning: unused variable `status' Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca76d2d8031fd8216eedadee77dfe009a63e4408 Author: Cyrill Gorcunov Date: Tue Jul 31 00:39:40 2007 -0700 UDF: fix UID and GID mount option ignorance This patch fix weird behaviour of UDF mounting procedure. To get UID changed (for now) we have to type mount -t udf -o uid=some_user,uid=ignore /dev/device /mnt/moun_point and specifying two uid at once is strange a bit. So with the patch we are able to mount without additional 'uid=ignore' option. The same for GID option is done. This patch will not break current mount scheme (with two option). Btw this does fix (I hope) the following [BUG 6124] mount of UDF fs ignores UID and GID options http://bugzilla.kernel.org/show_bug.cgi?id=6124 Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Cc: Michael Cc: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2912a1223c0917a7b4e054f18086209137891ea Author: Jesper Juhl Date: Tue Jul 31 00:39:39 2007 -0700 cciss: fix memory leak There's a memory leak in the cciss driver. in alloc_cciss_hba() we may leak sizeof(ctlr_info_t) bytes if a call to alloc_disk(1 << NWD_SHIFT) fails. This patch should fix the issue. Spotted by the Coverity checker. Signed-off-by: Jesper Juhl Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff0cfc66cd99d59e3a8024003171035e4ae192b7 Author: Al Boldi Date: Tue Jul 31 00:39:23 2007 -0700 Kconfig: remove top level menu "Code maturity level options" Remove the top level menu "Code maturity level options", and moves its options into menu "General setup". This makes Kconfig less cluttered and easier to setup. Signed-off-by: Al Boldi Acked-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e48591700f7df5969e17b0a41b7dde011c6810c Author: Matthias Kaehlcke Date: Tue Jul 31 00:39:23 2007 -0700 Videopix Frame Grabber: Fix unreleased lock in vfc_debug() Videopix Frame Grabber: vfc_debug() doesn't release the device lock when copy_from_user() fails Signed-off-by: Matthias Kaehlcke Acked-by: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0af1a4504699524c876361845bc2e301ecc45d0f Author: Christoph Hellwig Date: Tue Jul 31 00:39:22 2007 -0700 rename setlease to generic_setlease Make it a little more clear that this is the default implementation for the setleast operation. Signed-off-by: Christoph Hellwig Cc: Steven Whitehouse Acked-by: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86d0004abc87025bae1cca43c94e99a27b7bbbd6 Author: Maciej W. Rozycki Date: Tue Jul 31 00:39:22 2007 -0700 sb1250-duart: __maybe_unused, etc. fixes This is a set of small fixes addressing points raised with the original driver submission. In particular, __maybe_unused is used rather than a local hack and sbd_ops is made const. Additionally I have made two local string variables automatic as rodata space was wasted for pointers unnecessarily. Signed-off-by: Maciej W. Rozycki Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd22a68228cf1c8dad39d6f9da925bd534aea91d Author: Josh Triplett Date: Tue Jul 31 00:39:21 2007 -0700 x86_64: include asm/bugs.h in bugs.c for check_bugs prototype C files should include the header files that prototype their functions. Eliminates a sparse warning: warning: symbol 'check_bugs' was not declared. Should it be static? Signed-off-by: Josh Triplett Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91eb1b79ecf42bad91ff084ba3d020ec833b3477 Author: Josh Triplett Date: Tue Jul 31 00:39:20 2007 -0700 i386: include asm/bugs.h in bugs.c for check_bugs prototype C files should include the header files that prototype their functions. Eliminates a sparse warning: warning: symbol 'check_bugs' was not declared. Should it be static? Signed-off-by: Josh Triplett Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d133a9609ee6111c9718a4bbe559b84a399603e6 Author: Gabriel Craciunescu Date: Tue Jul 31 00:39:19 2007 -0700 Typo fixes errror -> error Typo fixes errror -> error Signed-off-by: Gabriel Craciunescu Cc: Jeff Garzik Cc: Martin Schwidefsky Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ace06dc68db13f7f82f9341fdef89502f0bb217 Author: Oleg Nesterov Date: Tue Jul 31 00:39:19 2007 -0700 idr_remove_all: kill unused variable "error" is always equal to 0. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9b3febc5b9c55a76b838c977b078195ec8bb95e Author: Jesper Juhl Date: Tue Jul 31 00:39:18 2007 -0700 Fix a use after free bug in kernel->userspace relay file support Coverity spotted what looks like a real possible case of using a variable after it has been freed. The problem is in kernel/relay.c::relay_open_buf() If the code hits "goto free_buf;" it ends up in this code : free_buf: relay_destroy_buf(buf); <--- calls kfree() on 'buf'. free_name: kfree(tmpname); end: return buf; <-- use after free of 'buf'. I read through the callers and they all handle a NULL return from this function as an error (and hitting the 'free_buf' label only happens on failure to chan->cb->create_buf_file(), so that looks like a clear error to me). The patch simply sets 'buf' to NULL after the call to relay_destroy_buf(buf); - as far as I can see that should take care of the problem. The patch also corrects a reference to a documentation file while I was at it. Note from Mathieu: the documentation reference change should have been done in a separate patch, but I guess no one will really care. Signed-off-by: Jesper Juhl Acked-by: "David J. Wilder" Tested-by: "David J. Wilder" Signed-off-by: Mathieu Desnoyers Cc: Tom Zanussi Cc: Karim Yaghmour Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e804a4a4dd596d853f6d6f814fbdcf97b8efcdea Author: Satyam Sharma Date: Tue Jul 31 00:39:16 2007 -0700 kthread: silence bogus section mismatch warning WARNING: kernel/built-in.o(.text+0x16910): Section mismatch: reference to .init.text: (between 'kthreadd' and 'init_waitqueue_head') comes because kernel/kthread.c:kthreadd() is not __init but calls kthreadd_setup() which is __init. But this is ok, because kthreadd_setup() is only ever called at init time, and then kthreadd() proceeds into its "for (;;)" loop. We could mark kthreadd __init_refok, but kthreadd_setup() with just one callsite and 4 lines in it (it's been that small since 10ab825bdef8df51) doesn't need to be a separate function at all -- so let's just move those four lines at beginning of kthreadd() itself. Signed-off-by: Satyam Sharma Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbe06f6bf7e764a9eb0e3cdcec2b12c743f35757 Author: Mariusz Kozlowski Date: Tue Jul 31 00:39:13 2007 -0700 fs: 9p/conv.c error path fix 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 Cc: Latchesar Ionkov Cc: Eric Van Hensbergen Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9700382c3c9ff3e673e587084d76eedb3ba88668 Author: david m. richter Date: Tue Jul 31 00:39:12 2007 -0700 VFS: fix a race in lease-breaking during truncate It is possible that another process could acquire a new file lease right after break_lease() is called during a truncate, but before lease-granting is disabled by the subsequent get_write_access(). Merely switching the order of the break_lease() and get_write_access() calls prevents this race. Signed-off-by: David M. Richter Signed-off-by: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 937472b00b666ecbf1464502f857ec63b024af72 Author: Mike Frysinger Date: Tue Jul 31 00:39:11 2007 -0700 use __val in __get_unaligned Use "__val" rather than "val" in the __get_unaligned macro in asm-generic/unaligned.h. This way gcc wont warn if you happen to also name something in the same scope "val". Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07ff8ee79e254ac07205d2c9c9e8fbe2f4b3e6e8 Author: Dave Young Date: Tue Jul 31 00:39:11 2007 -0700 hpet.txt: broken link fix The specification link in hpet document is broken. Signed-off-by: Dave Young Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 448e3cee839fdf975d6119eed475ec7d0400404e Author: Adrian Bunk Date: Tue Jul 31 00:39:10 2007 -0700 ANON_INODES shouldn't be user visible There doesn't seem to be a good reason for ANON_INODES being an user visible option. Signed-off-by: Adrian Bunk Acked-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac9d41a3e4043a3a89735a872b564a1973df2178 Author: Michael Tokarev Date: Tue Jul 31 00:39:07 2007 -0700 Remove one more leftover reference to devfs Signed-off-by: Michael Tokarev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47f82189b185bf4b0de4ebce237850e8d3b1d0b6 Author: Gabriel C Date: Tue Jul 31 00:39:06 2007 -0700 broken lilo check on make install On make install I get the this error: ... sh /work/crazy/linux-git/linux-2.6/arch/i386/boot/install.sh 2.6.22-g4eb6bf6b arch/i386/boot/bzImage System.map "/boot" /work/crazy/linux-git/linux-2.6/arch/i386/boot/install.sh: line 54: /etc/lilo/install: No such file or directory make[1]: *** [install] Error 127 ... I don't use and don't have lilo installed on this system. The attached patch fixes the problem for me. Signed-off-by: Gabriel Craciunescu Acked-by: H. Peter Anvin Cc: Sam Ravnborg Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7ef970bafaa74bd9db75375e98ddd4634045303 Author: Robert P. J. Day Date: Tue Jul 31 00:39:05 2007 -0700 NCP: delete test of long-deceased CONFIG_NCPFS_DEBUGDENTRY Signed-off-by: Robert P. J. Day Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80cd69203c3ad5f2ecf7d01cec4a10ed15613682 Author: Jesper Juhl Date: Tue Jul 31 00:39:05 2007 -0700 ipmi: Fix mem leak in try_init_dmi() This is only called at init time and only happens if the BIOS screws something up, so the leak is slight and it is probably not worth sending to 2.6.22.x. The driver would not initialize the interface in the case, and I have no reports of this happening. I have booted and run tests on a system with this patch. Note that the original patch was munged by the mailer, here's a new one. If we ever hit the "default:" case in the switch in try_init_dmi(), then we'll leak the storage allocated with kzalloc() and assigned to 'info'. Signed-off-by: Jesper Juhl Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73c21e8024296760c450a0bded131cb573f83328 Author: Randy Dunlap Date: Tue Jul 31 00:39:04 2007 -0700 docbook bad file references Fix docbook warnings: Warning(linux-2.6.22-git12//drivers/base/power/main.c): no structured comments found Warning(linux-2.6.22-git12//include/linux/splice.h): no structured comments found Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ac4d823fd93be49c2a90fb877fc5fc6317936d5 Author: Randy Dunlap Date: Tue Jul 31 00:39:03 2007 -0700 irq.h fix kernel-doc Add kernel-doc entry in for: Warning(linux-2.6.22-git12//include/linux/irq.h:177): No description found for parameter 'last_unhandled' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa3481d5e686aa015e960f76253f0e771a92716a Author: Randy Dunlap Date: Tue Jul 31 00:39:02 2007 -0700 i2c.h kernel-doc additions Add kernel-doc notation in for: Warning(linux-2.6.22-git12//include/linux/i2c.h:183): No description found for parameter 'driver' Warning(linux-2.6.22-git12//include/linux/i2c.h:183): No description found for parameter 'usage_count' Warning(linux-2.6.22-git12//include/linux/i2c.h:183): No description found for parameter 'list' Warning(linux-2.6.22-git12//include/linux/i2c.h:183): No description found for parameter 'released' Signed-off-by: Randy Dunlap Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e89db75aee14f3f195836560e0973c9ff215f94 Author: Mark A. Greer Date: Tue Jul 31 00:39:01 2007 -0700 serial: MPSC: Fix coding style and whitespace issues Fix up mpsc.c to be aligned with Documentation/CodingStyle. Also fix up some whitespace issues. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79f851733c71c5b2665d2b3ee857b9721846cd74 Author: Mark A. Greer Date: Tue Jul 31 00:39:00 2007 -0700 serial: MPSC: Remove duplicate SUPPORT_SYSRQ definition Remove the duplicate definition of SUPPORT_SYSRQ in mpsc driver. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5797ae364c35db8c184f38b37595be59bf761e93 Author: Stephane Chazelas Date: Tue Jul 31 00:38:59 2007 -0700 serial: MPSC: Stop rx engine when CREAD cleared Currently, the MPSC driver doesn't stop recieving characters when the CREAD flag in termios->c_cflag is cleared. It should. Also, only start receiving if its not already started. Signed-off-by: Stephane Chazelas Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c1ead5e77c4e41d58ae6e6c3285ad38275df4a8 Author: Carlos Sanchez Date: Tue Jul 31 00:38:59 2007 -0700 serial: MPSC: Remove race between Rx stop & restart The patch in commit ID f7232056bff5fe2d3bfeab35252a66ebaeb5bbde stops (aborts) the MPSC's receive engine just before restarting it. Unfortunately, it doesn't wait for the abort to complete before restarting it which creates a race between the abort and the restart. If the restart occurs first, the in-progress abort stops it again and the rx engine remains stopped. Instead, do the abort when the SDMA engine is being stopped. Make sure to wait for the abort to complete before continuing. Signed-off-by: Carlos Sanchez Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 817794e0df5fea495396c18878804044436832be Author: Kirill Kuvaldin Date: Tue Jul 31 00:38:58 2007 -0700 isofs: mounting to regular file may succeed It turned out that mounting a corrupted ISO image to a regular file may succeed, e.g. if an image was prepared as follows: $ dd if=correct.iso of=bad.iso bs=4k count=8 We then can mount it to a regular file: # mount -o loop -t iso9660 bad.iso /tmp/file But mounting it to a directory fails with -ENOTDIR, simply because the root directory inode doesn't have S_IFDIR set and the condition in graft_tree() is met: if (S_ISDIR(nd->dentry->d_inode->i_mode) != S_ISDIR(mnt->mnt_root->d_inode->i_mode)) return -ENOTDIR This is because the root directory inode was read from an incorrect block. It's supposed to be read from sbi->s_firstdatazone, which is an absolute value and gets messed up in the case of an incorrect image. In order to somehow circumvent this we have to check that the root directory inode is actually a directory after all. Signed-off-by: Kirill Kuvaldin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 541510fc28b72eab37361e9e95f48746b4d3302b Author: Yoichi Yuasa Date: Tue Jul 31 00:38:56 2007 -0700 remove tx3912fb Remove tx3912fb. Nino has already removed. It is no longer needed. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2174041d663e4ea825dd53af71b877ea6da736fe Author: Yoichi Yuasa Date: Tue Jul 31 00:38:56 2007 -0700 serial: fix vr41xx_siu serial console support The serial console can select only SERIAL_VR41XX=y. Signed-off-by: Yoichi Yuasa Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a95d32094c6564c3be62ef6b396b24ced564932f Author: Yoichi Yuasa Date: Tue Jul 31 00:38:55 2007 -0700 serial: fix vr41xx_siu interface select only PORT_VR41XX_SIU can select interface. Signed-off-by: Yoichi Yuasa Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a24ac9fba1d122ce2536d23b8f4c47a17b7d0627 Author: Yoichi Yuasa Date: Tue Jul 31 00:38:55 2007 -0700 serial: fix section mismatch vr41xx_siu Fix section mismatch vr41xx_siu. WARNING: drivers/built-in.o(.text+0x2ce4c): Section mismatch: reference to .init.text:uart_parse_options (between 'siu_console_setup' and 'siu_request_port') WARNING: drivers/built-in.o(.text+0x2ce70): Section mismatch: reference to .init.text:uart_set_options (between 'siu_console_setup' and 'siu_request_port') Signed-off-by: Yoichi Yuasa Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73dd1166af9a7a1e24554991236ddea740df0dbd Author: Michael Buesch Date: Tue Jul 31 00:38:54 2007 -0700 pure_initcall ID inconsistency pure_initcall uses the same ID as core_initcall. I guess that's a typo and it should use its own ID. Signed-off-by: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e6ff1580ff5d8dc10ec58d22b3e1a6f372f7f40 Author: Eddy L O Jansson Date: Tue Jul 31 00:38:53 2007 -0700 in-string typos of "error" One patch for two trivial typos of 'error' with three R's, appearing in message strings. There's a bunch more of the same in comments, not dealt with here. Signed-off-by: Eddy L O Jansson Cc: Roman Zippel Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41d202d80e829c0a489119ad63d7ece08a9786da Author: Herton Ronaldo Krzesinski Date: Tue Jul 31 00:38:52 2007 -0700 Include serial_reg.h with userspace headers As reported by Gustavo de Nardin , while trying to compile xosview (http://xosview.sourceforge.net/) with upstream kernel headers being used you get the following errors: serialmeter.cc:48:30: error: linux/serial_reg.h: No such file or directory serialmeter.cc: In member function 'virtual void SerialMeter::checkResources()': serialmeter.cc:71: error: 'UART_LSR' was not declared in this scope serialmeter.cc:71: error: 'UART_MSR' was not declared in this scope ... Signed-off-by: Herton Ronaldo Krzesinski Cc: Gustavo de Nardin Cc: David Woodhouse Cc: Russell King Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f54f098612d7f86463b5fb4763d03533d634de73 Author: Andreas Schwab Date: Tue Jul 31 00:38:51 2007 -0700 futex: pass nr_wake2 to futex_wake_op The fourth argument of sys_futex is ignored when op == FUTEX_WAKE_OP, but futex_wake_op expects it as its nr_wake2 parameter. The only user of this operation in glibc is always passing 1, so this bug had no consequences so far. Signed-off-by: Andreas Schwab Cc: Ingo Molnar Signed-off-by: Ulrich Drepper Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0f3358621dc746219d49a9dee1799704d3a32f8 Author: Alexey Dobriyan Date: Tue Jul 31 00:38:50 2007 -0700 Fix leak on /proc/lockdep_stats Signed-off-by: Alexey Dobriyan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ea473a1dfeca2ee38c5dd458c1174d129e6b64e Author: Alexey Dobriyan Date: Tue Jul 31 00:38:50 2007 -0700 Fix leaks on /proc/{*/sched,sched_debug,timer_list,timer_stats} On every open/close one struct seq_operations leaks. Kudos to /proc/slab_allocators. Signed-off-by: Alexey Dobriyan Acked-by: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff8e210a9550ad760a62e9803938cd04f9fb0851 Author: David Howells Date: Tue Jul 31 00:38:49 2007 -0700 AFS: fix file locking Fix file locking for AFS: (*) Start the lock manager thread under a mutex to avoid a race. (*) Made the locking non-fair: New readlocks will jump pending writelocks if there's a readlock currently granted on a file. This makes the behaviour similar to Linux's VFS locking. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b34bd06e485abf5b24fc13a9a988ebf4d2915dd6 Author: Paul E. McKenney Date: Tue Jul 31 00:38:48 2007 -0700 bpqether: fix rcu usage The rcu_dereference() primitive needs to be applied to an l-value in order to ensure that compiler writers don't get an opportunity to apply reordering optimizations that could result in multiple fetches or in other misbehavior. This patch pulls the rcu_dereference() calls in bpq_seq_next() up to the point at which the fetched pointers are still l-values, rather than after list_entry() has transformed them into r-values. Signed-off-by: Paul E. McKenney Cc: Jeff Garzik Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7be77e20d59fc3dd3fdde31641e0bc821114d26b Author: Pavel Emelianov Date: Tue Jul 31 00:38:48 2007 -0700 Fix user struct leakage with locked IPC shem segment When user locks an ipc shmem segmant with SHM_LOCK ctl and the segment is already locked the shmem_lock() function returns 0. After this the subsequent code leaks the existing user struct: == ipc/shm.c: sys_shmctl() == ... err = shmem_lock(shp->shm_file, 1, user); if (!err) { shp->shm_perm.mode |= SHM_LOCKED; shp->mlock_user = user; } ... == Other results of this are: 1. the new shp->mlock_user is not get-ed and will point to freed memory when the task dies. 2. the RLIMIT_MEMLOCK is screwed on both user structs. The exploit looks like this: == id = shmget(...); setresuid(uid, 0, 0); shmctl(id, SHM_LOCK, NULL); setresuid(uid + 1, 0, 0); shmctl(id, SHM_LOCK, NULL); == My solution is to return 0 to the userspace and do not change the segment's user. Signed-off-by: Pavel Emelianov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad0b142772eb1f88f0e77cb63c38b0005e83c2bd Author: Ralf Baechle Date: Tue Jul 31 00:38:47 2007 -0700 kbuild: whitelist references from __dbe_table to .init This is needed on MIPS where the same mechanism as get_user() is used to intercept bus error exceptions for some hardware probes. Without this patch modpost will throw spurious warnings: LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: arch/mips/sgi-ip22/built-in.o(__dbe_table+0x0): Section mismatch: reference to .init.text: Signed-off-by: Ralf Baechle Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db0031947bad3feafc217d5ac4f320021f57c740 Author: Jesper Juhl Date: Tue Jul 31 00:38:46 2007 -0700 m68knommu: get rid of duplicate include Remove the duplicate inclusion of asm/irq.h from arch/m68knommu/platform/5206e/config.c Signed-off-by: Jesper Juhl Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe9844d5a32e7b2552a557a42a2a2dc0e378672c Author: Andrew Morton Date: Tue Jul 31 00:38:45 2007 -0700 kdebug.h: forward-declare struct struct notifier_block alpha: In file included from kernel/notifier.c:1: include/linux/kdebug.h:14: warning: 'struct notifier_block' declared inside parameter list include/linux/kdebug.h:14: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/kdebug.h:15: warning: 'struct notifier_block' declared inside parameter list kernel/notifier.c:529: error: conflicting types for 'register_die_notifier' include/linux/kdebug.h:14: error: previous declaration of 'register_die_notifier' was here kernel/notifier.c:533: error: conflicting types for 'register_die_notifier' include/linux/kdebug.h:14: error: previous declaration of 'register_die_notifier' was here kernel/notifier.c:536: error: conflicting types for 'unregister_die_notifier' include/linux/kdebug.h:15: error: previous declaration of 'unregister_die_notifier' was here kernel/notifier.c:539: error: conflicting types for 'unregister_die_notifier' include/linux/kdebug.h:15: error: previous declaration of 'unregister_die_notifier' was here Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a485d7ad2b68600e423f8799efc0d074029ec01 Author: Anton Vorontsov Date: Tue Jul 31 00:38:45 2007 -0700 spi_mpc83xx: support loopback mode This exposes the hardware loopback mode to drivers, primarily for testing. Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22b238bdb93ed2fcb1d627ce81d8a2fcbe24de85 Author: Anton Vorontsov Date: Tue Jul 31 00:38:44 2007 -0700 spidev_test utility This is a simple utility used to test SPI functionality. It could stand growing options to support using other test data patterns; this initial version only issues full duplex transfers, which rules out 3WIRE or Microwire links. Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f166e3833d953f0acf77eb7d426840da9e1a87f Author: Anton Vorontsov Date: Tue Jul 31 00:38:43 2007 -0700 spidev supports more communications modes The spidev driver doesn't currently expose all SPI communications modes to userspace. This passes them all through to the driver. Two of them are potentially troublesome, in the sense that they could cause hardware conflicts on shared busses. It might be appropriate to add some privilege checks for for those modes. Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ef7af50373778ee248a2493c9cf62a2299806a8 Author: Anton Vorontsov Date: Tue Jul 31 00:38:43 2007 -0700 SPI loopback mode definition Loopback mode is supported by various controllers. This mode can be useful for testing, especially in conjunction with spidev driver. Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35cc0b975057389548bfe5703d438fe0deb4807e Author: Anton Vorontsov Date: Tue Jul 31 00:38:42 2007 -0700 spi_mpc83xx: fix QE+LSB mode shifts spi_mpc83xx should use other shifts when running in QE+LSB mode. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32421daaf8236b0fd6e032f6b1dd8086ccae2a46 Author: Anton Vorontsov Date: Tue Jul 31 00:38:41 2007 -0700 spi_mpc83xx: support for lsb-first transfers This controller supports LSB-first transfers; let drivers use them. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20ba09b979f7e1de790968a9175c6caceda00261 Author: Anton Vorontsov Date: Tue Jul 31 00:38:41 2007 -0700 spi_mpc83xx: get rid of magic numbers Magic-numbers-R-Evil Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49bb23006b220c11bcf4e1d3eb99c289e6ab855e Author: Anton Vorontsov Date: Tue Jul 31 00:38:40 2007 -0700 spi_mpc83xx: turn off SPI unit while switching mode Documentation clearly states, that mode should not be changed till SPMODE_ENABLE bit set. I've seen hangs w/o this patch. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99eb8a550dbccc0e1f6c7e866fe421810e0585f6 Author: Adrian Bunk Date: Tue Jul 31 00:38:19 2007 -0700 Remove the arm26 port The arm26 port has been in a state where it was far from even compiling for quite some time. Ian Molton agreed with the removal. Signed-off-by: Adrian Bunk Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d0ed42e5ca2e22465c591341839c18025748fe8 Author: Alexey Dobriyan Date: Tue Jul 31 00:38:18 2007 -0700 Add CTL_PROC back commit eab03ac7bd3e0da99eb9dc068772a85a5e3f3577 aka "[PATCH] Get rid of /proc/sys/proc" was good commit except strace(1) compile breakage it introduced: system.c:1581: error: 'CTL_PROC' undeclared here (not in a function) So, add dummy enum back. Signed-off-by: Alexey Dobriyan Cc: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eacbbd32a98ab5b607f7773bb2692cc195db9b2 Author: Satyam Sharma Date: Tue Jul 31 00:38:17 2007 -0700 Fix a typo in Documentation/keys.txt Signed-off-by: Satyam Sharma Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a12e2c6cde6392287b9cd3b4bd8d843fd1458087 Author: Randy Dunlap Date: Tue Jul 31 00:38:17 2007 -0700 Doc: DMA-API update Fix typos and update function parameters. Signed-off-by: Randy Dunlap Acked-by: Muli Ben-Yehuda Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9eb3ff40376e505eafb927b4a4cbccc928df68ec Author: Ulrich Drepper Date: Tue Jul 31 00:38:16 2007 -0700 CPU online file permission Is there a reason why the "online" file in the subdirectories for the CPUs in /sys/devices/system isn't world-readable? I cannot imagine it to be security relevant especially now that a getcpu() syscall can be used to determine what CPUa thread runs on. The file is useful to correctly implement the sysconf() function to return the number of online CPUs. In the presence of hotplug we currently cannot provide this information. The patch below should to it. Signed-off-by: Ulrich Drepper Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07a304603cd0133468e3a153f4fe78b02733d0db Author: Eugene Teo Date: Tue Jul 31 00:38:15 2007 -0700 arch/i386/kernel/apm.c: apm_init() warning fix arch/i386/kernel/apm.c: In function 'apm_init': arch/i386/kernel/apm.c:2240: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'u32' apm_info.bios.offset is of type 'u32'. Signed-off-by: Eugene Teo Acked-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 135db3eb995e68b5cd2fb03377be7cffd9743d6f Author: Meelis Roos Date: Tue Jul 31 00:38:14 2007 -0700 add a missing LIB_Y to arch/alpha/boot Makefile Add $(LIBS_Y) to get lib/lib.a so srm_printk is present. Signed-off-by: Meelis Roos Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Jay Estabrook Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96e3e18eed3b48f6d4377dee0326a106e8a04569 Author: Sam Ravnborg Date: Tue Jul 31 00:38:13 2007 -0700 lib: move kasprintf to a separate file kasprintf pulls in kmalloc which proved to be fatal for at least bootimage target on alpha. Move it to a separate file so only users of kasprintf are exposed to the dependency on kmalloc. Signed-off-by: Sam Ravnborg Cc: Jeremy Fitzhardinge Cc: Meelis Roos Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Jay Estabrook Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9965a5d5a5aab575f995ba58dc80285aa0f6ecbf Author: Meelis Roos Date: Tue Jul 31 00:38:13 2007 -0700 alpha: fix boot/main.c warning In current 2.6.23-rc1+git, make bootimage gives the following warning while compiling arch/alpha/boot/main.c. The patch below fixes the warning by casting callback argument explicitly to void*. The original value comes from START_ADDR macro and is clearly numeric so only cast it for the callback. CC arch/alpha/boot/main.o arch/alpha/boot/main.c: In function 'load': arch/alpha/boot/main.c:135: warning: passing argument 3 of 'callback_read' makes pointer from integer without a cast Signed-off-by: Meelis Roos Cc: Jay Estabrook Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b2becffeed47ce88316724d1ee4cdbc7ee0180e Author: Meelis Roos Date: Tue Jul 31 00:38:12 2007 -0700 alpha: fix objstrip.c compilation warnings In current 2.6.23-rc1+git, make bootimage gives the following warnings while compiling objstrip.c. The patch below fixes these warnings by casting strncmp argument to char * - it does not seem feasible to change its type in struct elfhdr. HOSTCC arch/alpha/boot/tools/objstrip arch/alpha/boot/tools/objstrip.c: In function 'main': arch/alpha/boot/tools/objstrip.c:147: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness arch/alpha/boot/tools/objstrip.c:147: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness arch/alpha/boot/tools/objstrip.c:147: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness arch/alpha/boot/tools/objstrip.c:147: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness arch/alpha/boot/tools/objstrip.c:147: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness arch/alpha/boot/tools/objstrip.c:147: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness arch/alpha/boot/tools/objstrip.c:147: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness arch/alpha/boot/tools/objstrip.c:147: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness Signed-off-by: Meelis Roos Cc: Jay Estabrook Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aeb3f46252e26acdc60a1a8e31fb1ca6319d9a07 Author: Meelis Roos Date: Tue Jul 31 00:38:11 2007 -0700 alpha: fix mkbb compilation warnings In current 2.6.23-rc1+git, make bootimage gives the following warnings while compiling mkbb.c. The patch below fixes these warnings by using the proper include for exit() and using appropriate printf format. HOSTCC arch/alpha/boot/tools/mkbb arch/alpha/boot/tools/mkbb.c: In function 'main': arch/alpha/boot/tools/mkbb.c:95: warning: implicit declaration of function 'exit' arch/alpha/boot/tools/mkbb.c:95: warning: incompatible implicit declaration of built-in function 'exit' arch/alpha/boot/tools/mkbb.c:102: warning: incompatible implicit declaration of built-in function 'exit' arch/alpha/boot/tools/mkbb.c:110: warning: incompatible implicit declaration of built-in function 'exit' arch/alpha/boot/tools/mkbb.c:117: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' arch/alpha/boot/tools/mkbb.c:118: warning: incompatible implicit declaration of built-in function 'exit' arch/alpha/boot/tools/mkbb.c:125: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' arch/alpha/boot/tools/mkbb.c:126: warning: incompatible implicit declaration of built-in function 'exit' arch/alpha/boot/tools/mkbb.c:143: warning: incompatible implicit declaration of built-in function 'exit' arch/alpha/boot/tools/mkbb.c:148: warning: incompatible implicit declaration of built-in function 'exit' Signed-off-by: Meelis Roos Cc: Jay Estabrook Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60fd4d6a1953accd3d57f8e4f3b0f4692598bf4e Author: Wyatt Banks Date: Tue Jul 31 00:38:10 2007 -0700 Documentation: document HFSPlus Documentation: document HFSPlus filesystem and its mount options. Signed-off-by: Wyatt Banks Cc: "Randy.Dunlap" Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afb2c1650b4c6f285596268d0a1de2a81542a765 Author: Daniel Ritz Date: Tue Jul 31 00:38:08 2007 -0700 pcmcia: give socket time to power down Give sockets up to 100ms of additional time to power down. otherwise we might generate false warnings with KERN_ERR priority (like in bug #8262). Signed-off-by: Daniel Ritz Cc: Nils Neumann Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b232ecfd9ac55adb237e78482ed8f3d3becb0d8 Author: Yoichi Yuasa Date: Tue Jul 31 00:38:06 2007 -0700 DDB5477: remove driver bits of support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57d4810ea0d9ca58a7bcc1336607f0cede0a2abf Author: Andrew Morton Date: Tue Jul 31 00:38:02 2007 -0700 revert "x86, serial: convert legacy COM ports to platform devices" Revert 7e92b4fc345f5b6f57585fbe5ffdb0f24d7c9b26. It broke Sébastien Dugué's machine and Jeff said (persuasively) This seems like it will break decades-long-working stuff, in favor of breaking new ground in our favorite area, "trusting the BIOS." It's just not worth it for serial ports, IMO. Serial ports are something that just shouldn't break at this late stage in the game. My new Intel platform boxes don't even have serial ports, so I question the value of messing with serial port probing even more... because... just wait a year, and your box won't have a serial port either! :) I certainly don't object to the use of platform devices (or isa_driver), but the probe change seems questionable. That's sorta analagous to rewriting the floppy driver probe routine. Sure you could do it... but why risk all that damage and go through debugging all over again? It seems clear from this report that we cannot, should not, trust BIOS for something (a) so simple and (b) that has been working for over a decade. Much discussion ensued and we've decided to have another go at all of this. Cc: Sébastien Dugué Cc: Bjorn Helgaas Cc: Len Brown Cc: Adam Belay Cc: Matthew Garrett Cc: Russell King Cc: Jeff Garzik Acked-by: Alan Cox Cc: Michal Piotrowski Cc: Sascha Sommer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a583f1b54249b11ad1ffd14c6e74d28fcbc59c07 Author: Stephane Eranian Date: Tue Jul 31 00:38:00 2007 -0700 remove unused TIF_NOTIFY_RESUME flag Remove unused TIF_NOTIFY_RESUME flag for all processor architectures. The flag was not used excecpt on IA-64 where the patch replaces it with TIF_PERFMON_WORK. Signed-off-by: stephane eranian Cc: Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd4f0ef7c03e79f92a883843662e3d0eaae26fb4 Author: Alan Cox Date: Tue Jul 31 00:37:59 2007 -0700 doc/kernel-parameters: use X86-32 tag instead of IA-32 Signed-off-by: Alan Cox Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6f953aa99d456aff44ffdb1c77061d1a010eae2 Author: Arne Redlich Date: Tue Jul 31 00:37:57 2007 -0700 md: handle writes to broken raid10 arrays gracefully When writing to a broken array, raid10 currently happily emits empty bio lists. IOW, the master bio will never be completed, sending writers to UNINTERRUPTIBLE_SLEEP forever. Signed-off-by: Arne Redlich Acked-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14e713446aaca97dbe590fe845f7dcbd74ddbee2 Author: Maik Hampel Date: Tue Jul 31 00:37:57 2007 -0700 md: raid10: fix use-after-free of bio In case of read errors raid10d tries to print a nice error message, unfortunately using data from an already put bio. Signed-off-by: Maik Hampel Acked-By: NeilBrown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfe0d6867e36f46836d2c3755fa8b9ef8cf143ba Author: Randy Dunlap Date: Tue Jul 31 00:37:56 2007 -0700 fix filemap.c kernel-doc Fix kernel-doc warning: Warning(linux-2.6.23-rc1-mm1//mm/filemap.c:864): No description found for parameter 'ra' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64d158bc3db121fd2bec29057a44843930b044fa Author: Sam Ravnborg Date: Tue Jul 31 00:37:53 2007 -0700 alpha: fix two section mismatch warnings Fix the following section mismatch warnings: WARNING: o-alpha/vmlinux.o(.text+0x1a4d4): Section mismatch: reference to .init.text:free_area_init (between 'paging_init' and 'srm_paging_stop') WARNING: o-alpha/vmlinux.o(.text+0x1a4dc): Section mismatch: reference to .init.text:free_area_init (between 'paging_init' and 'srm_paging_stop') One instance of paging_init() was declared __init but not the other one - used by defconfig. Fixed by declaring the second instance ___init too. Signed-off-by: Sam Ravnborg Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a4b88317aa02c82e66e37debb764d4ff3eedd70 Author: J. Bruce Fields Date: Tue Jul 31 00:37:53 2007 -0700 knfsd: eliminate unnecessary -ENOENT returns on export downcalls A succesful downcall with a negative result (which indicates that the given filesystem is not exported to the given user) should not return an error. Currently mountd is depending on stdio to write these downcalls. With some versions of libc this appears to cause subsequent writes to attempt to write all accumulated data (for which writes previously failed) along with any new data. This can prevent the kernel from seeing responses to later downcalls. Symptoms will be that nfsd fails to respond to certain requests. Signed-off-by: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a725fc4d3bfc4734164863d6c50208b109ca5c7 Author: J. Bruce Fields Date: Tue Jul 31 00:37:52 2007 -0700 nfsd4: idmap upcalls should use unsigned uid and gid We shouldn't be using negative uid's and gid's in the idmap upcalls. Signed-off-by: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 749997e5127a1df6b68a10c686af3f5b819a41a2 Author: Jeff Layton Date: Tue Jul 31 00:37:51 2007 -0700 knfsd: set the response bitmask for NFS4_CREATE_EXCLUSIVE RFC 3530 says: If the server uses an attribute to store the exclusive create verifier, it will signify which attribute by setting the appropriate bit in the attribute mask that is returned in the results. Linux uses the atime and mtime to store the verifier, but sends a zeroed out bitmask back to the client. This patch makes sure that we set the correct bits in the bitmask in this situation. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 421cee293587081efef165b137514884b8472565 Author: Randy Dunlap Date: Tue Jul 31 00:37:50 2007 -0700 sched: fix kernel-doc warnings Fix kernel-doc warnings in sched.c: Warning(linux-2623-rc1g4//kernel/sched.c:1685): No description found for parameter 'notifier' Warning(linux-2623-rc1g4//kernel/sched.c:1696): No description found for parameter 'notifier' Warning(linux-2623-rc1g4//kernel/sched.c:1750): No description found for parameter 'prev' Signed-off-by: Randy Dunlap Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8a367935fc649c071a91c648c4a9c892f72113e Author: Randy Dunlap Date: Tue Jul 31 00:37:50 2007 -0700 pnp: fix kernel-doc warnings Fix PNP docbook warnings: Warning(linux-2623-rc1g4//drivers/pnp/core.c): no structured comments found Warning(linux-2623-rc1g4//drivers/pnp/driver.c): no structured comments found Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd54567a83057821a667109a5cadec6eed0295de Author: Mingming Cao Date: Tue Jul 31 00:37:46 2007 -0700 "ext4_ext_put_in_cache" uses __u32 to receive physical block number Yan Zheng wrote: > I think I found a bug in ext4/extents.c, "ext4_ext_put_in_cache" uses > "__u32" to receive physical block number. "ext4_ext_put_in_cache" is > used in "ext4_ext_get_blocks", it sets ext4 inode's extent cache > according most recently tree lookup (higher 16 bits of saved physical > block number are always zero). when serving a mapping request, > "ext4_ext_get_blocks" first check whether the logical block is in > inode's extent cache. if the logical block is in the cache and the > cached region isn't a gap, "ext4_ext_get_blocks" gets physical block > number by using cached region's physical block number and offset in > the cached region. as described above, "ext4_ext_get_blocks" may > return wrong result when there are physical block numbers bigger than > 0xffffffff. > You are right. Thanks for reporting this! Signed-off-by: Mingming Cao Cc: Yan Zheng Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6676ae62822f189e7bca80526eca514c399adcfc Author: Jeff Dike Date: Tue Jul 31 00:37:44 2007 -0700 UML: console should handle spurious IRQS The previous DEBUG_SHIRQ patch missed one case. The console doesn't set its host descriptors non-blocking. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8daedea656ef48d36d1bda3d1339da484387c710 Author: Andrew Morton Date: Tue Jul 31 00:37:43 2007 -0700 parport_pc locking fix http://bugzilla.kernel.org/show_bug.cgi?id=8821 reports a might_sleep() warning due to parport_pc_exit() running platform_device_unregister() while holding ports_lock. Just remove the locking: nobody else can access ports_list during module_exit. Cc: "Mike Sharkey" Cc: Tim Waugh Cc: Stas Sergeev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c21b37f6449a3d799c7e75e978391674ee207600 Author: Richard Purdie Date: Tue Jul 31 00:37:42 2007 -0700 lzo: add some missing casts Add some casts to the LZO compression algorithm after they were removed during cleanup and shouldn't have been. Signed-off-by: Richard Purdie Cc: Edward Shishkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3968cb49ab01588cbf6896951780a1e411a0ec38 Author: Jordan Crouse Date: Tue Jul 31 00:37:40 2007 -0700 lxfb: GEODE: Add framebuffer support for the AMD Geode LX Add framebuffer support for the AMD Geode LX graphics engine. Signed-off-by: Jordan Crouse Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8facbb62111f9333d00870b0d523f5036822d04 Author: Randy Dunlap Date: Tue Jul 31 00:37:40 2007 -0700 various doc/kernel-parameters fixes - tell what APIC (by request), MTD, & PARIDE mean - correct some source file names - remove IA64 "llsc*=" (seems to have been removed from source tree) - removel SCSI "53c7xx=" (driver already removed) Signed-off-by: Randy Dunlap Acked-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f53161d1088567dda41094a932f6a16dc0bdae59 Author: Grant Likely Date: Tue Jul 31 00:37:39 2007 -0700 xilinxfb: Don't bail if the xilinxfb platform device doesn't have any pdata Lack of pdata is not a fatal omission. The driver can still be used even if we do not know the screen dimensions. Signed-off-by: Grant Likely Cc: Andrei Konovalov Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f5b85d14ebc4a47de5993d2d74148f603aae639 Author: Grant Likely Date: Tue Jul 31 00:37:38 2007 -0700 xilinxfb:Remove __initdata from xilinx_fb_fix and xilinx_fb_var xilinxfb_drv_probe refers to both tables, but it cannot be initdata. Signed-off-by: Grant Likely Cc: Andrei Konovalov Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aff39a852eb20ee6709327d1db7610fa9bec3531 Author: Ben Dooks Date: Tue Jul 31 00:37:37 2007 -0700 s3c2410fb: fix s3c2410 compilation The implicit mapping has been removed from the arch as this should be handled in the driver, this patch fixes the s3c2410_fb driver to ioremap() the necessary registers. Signed-off-by: Ben Dooks Acked-by: Arnaud Patard Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1692b37c99d5087cf2f814466a907a3dd35a1453 Author: Antonino A. Daplas Date: Tue Jul 31 00:37:36 2007 -0700 fbdev: Fix logo if logo depth is less than framebuffer depth The VGA16 logo (bpp = 4) and monochrome logo (bpp = 1) do not contain any color information (no CLUT). If the fb depth is > logo depth, these logo's will not properly display. Fix by using the console palette instead of creating a new one. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c81f717cb9e0bd91dc4b98753cb2705ab0fe2801 Author: Antonino A. Daplas Date: Tue Jul 31 00:37:36 2007 -0700 fbcon: Fix typo and bogus logic in get_default_font Reported in: Bugzilla Bug 8727 Fix typo and bogus logic in get_default_font(). The bug results in get_default_font() returning a font that may not be displayed properly by a framebuffer driver. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb029c67e430e9ae96476ce7233468c11627c1db Author: Paul Fulghum Date: Tue Jul 31 00:37:35 2007 -0700 synclink_gt: fix transmit DMA stall Fix transmit DMA stall when write() called in window after previous transmit DMA completes but before previous serial transmission completes. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddb437b7f74de775ff50ef51a8b2970564d56f86 Author: Atsushi Nemoto Date: Tue Jul 31 00:37:34 2007 -0700 serial_txx9: fix printk format mismatch Since the commit 4f640efb3170dbcf99a37a3cc99060647b95428c, "%lx" is not suitable for p->mapbase (resource_size_t) in 32-bit. This patch fixes a compiler warning caused by the mismatch. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6b33220845d4702590ecbe356787e59c8d914ae Author: Randy Dunlap Date: Tue Jul 31 00:37:32 2007 -0700 x86-64: Calgary: fix section mismatch warnings in tce Fix section mismatch warnings: these functions are called only from __init functions. WARNING: vmlinux.o(.text+0x1861c): Section mismatch: reference to .init.text:free_bootmem (between 'free_tce_table' and 'build_tce_table') WARNING: vmlinux.o(.text+0x187e5): Section mismatch: reference to .init.text:__alloc_bootmem_low (between 'alloc_tce_table' and 'kretprobe_trampoline_holder') Signed-off-by: Randy Dunlap Signed-off-by: Muli Ben-Yehuda Cc: Andi Kleen Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5e58a61420e99dd08685f622d4dc666bf07e9a5 Author: David Rientjes Date: Tue Jul 31 00:37:32 2007 -0700 oom: print points as unsigned long In badness(), the automatic variable 'points' is unsigned long. Print it as such. Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8ed39ebe0cf490abd7bf7c77b728dd6fefb2cf8 Author: Thomas Hommel Date: Tue Jul 31 00:37:31 2007 -0700 rtc-dev: Make RTC driver return ENOTTY instead of ENOIOCTLCMD Prevent the RTC driver from returning ENOIOCTLCMD to userspace. Signed-off-by: Thomas Hommel Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8bbf72ab9b3072ece630d97689145b1a2f01221 Author: Mel Gorman Date: Tue Jul 31 00:37:30 2007 -0700 Do not trigger OOM-killer for high-order allocation failures out_of_memory() may be called when an allocation is failing and the direct reclaim is not making any progress. This does not take into account the requested order of the allocation. If the request if for an order larger than PAGE_ALLOC_COSTLY_ORDER, it is reasonable to fail the allocation because the kernel makes no guarantees about those allocations succeeding. This false OOM situation can occur if a user is trying to grow the hugepage pool in a script like; #!/bin/bash REQUIRED=$1 echo 1 > /proc/sys/vm/hugepages_treat_as_movable echo $REQUIRED > /proc/sys/vm/nr_hugepages ACTUAL=`cat /proc/sys/vm/nr_hugepages` while [ $REQUIRED -ne $ACTUAL ]; do echo Huge page pool at $ACTUAL growing to $REQUIRED echo $REQUIRED > /proc/sys/vm/nr_hugepages ACTUAL=`cat /proc/sys/vm/nr_hugepages` sleep 1 done This is a reasonable scenario when ZONE_MOVABLE is in use but triggers OOM easily on 2.6.23-rc1. This patch will fail an allocation for an order above PAGE_ALLOC_COSTLY_ORDER instead of killing processes and retrying. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 252e48389ed30d7c77385fb92fca765a680de408 Author: Ben Dooks Date: Tue Jul 31 00:37:28 2007 -0700 s3c2410: fixup after arch moves Fixup the changes from moving around the arch support for s3c24xx based systems. Signed-off-by: Ben Dooks Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a512cd5dfecd16bb4f881fede459ce5c7c3012a4 Author: Neil Brown Date: Tue Jul 31 00:37:27 2007 -0700 Make Bruce Fields (co-)maintainer of kNFSDd Make Bruce Fields (co-)maintainer of kNFSDd Signed-off-by: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45c876bf12b431afa9c438b24bd6f55f3a815805 Author: Fenghua Yu Date: Tue Jul 31 00:37:26 2007 -0700 Fix uninitialized local variable "covered" in i386 acpi-cpufreq driver The local variable "covered" is used without initialization in i386 acpi-cpufreq driver. The initial value of covered should be 0. The bug will cause memory leak when hit. The following patch fixes this bug. Signed-off-by: Fenghua Yu Cc: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f8e00f2b9797ce7235634431d65269d21ef80d2 Author: Randy Dunlap Date: Tue Jul 31 00:37:26 2007 -0700 update dontdiff file Updates based on recent .gitignore updates: *.o.*: Says Alexey Dobriyan: These are presumably temporary gcc files, which aren't interesting. setup.bin, setup.elf: new x86 boot code files (from Matthew Wilcox) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96918a35a09f322d57c1a2d41e5b5ab24ea73991 Author: Alexey Dobriyan Date: Tue Jul 31 00:37:25 2007 -0700 .gitignore update Somehow I ended up with the following in tree: $ git status ... # Untracked files: # (use "git add ..." to include in what will be committed) # # fs/proc/root.o.FuMxJQ # net/ipv4/tcp_minisocks.o.geCDYR These are presumably temporary gcc files, which aren't interesting. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e92a3baee64112fd210a930276bad165b0bd576 Author: David Howells Date: Tue Jul 31 00:37:24 2007 -0700 NOMMU: Fix SYSV IPC SHM Fix the SYSV IPC SHM to work with the changes applied by the new fault handler patches when CONFIG_MMU=n. Signed-off-by: David Howells Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8072f085d79a0a73cc5a0333ffa7f0c5d35f76e0 Author: Thomas Graf Date: Tue Jul 31 14:13:50 2007 -0700 [RTNETLINK]: Fix warning for !CONFIG_KMOD replay label is unused otherwise. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 159e36fe996411a4a05added6b7b20b1c4490ebb Author: FUJITA Tomonori Date: Mon Jul 30 11:10:07 2007 -0600 [SCSI] mptsas: add SMP passthrough support via bsg This patch adds support for SAS Management Protocol (SMP) passthrough support via bsg. Signed-off-by: FUJITA Tomonori Acked-by: Eric Moore Signed-off-by: James Bottomley commit 376407039c26caacc3e433437d25516ba8f3adc9 Author: Mariusz Kozlowski Date: Tue Jul 31 14:06:45 2007 -0700 [IPV4] ip_options.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit f87966541ef15d28572c8a3caaec359801625228 Author: Mariusz Kozlowski Date: Tue Jul 31 14:05:56 2007 -0700 [DECNET]: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 50aa485e1abb7566ce68418c7bbc6a6b454f9039 Author: Mariusz Kozlowski Date: Tue Jul 31 14:04:57 2007 -0700 [BBC_I2C]: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 916e89fdd1b21eec4abbc9e228757db77660fff2 Author: Mariusz Kozlowski Date: Tue Jul 31 14:04:19 2007 -0700 [BBC_ENVCTRL]: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 313674afa8fdced2fe79f50f38e1c387b63d8790 Author: Matthew Wilcox Date: Tue Jul 31 14:00:29 2007 -0700 [NET]: ethtool_perm_addr only has one implementation All drivers implement ethtool get_perm_addr the same way -- by calling the generic function. So we can inline the generic function into the caller and avoid going through the drivers. Signed-off-by: Matthew Wilcox Signed-off-by: David S. Miller commit 61a44b9c4b20d40c41fd1b70a4ceb13b75ea79a4 Author: Matthew Wilcox Date: Tue Jul 31 14:00:02 2007 -0700 [NET]: ethtool ops are the only way During the transition to the ethtool_ops way of doing things, we supported calling the device's ->do_ioctl method to allow unconverted drivers to continue working. Those days are long behind us, all in-tree drivers use the ethtool_ops way, and so we no longer need to support this. The bonding driver is the biggest beneficiary of this; it no longer needs to call ioctl() as a fallback if ethtool_ops aren't supported. Also put a proper copyright statement on ethtool.c. Signed-off-by: Matthew Wilcox Signed-off-by: David S. Miller commit f1543f8b8316f49b318ac6cd8c78a7fd18509311 Author: Florian Zumbiehl Date: Tue Jul 31 13:47:57 2007 -0700 [PPPOE]: Improve hashing function in hash_item(). The new code produces the same results as the old version and is ~ 3 to 6 times faster for 4-bit hashes on the CPUs I tested. Signed-off-by: Florian Zumbiehl Signed-off-by: David S. Miller commit b4b2917cc8babe8eaf4bc133bca31b11ed7dac13 Author: Peter Watkins Date: Mon Jul 30 18:01:29 2007 -0400 [MIPS] Add smp_call_function_single() In the other archs, there is more factoring of smp call code, and more care in the use of get_cpu(). That can be a follow-up MIPS patch. Signed-off-by: Peter Watkins Signed-off-by: Ralf Baechle commit 185bcd17a5fb4155fba125332efa498be126aa4e Author: Mariusz Kozlowski Date: Tue Jul 31 20:48:41 2007 +0200 [MIPS] thread_info.h: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Ralf Baechle commit 00be0f305fa69adb9f9d7b9447283b862b853e9e Author: Ralf Baechle Date: Tue Jul 31 15:17:21 2007 +0100 [MIPS] Kexec: Fix several 64-bit bugs. Signed-off-by: Ralf Baechle commit 1065932fcb73ca188a497d8853a1a00422ce6c62 Author: Ralf Baechle Date: Tue Jul 31 15:16:32 2007 +0100 [MIPS] Kexec: Fix several warnings. arch/mips/kernel/machine_kexec.c: In function 'machine_kexec': arch/mips/kernel/machine_kexec.c:54: warning: assignment makes integer from pointer without a cast arch/mips/kernel/machine_kexec.c:70: warning: assignment makes integer from pointer without a cast arch/mips/kernel/machine_kexec.c:81: warning: format '%08x' expects type 'unsigned int', but argument 2 has type 'long unsigned int' Signed-off-by: Ralf Baechle commit ff32b062ea6d16a1c53d57da0ac9419c9d015534 Author: Yoichi Yuasa Date: Mon Jul 30 22:40:35 2007 +0900 [MIPS] DDB5477: Remove support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 796756bab6fd09111159b76288169e18fa13d3e8 Author: Songmao Tian Date: Mon Jul 30 09:06:45 2007 +0800 [MIPS] Fulong: Remove unneeded header file Signed-off-by: Songmao Tian Signed-off-by: Ralf Baechle commit ac1a236aaaaaa24552bf16a8ba6dc5f88129fbd0 Author: Martin Michlmayr Date: Sun Jul 29 22:19:02 2007 +0200 [MIPS] Cobalt: Enable UART on RaQ1 Unlike the current code suggests, the RaQ1 actually has an UART. Only the Qube1 (Qube 2700) lacks one. Signed-off-by: Martin Michlmayr Signed-off-by: Ralf Baechle commit 72c0fcf70a0c15a6280b3cf2ad11c6fdaf0bd888 Author: Yoichi Yuasa Date: Sun Jul 29 21:17:18 2007 +0900 [MIPS] Remove unused GROUP_TOSHIBA_NAMES Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 05014a1e56c423254338a1c2e63aab99c84bee9b Author: Jesper Juhl Date: Sun Jul 29 23:59:35 2007 +0200 [MIPS] remove some duplicate includes This patch removes some duplicate includes from arch/mips/ Signed-off-by: Jesper Juhl Signed-off-by: Ralf Baechle commit c8f4ff9f3f655c92ca7b31850bfea2ce3796e386 Author: Dajie Tan Date: Mon Jul 30 11:07:42 2007 +0400 [MIPS] Oprofile: Fix rm9000 performance counter handler The new type of irq handler remove a parameter (struct pt_regs *),but someone forgot to supply it. Signed-off-by: Dajie Tan Signed-off-by: Ralf Baechle commit dde96ca8b398637e2b4442e312723f66fa6a8186 Author: Ralf Baechle Date: Mon Jul 30 11:48:58 2007 +0100 [MIPS] Use -Werror on subdirectories which build cleanly. Signed-off-by: Ralf Baechle commit e9c227f9ecc0ddbaa5d4d197f7ee658aa4fee67f Author: Ralf Baechle Date: Mon Jul 30 11:08:35 2007 +0100 [MIPS] Yosemite: Fix warning. arch/mips/pmc-sierra/yosemite/smp.c: In function 'titan_mailbox_irq': arch/mips/pmc-sierra/yosemite/smp.c:112: warning: 'status' may be used uninitialized in this function Signed-off-by: Ralf Baechle commit e0a725a7460b3bc3a15c95b1241394cb185d9af6 Author: Ralf Baechle Date: Mon Jul 30 01:07:09 2007 +0100 [MIPS] PMON: Fix cpustart declaration. This now matches how cpustart is actually being invoked from Linux. Signed-off-by: Ralf Baechle commit 7f32a88e9cb6587cae89f5488050d167397ab9b2 Author: Ralf Baechle Date: Mon Jul 30 00:52:14 2007 +0100 [MIPS] Yosemite: Only build ll_ht_smp_irq_handler() if HYPERTRANSPORT. Signed-off-by: Ralf Baechle commit 035955b69ebc1e130fdf04d0233f131b84b637b9 Author: Ralf Baechle Date: Mon Jul 30 00:50:47 2007 +0100 [MIPS] Yosemite: Fix build error due to undeclared titan_mailbox_irq(). Signed-off-by: Ralf Baechle commit f724af8c32ab9655fcf7e46bafee8c55b143a83a Author: Ralf Baechle Date: Mon Jul 30 00:47:07 2007 +0100 [MIPS] Yosemite: Don't declare titan_mailbox_irq() as asmlinkage. Signed-off-by: Ralf Baechle commit daa4a68f901c4d6491baa1a01f5c869a553c3f6c Author: Ralf Baechle Date: Mon Jul 30 00:45:04 2007 +0100 [MIPS] Yosemite: Fix warnings in i2c-yoesmite by deleting the unused code. arch/mips/pmc-sierra/yosemite/i2c-yosemite.c: In function 'titan_i2c_xfer': arch/mips/pmc-sierra/yosemite/i2c-yosemite.c:98: warning: 'data' may be used uninitialized in this function Signed-off-by: Ralf Baechle commit 4d8506b806cc726c96db1c1a55edfb2da52217a9 Author: Ralf Baechle Date: Sun Jul 29 09:21:51 2007 +0100 [MIPS] Delete unused arch/mips/gt64120/common/ Signed-off-by: Ralf Baechle commit 7f18f151f474b11c0fb7f1c9b7bb59b6d04a6fc2 Author: Ralf Baechle Date: Sun Jul 29 09:16:19 2007 +0100 [MIPS] Fix build warning in unaligned load/store emulator. Signed-off-by: Ralf Baechle commit c3dd8cdf8563ac46b27b0cacfda5e7e6b18c4a46 Author: Ralf Baechle Date: Sun Jul 29 00:16:34 2007 +0100 [MIPS] IP32: Don't ignore request_irq's return value. Signed-off-by: Ralf Baechle commit 89c960961d79ce87dfbc67bc05d254e6ee079939 Author: Ralf Baechle Date: Sun Jul 29 00:14:02 2007 +0100 [MIPS] IP27: Fix warning. Signed-off-by: Ralf Baechle commit 3118513172fc5ac843f22d7848369b11b1829df1 Author: Ralf Baechle Date: Sun Jul 29 00:00:34 2007 +0100 [MIPS] BCM1480: Include . Signed-off-by: Ralf Baechle commit 0b0ef2ea00c581d613e15eadc3215d52a6a55946 Author: Ralf Baechle Date: Sat Jul 28 14:20:16 2007 +0100 [MIPS] Remove Momentum Ocelot support. Signed-off-by: Ralf Baechle commit e7865765ef85473c1b97aad86d44b80dc260dbbf Author: Ralf Baechle Date: Sat Jul 28 13:38:49 2007 +0100 [MIPS] Fix archhelp. Signed-off-by: Ralf Baechle commit 8496b401b03393bf9f03bc913a420cbe7de691d3 Author: Ralf Baechle Date: Sat Jul 28 13:27:21 2007 +0100 [MIPS] Cleanup default bootfile format rule mess. Signed-off-by: Ralf Baechle commit e001e52801ffb2d8dae43f26bdf67df62d312d85 Author: Ralf Baechle Date: Sat Jul 28 12:45:47 2007 +0100 [MIPS] Replace use of stext with _stext. Signed-off-by: Ralf Baechle commit 348c913f571dc1a0e7fd84d7206fc7ee983420df Author: Ralf Baechle Date: Sat Jul 28 11:46:15 2007 +0100 [MIPS] Fix build breakage due to duplicate cpu_clock definition commit e436d80085133858bf2613a630365e8a0459fd58 Author: Ingo Molnar Date: Thu Jul 19 21:28:35 2007 +0200 [PATCH] sched: implement cpu_clock(cpu) high-speed time source broke the build of several MIPS platforms which were already using the symbol cpu_clock for the own purposes. Signed-off-by: Ralf Baechle commit 3266c6a988a2d18ffe91fe7fd56d0d6cc13c341e Author: Ralf Baechle Date: Sat Jul 28 07:44:08 2007 +0100 [MIPS] ARC: Fix modpost warnings. WARNING: vmlinux.o(.text+0x1608): Section mismatch: reference to .init.text:ArcRead (between 'indy_8254timer_irq' and 'indy_rtc_set_time') WARNING: vmlinux.o(.text+0x1157ac): Section mismatch: reference to .init.text:ArcRead (between 'prom_getchar' and 'prom_putchar') WARNING: vmlinux.o(.text+0x115808): Section mismatch: reference to .init.text:ArcWrite (between 'prom_putchar' and 'csum_partial') Signed-off-by: Ralf Baechle commit e119d49ab51385d8163246db8cce74a46cd3b863 Author: Ralf Baechle Date: Sat Jul 28 00:54:32 2007 +0100 [MIPS] SMTC: Fix modpost warning. WARNING: vmlinux.o(.text+0xcf54): Section mismatch: reference to .init.text:smp_bootstrap (between 'smtc_boot_secondary' and 'ipi_interrupt') Signed-off-by: Ralf Baechle commit 4d7d81479849f59a9b377a336e92fe07225f8380 Author: Ralf Baechle Date: Sat Jul 28 00:53:14 2007 +0100 [MIPS] Fix modpost warning. WARNING: vmlinux.o(.text+0x1718): Section mismatch: reference to .init.text:mipsmt_build_cpu_map (between 'plat_smp_setup' and 'prom_init_secondary') Signed-off-by: Ralf Baechle commit 9d5a3f5fa389821f55c77462f30782b07080b8ef Author: Ralf Baechle Date: Sat Jul 28 00:51:45 2007 +0100 [MIPS] rtlx: Fix modpost warning WARNING: vmlinux.o(.text+0x11504): Section mismatch: reference to .init.data:register_chrdev_failed (between 'rtlx_module_init' and 'rtlx_dispatch') Signed-off-by: Ralf Baechle commit 98de920a2aa4f5939d47cdbb23ebac809308d871 Author: Ralf Baechle Date: Sat Jul 28 00:49:58 2007 +0100 [MIPS] Add missing declaration for mips_ihb(). Signed-off-by: Ralf Baechle commit a11b18ef94772d2803ef7d651704c943dcb9dc38 Author: Chris Dearman Date: Fri Jul 27 20:02:00 2007 +0100 [MIPS] MTI: Add CoreFPGA4 ID. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 0f5d0df35ea9efe52242b9b3c79517cc50202e37 Author: Ralf Baechle Date: Fri Jul 27 19:37:51 2007 +0100 [MIPS] RP: Sysfs interface for stopping RP program The old method of attempting to load a invalid program was just too icky. Signed-off-by: Ralf Baechle commit 41790e04e6656fa1aef205ad9a76ab4edbb5f14a Author: Ralf Baechle Date: Fri Jul 27 19:33:18 2007 +0100 [MIPS] RP: Pass number of TCs available to RP program in $2. Signed-off-by: Ralf Baechle commit 07cc0c9e65d3e262f871ea357dd77b41950b1ca5 Author: Ralf Baechle Date: Fri Jul 27 19:31:10 2007 +0100 [MIPS] MT: Enable coexistence of AP/SP with VSMP and SMTC. Signed-off-by: Ralf Baechle commit c3a005f4b6a7752608e75d016ef8d07c55285e48 Author: Kevin D. Kissell Date: Fri Jul 27 18:45:25 2007 +0100 [MIPS] SMTC: Safety net for i8259A interrupts. Signed-off-by: Ralf Baechle commit efaa534ed191662270e3be143c8a038a7492ce8f Author: Ralf Baechle Date: Fri Jul 27 18:39:19 2007 +0100 [MIPS] SMTC: smtc_timer_broadcast ignores its arguments, make it void. Signed-off-by: Ralf Baechle commit 97aef63c9f403e4a3d07e3da9e468add0cd93385 Author: Ralf Baechle Date: Fri Jul 27 18:36:32 2007 +0100 [MIPS] SMTC: Declare static what should be static. Signed-off-by: Ralf Baechle commit 033890b084adfa367c544864451d7730552ce8bf Author: Ralf Baechle Date: Fri Jul 27 18:33:30 2007 +0100 [MIPS] SMTC: Statically initialize irq_ipi[]. Signed-off-by: Ralf Baechle commit 004561d3af67065215b9ddef22048c4d05467fb2 Author: Atsushi Nemoto Date: Sat Jul 28 01:03:41 2007 +0900 [MIPS] rbtx4938: Fix warnings linux/arch/mips/pci/fixup-tx4938.c:21:5: warning: symbol 'pci_get_irq' was not declared. Should it be static? linux/arch/mips/pci/fixup-tx4938.c:76: warning: passing argument 1 of 'pci_get_irq' discards qualifiers from pointer target type Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ade299d899ed6553d1f4db321e207bb9905bea47 Author: Yoichi Yuasa Date: Fri Jul 27 15:25:43 2007 +0900 [MIPS] Sort system types alphabetically Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 08a91283e5224950c6a685be8f2709a70220cfd3 Author: Yoichi Yuasa Date: Fri Jul 27 15:20:24 2007 +0900 [MIPS] Fix RBTX49x7 board name Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 7e5829b56be5aeb931cf52d78c95285c2b8f50e3 Author: Yoann Padioleau Date: Fri Jul 27 11:45:00 2007 +0200 [MIPS] 0 -> NULL When comparing a pointer, it's clearer to compare it to NULL than to 0. Here is an excerpt of the semantic patch: @@ expression *E; @@ E == - 0 + NULL @@ expression *E; @@ E != - 0 + NULL Signed-off-by: Yoann Padioleau Cc: ralf@linux-mips.org Cc: linux-mips@linux-mips.org Cc: akpm@linux-foundation.org Signed-off-by: Ralf Baechle commit 72db43be8bf610d50d86a9e683e0eff3c2cc5ba4 Author: Ralf Baechle Date: Thu Jul 26 03:40:16 2007 +0100 [MIPS] IP27: Fix modpost warning. MODPOST vmlinux.o WARNING: vmlinux.o(.text+0x3180): Section mismatch: reference to .init.text:per_cpu_init (between 'prom_init_secondary' and 'alloc_cpupda') Signed-off-by: Ralf Baechle commit 4dc467756e77838c592a6dc797434f11761d33f5 Author: Ralf Baechle Date: Thu Jul 26 03:38:24 2007 +0100 [MIPS] Wire up the fallocate syscall. Signed-off-by: Ralf Baechle commit 293c5bd13f124c325f74f89ad26edf5612ce7235 Author: Ralf Baechle Date: Wed Jul 25 16:19:33 2007 +0100 [MIPS] Fixup secure computing stuff. Signed-off-by: Ralf Baechle commit 01754bbc692929e446e600f69b41013e554399a6 Author: Atsushi Nemoto Date: Wed Jul 25 01:50:08 2007 +0900 [MIPS] tx49xx: Add mach specific headers Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 8449d399d288c21a643a7e8834c0043db24d24d8 Author: Atsushi Nemoto Date: Wed Jul 25 00:53:40 2007 +0900 [MIPS] rbtx4927: Fix some gcc warnings and a section mismatch. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d4414cc48baa529311e9326c8bb13c1264c04122 Author: Atsushi Nemoto Date: Wed Jul 25 00:53:29 2007 +0900 [MIPS] rbtx4927: Fix -Werror-implicit-function-declaration build error. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ff659d13ed91dd0b237064aba91a5259f827aeb3 Author: H. Peter Anvin Date: Tue Jul 31 16:17:13 2007 -0400 [x86 setup] EDD: Fix the computation of the MBR sector buffer Some BIOSes require that sector buffers not cross 64K boundaries. As a result, we compute a dynamic address on the setup heap. Unfortunately, this address computation was just totally wrong. Signed-off-by: H. Peter Anvin commit 8b608d2f5a1b3552363a3161566645a409ff8530 Author: H. Peter Anvin Date: Thu Jul 26 16:10:22 2007 -0700 [x86 setup] Newline after setup signature failure message End the "No setup signature found..." with a newline (the puts routine will automatically add a carriage return.) Signed-off-by: H. Peter Anvin commit 8218d029c58b89837a24b4e1362c33d0ba7450b5 Author: Randy Dunlap Date: Thu Jul 26 10:10:35 2007 -0700 x86 boot code comments typos Fix comments typos in new x86 boot code. Signed-off-by: Randy Dunlap Signed-off-by: H. Peter Anvin commit 96d32215d433c38f258159b8735f98158f6a2575 Author: David Miller Date: Mon Jul 30 16:19:20 2007 -0700 [SCSI] ESP: Revert ESP_BUS_TIMEOUT back down to 250 This reverts d73f5222a618a91452d41c29f5996ce3d9c63673 The bug that made us increase ESP_BUS_TIMEOUT to 275 turned out to be a memset bug on 32-bit sparc. It is better to put this back at the correct timeout value than to leave it increased when there is no reason for doing so. Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit 55d9fcf57ba5ec427544fca7abc335cf3da78160 Author: Matthew Wilcox Date: Mon Jul 30 15:19:18 2007 -0600 [SCSI] dpt_i2o: convert to SCSI hotplug model - Delete refereces to HOSTS_C - Switch to module_init/module_exit instead of detect/release - Don't pass around the host template and rename it to adpt_template - Switch from scsi_register/scsi_unregister to scsi_host_alloc, scsi_add_host, scsi_scan_host and scsi_host_put. Signed-off-by: Matthew Wilcox Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 53772a2cb40748ea0b26db8101d632ddb3875b51 Author: Seokmann Ju Date: Mon Jul 30 11:01:07 2007 -0700 [SCSI] qla2xxx: fix panic caused by previous patch - this patch will fix a panic caused by omitted memory allocation for the nvram. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit 142009a3df39ecd4e96601d8bdabbe0c5f6e2f4e Author: James Bottomley Date: Mon Jul 30 09:52:25 2007 -0500 [SCSI] aic7xxx: cap maxsync according to correct card limits Not doing this can cause cards less than u160 capable to send out PPR offers to devices they can't then deliver on ... causing some devices to get a bit confused. Fix by capping the start syncrate at the appropriate level according to the card capabilities. Signed-off-by: James Bottomley commit 28f85009e0cf6a5232cd285131eac3dfe26d9e3a Author: Matthias Kaehlcke Date: Sun Jul 29 23:38:15 2007 +0200 [SCSI] st: Use mutex instead of semaphore The SCSI Tape driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 0c6a89ba640d28e1dcd7fd1a217d2cfb92ae4953 Author: FUJITA Tomonori Date: Sun Jul 29 23:00:46 2007 +0900 [SCSI] bsg: update sg_io_v4 structure This updates sg_io_v4 structure (based on Doug's RFC, release 1.3). The major changes are: - add dout_resid field - increase tag size to 64 bits to comply with SAM-4 and SRP - add dout_iovec_count and din_iovec_count dout_iovec_count and din_iovec_count aren't supported now. I'm not sure whether they will be supported or not but they were added for the possible future changes. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit db47c2d8d98a76083a88ec53f44cc74c48dfd1e8 Author: James Bottomley Date: Sat Jul 28 13:40:21 2007 -0400 [SCSI] mpt fusion: make logging a global sysfs parameter Wire up the mpt_debug_level module parameter so you can write to the /sys/module/mptbase/parameters/mpt_debug_level and have it take effect in every ioc. Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 15617ff66c777b008e170f9c5b0e8a9854937648 Author: James Bottomley Date: Sat Jul 28 11:07:36 2007 -0400 [SCSI] libsas: fix build dependencies on libata If you have the libsas with ATA support, it needs libata to function. The problem is that if you compile in libsas, you can't build libata as a module (however, vice versa you can). Signed-off-by: James Bottomley commit 8e9a8a0d56c5d9d87adbefbbc8c8728c529fd95a Author: Jeff Garzik Date: Tue Jul 17 05:25:17 2007 -0400 [SCSI] gdth: remove redundant PCI stuff This patch * removes struct members that duplicate pci_dev members * replaces ha->stype usage with ha->pdev->device usage where feasible Signed-off-by: Jeff Garzik Acked-by: Christoph Hellwig Acked-by: Achim Leubner Signed-off-by: James Bottomley commit 7603e02eac309626c0153ebddf277253ea7fe0e0 Author: FUJITA Tomonori Date: Mon Jul 23 09:28:40 2007 +0900 [SCSI] ibmvscsi: use shost_priv Signed-off-by: FUJITA Tomonori Acked-by: Brian King Signed-off-by: James Bottomley commit ed3a3633b798a15281f9c9a89a7e74d4bdd02ebe Author: FUJITA Tomonori Date: Mon Jul 23 09:28:39 2007 +0900 [SCSI] ibmvscsi: remove unnecessary map_sg check No need to check use_sg since sg_tablesize is set appropriately in the scsi host template. Brian King's patch (2a7309372fe56ae46c499b772d811ad31c501dd9) did this cleanup but the data buffer accessors patch (written before the patch and merged after it) restored the check. Signed-off-by: FUJITA Tomonori Acked-by: Brian King Signed-off-by: James Bottomley commit 7936a892e72498a05b9a7fb1fec6506d65c8e435 Author: FUJITA Tomonori Date: Sun Jul 29 16:46:28 2007 +0900 [SCSI] zfcp: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Swen Schillig Signed-off-by: James Bottomley commit 48b8d78315bf2aef4b6b4fb41c2c94e0b6600234 Author: Joakim Koskela Date: Thu Jul 26 00:08:42 2007 -0700 [XFRM]: State selection update to use inner addresses. This patch modifies the xfrm state selection logic to use the inner addresses where the outer have been (incorrectly) used. This is required for beet mode in general and interfamily setups in both tunnel and beet mode. Signed-off-by: Joakim Koskela Signed-off-by: Herbert Xu Signed-off-by: Diego Beltrami Signed-off-by: Miika Komu Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 196b003620f1ee8d0fc63f13f341187d63c1dc0a Author: Herbert Xu Date: Tue Jul 31 02:04:32 2007 -0700 [IPSEC]: Ensure that state inner family is set Similar to the issue we had with template families which specified the inner families of policies, we need to set the inner families of states as the main xfrm user Openswan leaves it as zero. af_key is unaffected because the inner family is set by it and not the KM. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b8ed601cefe7a4014b93560bd846caf44f25b1c1 Author: Ilpo Järvinen Date: Mon Jul 30 19:51:12 2007 -0700 [TCP]: Bidir flow must not disregard SACK blocks for lost marking It's possible that new SACK blocks that should trigger new LOST markings arrive with new data (which previously made is_dupack false). In addition, I think this fixes a case where we get a cumulative ACK with enough SACK blocks to trigger the fast recovery (is_dupack would be false there too). I'm not completely pleased with this solution because readability of the code is somewhat questionable as 'is_dupack' in SACK case is no longer about dupacks only but would mean something like 'lost_marker_work_todo' too... But because of Eifel stuff done in CA_Recovery, the FLAG_DATA_SACKED check cannot be placed to the if statement which seems attractive solution. Nevertheless, I didn't like adding another variable just for that either... :-) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1e757f9996114f713a79d3fbcd08739efcfc5c34 Author: Ilpo Järvinen Date: Mon Jul 30 19:48:37 2007 -0700 [TCP]: Fix ratehalving with bidirectional flows Actually, the ratehalving seems to work too well, as cwnd is reduced on every second ACK even though the packets in flight remains unchanged. Recoveries in a bidirectional flows suffer quite badly because of this, both NewReno and SACK are affected. After this patch, rate halving is performed for ACK only if packets in flight was supposedly changed too. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 143cf35324548df54563b19d0444e0fe170027f8 Author: James Chapman Date: Mon Jul 30 18:51:48 2007 -0700 [PPPOL2TP]: Add CONFIG_INET Kconfig dependency. PPPOL2TP uses UDP so it obviously depends on CONFIG_INET. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit a309bb072b96bfe43deb29becf15dc54d656601f Author: David S. Miller Date: Mon Jul 30 18:47:03 2007 -0700 [NET]: Page offsets and lengths need to be __u32. Based upon a report from Stephen Rothwell. Signed-off-by: David S. Miller commit 131116989b5c349f9b1ab9ee083d37cc73160ac8 Author: Adrian Bunk Date: Mon Jul 30 18:05:45 2007 -0700 [AF_UNIX]: Make code static. The following code can now become static: - struct unix_socket_table - unix_table_lock Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1a3a206f7f2aa50545cc3d056405ad7bc3c9bca8 Author: Adrian Bunk Date: Mon Jul 30 18:04:57 2007 -0700 [NETFILTER]: Make nf_ct_ipv6_skip_exthdr() static. nf_ct_ipv6_skip_exthdr() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit fea1ab0fcf117bc1e9c9285af6463d31d9cc0ac6 Author: Adrian Bunk Date: Mon Jul 30 18:04:09 2007 -0700 [PKTGEN]: make get_ipsec_sa() static and non-inline Non-static inline code usually doesn't makes sense. In this case making is static and non-inline is the correct solution. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 8aeca8fea5f2de2563e097829d62af30ca2de650 Author: Florian Zumbiehl Date: Mon Jul 30 17:49:13 2007 -0700 [PPPoE]: move lock_sock() in pppoe_sendmsg() to the right location and the last one for now: Acquire the sock lock in pppoe_sendmsg() before accessing the sock - and in particular avoid releasing the lock even though it hasn't been acquired. Signed-off-by: Florian Zumbiehl Signed-off-by: David S. Miller commit 86c1dcfc96a778433ebc6e9b1d3e80a126cb80f2 Author: Florian Zumbiehl Date: Mon Jul 30 17:48:23 2007 -0700 [PPPoX/E]: return ENOTTY on unknown ioctl requests here another patch for the PPPoX/E code that makes sure that ENOTTY is returned for unknown ioctl requests rather than 0 (and removes another unneeded initializer which I didn't bother creating a separate patch for). Signed-off-by: Florian Zumbiehl Signed-off-by: David S. Miller commit c61a7d10efbd187ab9bb54871238ebd1dfcacd44 Author: Dave Johnson Date: Mon Jul 30 17:19:31 2007 -0700 [IPV6]: ipv6_addr_type() doesn't know about RFC4193 addresses. ipv6_addr_type() doesn't check for 'Unique Local IPv6 Unicast Addresses' (RFC4193) and returns IPV6_ADDR_RESERVED for that range. SCTP uses this function and will fail bind() and connect() calls that use RFC4193 addresses, SCTP will also ignore inbound connections from RFC4193 addresses if listening on IPV6_ADDR_ANY. There may be other users of ipv6_addr_type() that could also have problems. Signed-off-by: Dave Johnson Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 0773192b0f8914222cd27e682c49f978a6c7860a Author: Peter P Waskiewicz Jr Date: Mon Jul 30 17:13:45 2007 -0700 [NET]: Fix prio_tune() handling of root qdisc. Fix the check in prio_tune() to see if sch->parent is TC_H_ROOT instead of sch->handle to load or reject the qdisc for multiqueue devices. Signed-off-by: Peter P Waskiewicz Jr Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit ffc8fefaf289fa485bc5c33e71572e6ce559d569 Author: Patrick McHardy Date: Mon Jul 30 17:11:50 2007 -0700 [NET]: Fix sch_api to properly set sch->parent on the root. Fix sch_api to correctly set sch->parent for both ingress and egress qdiscs in qdisc_create(). Signed-off-by: Patrick McHardy Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit bdba91ec70fb5ccbdeb1c7068319adc6ea9e1a7d Author: Patrick McHardy Date: Mon Jul 30 17:07:14 2007 -0700 [NET_SCHED]: Fix prio/ingress classification logic error Fix handling of empty or completely non-matching filter chains. In that case -1 is returned and tcf_result is uninitialized, the qdisc should fall back to default classification in that case. Noticed by PJ Waskiewicz . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 20283d84c7d922ca225b20db651d9a062716e8e3 Author: Herbert Xu Date: Mon Jul 30 17:05:49 2007 -0700 [IPV6]: Remove circular dependency on if_inet6.h net/if_inet6.h includes linux/ipv6.h which also tries to include net/if_inet6.h. Since the latter only needs it for forward declarations, we can fix this by adding the declarations. A number of files are implicitly including net/if_inet6.h through linux/ipv6.h. They also use net/ipv6.h so this patch includes net/if_inet6.h there. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b217d616a15fcfb3caf2a72c1a071c6d3f182f8d Author: Herbert Xu Date: Mon Jul 30 17:04:52 2007 -0700 [IPV4/IPV6]: Fail registration if inet device construction fails Now that netdev notifications can fail, we can use this to signal errors during registration for IPv4/IPv6. In particular, if we fail to allocate memory for the inet device, we can fail the netdev registration. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fcc5a03ac42564e9e255c1134dda47442289e466 Author: Herbert Xu Date: Mon Jul 30 17:03:38 2007 -0700 [NET]: Allow netdev REGISTER/CHANGENAME events to fail This patch adds code to allow errors to be passed up from event handlers of NETDEV_REGISTER and NETDEV_CHANGENAME. It also adds the notifier_from_errno/notifier_to_errnor helpers to pass the errno value up to the notifier caller. If an error is detected when a device is registered, it causes that operation to fail. A NETDEV_UNREGISTER will be sent to all event handlers. Similarly if NETDEV_CHANGENAME fails the original name is restored and a new NETDEV_CHANGENAME event is sent. As such all event handlers must be idempotent with respect to these events. When an event handler is registered NETDEV_REGISTER events are sent for all devices currently registered. Should any of them fail, we will send NETDEV_GOING_DOWN/NETDEV_DOWN/NETDEV_UNREGISTER events to that handler for the devices which have already been registered with it. The handler registration itself will fail. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit aeed9e82cd258b9699eaa6568efefba9cc6d5f01 Author: Herbert Xu Date: Mon Jul 30 16:37:19 2007 -0700 [NET] loopback: Panic if registration fails Because IPv4 and IPv6 both depend on the presence of the loopback device to function, failure in registration the loopback device should be fatal. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7f988eab57bd22884bbc452fb04c6c18738666b3 Author: Herbert Xu Date: Mon Jul 30 16:35:46 2007 -0700 [NET]: Take dev_base_lock when moving device name hash list entry When we added name-based hashing the dev_base_lock was designated as the lock to take when changing the name hash list. Unfortunately, because it was a preexisting lock that just happened to be taken in the right spots we neglected to take it in dev_change_name. The race can affect calles of __dev_get_by_name that do so without taking the RTNL. They may end up walking down the wrong hash chain and end up missing the device that they're looking for. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7ce1b0edcb11f90f6fc5e0ceecff467f329889a0 Author: Herbert Xu Date: Mon Jul 30 16:29:40 2007 -0700 [NET]: Call uninit if necessary in register_netdevice This patch makes register_netdevice call dev->uninit if the regsitration fails after dev->init has completed successfully. Very few drivers use the init/uninit calls but at least one (drivers/net/wan/sealevel.c) may leak without this change. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ccc7911fbd1c5af9b60453d3a8cca0a36402fee5 Author: Herbert Xu Date: Mon Jul 30 16:20:12 2007 -0700 [IPVS]: Use skb_forward_csum As a path that forwards packets, IPVS should be using skb_forward_csum instead of directly setting ip_summed to CHECKSUM_NONE. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 25a8b2545bfb2238f6f66da8032d768c6870c863 Author: David S. Miller Date: Mon Jul 30 16:11:48 2007 -0700 [PKTGEN]: Add missing KERN_* tags to printk()s. Signed-off-by: David S. Miller commit d83852822cb58f0beaa2d06b7c1e9e005e0c4f94 Author: Al Viro Date: Sun Jul 29 00:18:23 2007 -0700 [BLUETOOTH] l2cap: don't mangle cmd.len Since nobody uses it after we convert it to host-endian, no need to do that at all. At that point l2cap is endian-clean. Signed-off-by: Al Viro Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 88219a0f65ae14ba744fa424604c965b6f1c1a8d Author: Al Viro Date: Sun Jul 29 00:17:25 2007 -0700 [BLUETOOTH]: pass (host-endian) cmd length as explicit argument to l2cap_conf_req() Signed-off-by: Al Viro Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 8e036fc3143646dc304356fa50314681d654363f Author: Al Viro Date: Sun Jul 29 00:16:36 2007 -0700 [BLUETOOTH] l2cap: endianness annotations no code changes, just documenting existing types Signed-off-by: Al Viro Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 6dc0c2082b8acf30c9239fbbcc051eebdaf7ecff Author: Al Viro Date: Sun Jul 29 00:15:18 2007 -0700 [BLUETOOTH]: Fix endianness bug in l2cap_sock_listen() We loop through psm values, calling __l2cap_get_sock_by_addr(psm, ...) until we get NULL; then we set ->psm of our socket to htobs(psm). IOW, we find unused psm value and put it into our socket. So far, so good, but... __l2cap_get_sock_by_addr() compares its argument with ->psm of sockets. IOW, the entire thing works correctly only on little-endian. On big-endian we'll get "no socket with such psm" on the first iteration, since we won't find a socket with ->psm == 0x1001. We will happily conclude that 0x1001 is unused and slap htobs(0x1001) (i.e. 0x110) into ->psm of our socket. Of course, the next time around the same thing will repeat and we'll just get a fsckload of sockets with the same ->psm assigned. Fix: pass htobs(psm) to __l2cap_get_sock_by_addr() there. All other callers are already passing little-endian values and all places that store something in ->psm are storing little-endian. Signed-off-by: Al Viro Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 09c7d8293a2d1317d16ef4ddb9f6dd2553d0694e Author: Marcel Holtmann Date: Thu Jul 26 00:12:25 2007 -0700 [IRDA]: Fix rfcomm use-after-free Adrian Bunk wrote: > Commit 8de0a15483b357d0f0b821330ec84d1660cadc4e added the following > use-after-free in net/bluetooth/rfcomm/tty.c: > > <-- snip --> > > ... > static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc) > { > ... > if (IS_ERR(dev->tty_dev)) { > list_del(&dev->list); > kfree(dev); > return PTR_ERR(dev->tty_dev); > } > ... > > <-- snip --> > > Spotted by the Coverity checker. really good catch. I fully overlooked that one. The attached patch should fix it. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 566cfd8f0e049a0647f94714f913e2a975dc464f Author: Simon Arlott Date: Thu Jul 26 00:09:55 2007 -0700 [IPV6]: Don't update ADVMSS on routes where the MTU is not also updated The ADVMSS value was incorrectly updated for ALL routes when the MTU is updated because it's outside the effect of the if statement's condition. Signed-off-by: Simon Arlott Signed-off-by: David S. Miller commit 342ff7b24f42d01b27d884c699855c713d720fcb Author: Shannon Nelson Date: Thu Jul 26 00:05:53 2007 -0700 [NET_DMA]: remove unused dma_memcpy_to_kernel_iovec Al Viro pointed out that dma_memcpy_to_kernel_iovec() really was unreachable and thus unused. The code originally was there to support in-kernel dma needs, but since it remains unused, we'll pull it out. Signed-off-by: Shannon Nelson Signed-off-by: David S. Miller commit 94571065757a4f2619c48ab4e36cafdc635028ce Author: Florian Westphal Date: Thu Jul 26 00:05:07 2007 -0700 [TIPC]: fix tipc_link_create error handling if printbuf allocation or tipc_node_attach_link() fails, invalid references to the link are left in the associated node and bearer structures. Fix by allocating printbuf early and moving timer initialization and the addition of the new link to the b_ptr->links list after tipc_node_attach_link() succeeded. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 0ed72ec4afb9fbd584e03763707d3db0f62ee1be Author: Randy Dunlap Date: Thu Jul 26 00:03:29 2007 -0700 [NET]: kernel-doc fixes Fix kernel-doc omissions in net/: Warning(linux-2.6.23-rc1//net/core/dev.c:2728): No description found for parameter 'addr' Warning(linux-2.6.23-rc1//net/core/dev.c:2752): No description found for parameter 'addr' Warning(linux-2.6.23-rc1//net/core/dev.c:3839): No description found for parameter 'net_dma' Warning(linux-2.6.23-rc1//net/core/dev.c:3877): No description found for parameter 'state' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 113bbbd8d2da61b50417a1dd06d8e7c19047e54b Author: Stephen Hemminger Date: Wed Jul 25 23:50:28 2007 -0700 [TCP]: htcp - use measured rtt Change HTCP to use measured RTT rather than smooth RTT. Srtt is computed using the TCP receive timestamp options, so it is vulnerable to hostile receivers. To avoid any problems this might cause use the measured RTT instead. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e7d0c88586a66cf03e70750a8119d984fdedf2aa Author: Stephen Hemminger Date: Wed Jul 25 23:50:06 2007 -0700 [TCP]: cubic - eliminate use of receive time stamp Remove use of received timestamp option value from RTT calculation in Cubic. A hostile receiver may be returning a larger timestamp option than the original value. This would cause the sender to believe the malevolent receiver had a larger RTT and because Cubic tries to provide some RTT friendliness, the sender would then favor the liar. Instead, use the jiffie resolutionRTT value already computed and passed back after ack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 30cfd0baf0a0c4329fff1ef4b622919297969ec8 Author: Stephen Hemminger Date: Wed Jul 25 23:49:34 2007 -0700 [TCP]: congestion control API pass RTT in microseconds This patch changes the API for the callback that is done after an ACK is received. It solves a couple of issues: * Some congestion controls want higher resolution value of RTT (controlled by TCP_CONG_RTT_SAMPLE flag). These don't really want a ktime, but all compute a RTT in microseconds. * Other congestion control could use RTT at jiffies resolution. To keep API consistent the units should be the same for both cases, just the resolution should change. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit da4e9fea85ea42c9c6ce163a85d5164efbec31a2 Author: Mark Fortescue Date: Tue Jul 31 02:03:11 2007 -0700 [SPARC]: Fix exec failures on sun4c. This deals with a sun4c issue caused by commit b6a2fea39318e43fee84fa7b0b90d68bed92d2ba: mm: variable length argument support. The new way the code works means that sun4c_update_mmu_cache gets called before a context has been selected, which results in invalid operation of the underling mm code. Simply ignoring update requests when there is no valid context solves the problem. Signed-off-by Mark Fortescue Signed-off-by: David S. Miller commit 2fa3195d72f7d0cfb4dcb2b0dfa265ed0fa5cfa3 Author: Matthias Kaehlcke Date: Tue Jul 31 01:37:24 2007 -0700 [SPARC] Videopix Frame Grabber: Fix unreleased lock in vfc_debug() Videopix Frame Grabber: vfc_debug() doesn't release the device lock when copy_from_user() fails Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit e5071b5493b1dcfa98a6e8a75f56997f6d4a0c25 Author: Andrew Morton Date: Tue Jul 31 01:28:33 2007 -0700 [SPARC64]: Add missing dma_get_cache_alignment(). drivers/infiniband/hw/mthca/mthca_main.c: In function `mthca_init_icm': drivers/infiniband/hw/mthca/mthca_main.c:468: error: implicit declaration of function `dma_get_cache_alignment' Pinch the one from asm-generic/dma-mapping.h Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 75c46162be3d0025d448e0b738d6f8b51ff8a6e5 Author: Paul Mundt Date: Tue Jul 31 13:11:25 2007 +0900 sh64: Kill off virt_to_bus()/bus_to_virt(). Follows the SH change. Signed-off-by: Paul Mundt commit da9d5108f43d63f09b0328a4211f5f404ea05ab0 Author: Paul Mundt Date: Tue Jul 31 13:07:37 2007 +0900 sh64: Fix irq_intc build failure. Needs interrupt.h: CC arch/sh64/kernel/irq_intc.o arch/sh64/kernel/irq_intc.c: In function 'make_intc_irq': arch/sh64/kernel/irq_intc.c:179: error: implicit declaration of function 'disable_irq_nosync' make[1]: *** [arch/sh64/kernel/irq_intc.o] Error 1 Signed-off-by: Paul Mundt commit 78d98277e2bdad7213ca910950175ec6ada99513 Author: Paul Mundt Date: Tue Jul 31 13:03:02 2007 +0900 sh64: Fix fs.h removal from mm.h regressions. Signed-off-by: Paul Mundt commit e06c4e5775b1efc4e476f2430439e45867775f5f Author: Paul Mundt Date: Tue Jul 31 13:01:43 2007 +0900 sh: Fix fs.h removal from mm.h regressions. Signed-off-by: Paul Mundt commit 76fcdb30ae1cb28e438e5ffd4db5f49ea3d96cd7 Author: David S. Miller Date: Mon Jul 30 18:23:39 2007 -0700 [SUNLANCE]: Fix sparc32 crashes by using of_*() interfaces. This driver was still using the deprecated prom_*() interfaces to obtain values out of the OBP device tree, and this is causing some kinds of problems on sparc32 especially SMP boxes. Signed-off-by: David S. Miller commit 5cccf4a1a258ea5bff20e8440deb3dfcf032b04a Author: Hans de Goede Date: Thu Jul 19 15:57:20 2007 +0200 hwmon: fscher read control bugfix Here is a small fscher bugfix for 2.6.23 merging, lifted from my other fscher work, as requested by Jean. The current driver has a control sysfs attribute, which shows the contents of the control register, but the underlying global_control value in the data structure currently never gets filled with the actual contents of this register. Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 517ef0d2a470c69b303c66694b0c45f31ff716cd Author: Jean Delvare Date: Fri Jul 13 14:29:41 2007 +0200 hwmon: (adm1031) Fix broken links in documentation The Analog Devices chip information pages moved to a different location. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 4688902dab051eae24a57e4e549d119c332f7ab0 Author: Adrian Bunk Date: Sun Jul 29 16:57:01 2007 +0200 hwmon: make abituguru3_read_increment_offset() static abituguru3_read_increment_offset() can become static. Signed-off-by: Adrian Bunk Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit f5744e3775171b8deb2164577d3861968e33f72e Author: Guillaume Chazarain Date: Fri Jul 27 01:04:22 2007 +0200 hwmon: Fix regression caused by typo in lm90.c The commit http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=32c82a934759b2c9939c9e25865c2d7d1204b9e8 broke lm90 for my (Asus V6VA) laptop. Before 2.6.23-rc1 and with the following patch, I get: [g ~]$ sensors max6657-i2c-0-4c Adapter: SMBus I801 adapter at 0400 M/B Temp: +64°C (low = +0°C, high = +127°C) CPU Temp: +78.9°C (low = +73.2°C, high = +88.2°C) M/B Crit: +105°C (hyst = +95°C) CPU Crit: +105°C (hyst = +95°C) Which regressed into: [g ~]$ sensors No sensors found! Make sure you loaded all the kernel drivers you need. Try sensors-detect to find out which these are. zsh: 2701 exit 1 sensors and dmesg contains: i2c-adapter i2c-0: Unsupported chip (man_id=0x4D, chip_id=0x4D). It seems to be a typo, as address 0X4F is mentionned nowhere else in the file, and my chip is actually at 0x4C. Signed-off-by: Guillaume Chazarain Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 1bed24b9785f7f5255c120f194e98343b998f6ce Author: Martin Szulecki Date: Mon Jul 9 11:41:36 2007 -0700 hwmon: (applesmc) add temperature sensors set for Macbook Signed-off-by: Nicolas Boichat Acked-by: Jean Delvare Cc: Martin Szulecki Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Mark M. Hoffman commit 794f5434942614e5e8f70b9d65b9275e11ad1510 Author: Hans de Goede Date: Sun Jul 22 20:15:31 2007 +0200 hwmon: fscher control update bugfix Here is another small fscher bugfix for 2.6.23 merging, this was caught by Jean while reviewing my other bugfix. The driver was updating its copy of the control register as if it was clear to write, but its regular read/write. This patch fixes this. Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit c0f31403fe87cd2813dabb9b33107ceb56b84667 Author: Juerg Haefliger Date: Fri Jul 20 14:16:47 2007 -0700 hwmon: fix dme1737 temp fault attribute Fix temp?_fault attribute. The temp was incorrectly compared against 0x0800 rather than 0x8000. Only the upper 8 bits are compared as the datasheet doesn't specify what happens to the lower bits in case of a diode fault. Signed-off-by: Juerg Haefliger Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit d0546128980c18748010c758903b02909e634830 Author: Jean Delvare Date: Sun Jul 22 12:09:48 2007 +0200 hwmon: Add missing __devexit tags in various drivers On Sun, 22 Jul 2007 00:30:56 +0200, Gabriel C wrote: > I noticed this warnings on current git: > > drivers/hwmon/pc87360.c:1082: warning: 'pc87360_remove' defined but not used > drivers/hwmon/sis5595.c:580: warning: 'sis5595_remove' defined but not used > drivers/hwmon/smsc47m1.c:608: warning: 'smsc47m1_remove' defined but not used > drivers/hwmon/via686a.c:648: warning: 'via686a_remove' defined but not used > drivers/hwmon/vt8231.c:755: warning: 'vt8231_remove' defined but not used Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 2977110192cdd90d7ffeb12a83eb5e8bdf0cb1c5 Author: Jesper Juhl Date: Sat Jul 21 17:02:01 2007 +0200 hwmon: clean up duplicate includes This patch cleans up duplicate includes in drivers/hwmon/ Signed-off-by: Jesper Juhl Signed-off-by: Mark M. Hoffman commit acf346a311588e4cb659c183b9e312fa313dbb7f Author: Hans de Goede Date: Tue Jul 24 23:36:00 2007 +0200 hwmon: fix lm78 detection regression Here is a small but important bugfix to the lm78 driver. I found out about this problem because a Fedora user filed a bug that the lm78 driver no longer worked on his system: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=249428 The problem is that sometime ago the isa lm78 detection was made more stringent and this new code now checks the chip-id, but does not accept a chip-id of 20h, however a chip-id of 20h is valid, and is excepted in the main probe function of the driver, see line 551. This fixed also makes the isa detection code accept the chip-id of 0x20 fixing this issue. Signed-off-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit f08a34874f93d5081c735ffcb2f9071be9b5d270 Author: Hans-Jürgen Koch Date: Mon Jul 23 09:36:57 2007 +0200 hwmon: fix array overruns in lm93.c This fixes an array overflow bug. We have 4 pairs of min/max temperature limits, not 3. Signed-off-by: Hans J. Koch Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit add77c64ca8b00dae5dc0a6be9eb89f1514d21ea Author: Krzysztof Helt Date: Sun Jul 8 22:43:00 2007 +0200 hwmon: add support for THMC50 and ADM1022 This patch adds support for THMC50 and ADM1022 hardware monitoring chips. Signed-off-by: Krzysztof Helt Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 216fcd29af47ab53ffd87e82139fcc4095e34d91 Author: Kenji Kaneshige Date: Mon Jul 30 11:56:30 2007 +0900 [IA64] Fix possible race in destroy_and_reserve_irq() Currently, destroy_and_reserve_irq() sets irq_status[irq] UNUSED using clear_irq_vector() and sets irq_status[irq] RSVD using reserve_irq(). But there is a race window because vector_lock is once released between them. This patch fixes this race window. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit c4c376f7e16deeba8f0542eabcaca19b712e7be1 Author: Kenji Kaneshige Date: Mon Jul 30 11:54:41 2007 +0900 [IA64] Fix registered interrupt check Fix the problem that interrupts are not initialized correctly at PCI hotplug or driver reloading time. By vector domain change, the iosapic_rte_info structure was changed to be on the iosapic_intr_info[irq].rtes list even after the interrupts are unregistered. So iosapic_intr_info[irq].rtes list must not be checked to see if there are registered interrupts (RTEs) on the irq. We must check iosapic_intr_info[irq].count counter instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 1b30859b8d42b3161954a81da7f96055a4617220 Author: Jesper Juhl Date: Mon Jul 30 00:28:42 2007 +0200 [IA64] Remove a few duplicate includes This patch removes a few duplicate includes from arch/ia64/ Acked-by: Jes Sorensen Signed-off-by: Jesper Juhl Signed-off-by: Tony Luck commit 8a2d8693054a6cd86cc959576322b30e66e31208 Author: Avi Kivity Date: Thu Jul 19 18:32:43 2007 +0300 [IA64] Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. i386 and x86_64 already received a similar treatment. Signed-off-by: Avi Kivity Signed-off-by: Tony Luck commit 056e6d89aab51babaa5f75c16832b19c55a68bc4 Author: Sam Ravnborg Date: Mon Jul 30 22:50:13 2007 +0200 [IA64] fix a few section mismatch warnings Fix the following section mismatch warnings: WARNING: vmlinux.o(.text+0x41902): Section mismatch: reference to .init.text:__alloc_bootmem (between 'ia64_mca_cpu_init' and 'ia64_do_tlb_purge') WARNING: vmlinux.o(.text+0x49222): Section mismatch: reference to .init.text:__alloc_bootmem (between 'register_intr' and 'iosapic_register_intr') WARNING: vmlinux.o(.text+0x62beb2): Section mismatch: reference to .init.text:__alloc_bootmem_node (between 'hubdev_init_node' and 'cnodeid_get_geoid') Signed-off-by: Sam Ravnborg Signed-off-by: Tony Luck commit 74c5b597e9c2fc728c61582afdea4971a5c8ed8f Author: Greg Kroah-Hartman Date: Mon Jul 30 11:26:38 2007 -0700 modules: better error messages when modules fail to load due to a sysfs problem. This helps people when debugging problems like the ones that were in the recent -mm releases. Signed-off-by: Greg Kroah-Hartman commit f285ea058001ef534f9e53a21aad42c2952bbad5 Author: Cornelia Huck Date: Fri Jul 27 13:41:10 2007 +0200 kobject: update documentation Update kobject documentation: - Update structure definitions. - Remove documentation of removed struct subsystem. (First shot, uevent_ops probably need some documentation as well.) Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit a56156489dbdc60ac39a77b8a988d375b2f273a0 Author: Randy Dunlap Date: Fri Jul 27 09:36:26 2007 -0700 kset: kernel-doc cleanups Removed kernel-doc marker (/**) from struct kset -- each struct member still needs annotation. Corrected one parameter name so that kernel-doc matches the macro. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 27907689eedd799a6a0c1a2f18a3563c6e9e9767 Author: Cornelia Huck Date: Wed Jul 25 09:58:08 2007 +0200 driver core: revert "device" link creation check driver core: revert "device" link creation check Commit 2ee97caf0a6602f749ddbfdb1449e383e1212707 introduced an extra check on when to create the "device" symlink. Unfortunately, this breaks input, so let's revert to the old behaviour. Signed-off-by: Cornelia Huck Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a2765e81d8a58f66e21176ca2a8fd6012b187994 Author: Juan Lang Date: Tue Jul 24 13:24:19 2007 -0700 stable_api_nonsense.txt: Disambiguate the use of "this" by using "that" to refer to the syscall interface Signed-off-by: Greg Kroah-Hartman commit 30b1b28001fef09ea31b1c87e8e8acb962d109e2 Author: Randy Dunlap Date: Mon Jul 23 21:05:02 2007 -0700 Fix Doc/sysfs-rules typos Fix typos only (spelling, grammar, duplicate words, etc.). Signed-off-by: Randy Dunlap Cc: Kay Sievers commit 42e61f4adbf18c7b0218b91d32fd6ee1f978d82c Author: Randy Dunlap Date: Mon Jul 23 21:42:11 2007 -0700 kernel-doc fixes for PCI and drivers/base/ Fix undocumented function parameters in PCI and drivers/base. Warning(linux-2.6.23-rc1//drivers/pci/pci.c:1526): No description found for parameter 'rq' Warning(linux-2.6.23-rc1//drivers/base/firmware_class.c:245): No description found for parameter 'bin_attr' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit ff2ee8cf30199bb625706a43d9cc3bd1ff5ebe42 Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 kobject: put kobject_actions in kobject.h This prevents the extern declaration in the driver core. Cc: Kay Sievers Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit cd030c4cb3ee0cd4f0589a5f723d358cca1f7a9a Author: Cornelia Huck Date: Fri Jul 20 13:58:13 2007 +0200 kobject: fix link error when CONFIG_HOTPLUG is disabled Leaving kobject_actions[] in kobject_uevent.c, but putting it outside the #ifdef looks indeed like the best solution to me. This way, we avoid adding #ifdef CONFIG_HOTPLUG into core.c, when all other functions called do not need such a thing. Signed-off-by: Cornelia Huck Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 8b43626f0cdfb3154c57d52e732679c9d3484369 Author: Tsugikazu Shibata Date: Thu Jul 19 11:24:54 2007 +0900 HOWTO: sync Japanese HOWTO Signed-off-by: Tsugikazu Shibata Signed-off-by: Greg Kroah-Hartman commit 6e3eb0993837fb4a597b88a7e28ce3847cb5777c Author: IKEDA, Munehiro Date: Thu Jul 19 11:36:56 2007 +0900 HOWTO: adjust translation header of Japanese stable_api_nonsense.txt Signed-off-by: IKEDA, Munehiro Signed-off-by: Greg Kroah-Hartman commit a9475226977917afd5a85621f8a3d7f380a9da31 Author: David Brownell Date: Mon Jul 30 12:31:07 2007 -0700 USB: "sparse" cleanups for usb gadgets This removes complaints about the gadget stack which are generated by the currrent "sparse": it doesn't like the fact that zero is the null pointer. (Last I checked, C guarantees that's correct ...) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit bc71e479cdb2caab9b4473f7ad508c3fcb142486 Author: Adam Kropelin Date: Sun Jul 29 11:03:29 2007 -0400 usb-serial: Fix edgeport regression on non-EPiC devices Fix serious regression on non-EPiC edgeport usb-serial devices. Baud rate and MCR/LCR registers are not being written on these models due to apparent copy-n-paste errors introduced with EPiC support. Failure reported by Nick Pasich . Signed-off-by: Adam Kropelin Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1060bce7b74c8914999a067803ec659949ff682e Author: David Brownell Date: Sat Jul 21 11:43:35 2007 -0700 USB: more pxa2xx_udc dead code removal Remove some more dead code from the pxa2xx_udc driver: support for a no-longer-undocumented hardware "test mode". Newer chips made this the default, evidently as the best workaround for deep silicon bugs. The interest was that this seemed to be the only way to kick in the (documented!) double buffering capability. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4f47bb567368f732989058e26dc282f7fe931dab Author: Milinevsky Dmitry Date: Fri Jul 20 16:58:53 2007 -0700 USB: NIKON D50 is an unusual device This short patch allows NIKON D50 to be mounted as UMS[unusual device] on Linux niam 2.6.22-rc7-cfs-v18 #2 PREEMPT Tue Jul 3 22:35:53 EEST 2007 i686 Intel(R) Celeron(R) M processor 1.50GHz GenuineIntel GNU/Linux, some previous kernels... lsusb -v Bus 001 Device 006: ID 04b0:0409 Nikon Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x04b0 Nikon Corp. idProduct 0x0409 bcdDevice 1.00 iManufacturer 1 NIKON iProduct 2 NIKON DSC D50 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 2mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered Signed-off-by: Milinevsky Dmitry Cc: Oliver Neukum Cc: Alan Stern Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 82a24e688585752f08fdae7209075b215215a673 Author: Adrian Bunk Date: Sun Jul 29 16:59:02 2007 +0200 USB: drivers/usb/serial/sierra.c: make 3 functions static This patch makes three needlessly global functions static. Signed-off-by: Adrian Bunk Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 3ddad8232c3802f7a602d1ea24938a8067114479 Author: Oliver Neukum Date: Tue Jul 24 15:13:42 2007 +0200 USB: fix BUG: sleeping function called from invalid context at /home/jeremy/hg/xen/paravirt/linux/drivers/usb/core/urb.c:524, in_atomic():1, irqs_disabled():0 Clearly there's a bug in drivers/usb/serial/usb-serial.c:usb_serial_put(). It shouldn't call kref_put() while holding a spinlock. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit f42449003114cc17cda0458c14f2deadfadf9f63 Author: Alan Cox Date: Thu Jul 26 19:01:10 2007 +0100 USB: mct_u232: Convert to proper speed handling API Signed-off-by: Alan Cox Acked-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit c6d61269f530e3f7da6bad32e8b42ab7993a5927 Author: Alan Cox Date: Thu Jul 26 18:57:52 2007 +0100 digi_acceleport: Drag the driver kicking and screaming into coding style - The outbreak of acute bracketitus has been cured - The belief that brackets should have spaces everywhere likewise - Various other coding style tweaks - Use baud rates not Bfoo in the speed setup switch Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 01e96d282a062f09923fea33e1039719925d09b8 Author: Alan Cox Date: Thu Jul 26 18:54:12 2007 +0100 cp2101: Remove broken termios optimisation, use proper speed API I've also enabled the commented out support for 7200, 14400, 55854, 127117 and 3686400 baud as you can now set such rates in the kernel. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 67f5dde3d4961032aeeecaf0d1c7a9232bef3f44 Author: Alan Stern Date: Tue Jul 24 18:23:23 2007 -0400 USB: Fix a bug in usb_start_wait_urb This patch (as941) fixes a bug recently added to the USB synchronous API. The status of a completed URB must be preserved separately across a completion callback. Also, the actual_length value isn't available until after the URB has fully completed. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a12b8db02035673153bbf19bb3641a08bed9e4b8 Author: David Brownell Date: Sun Jul 22 15:13:13 2007 -0700 USB: fix scatterlist PIO case (IOMMU) Update the scatterlist logic so that PIO options are also disabled when an IOMMU may have coalesced pages during dma_map_sg() ... it's not just HIGHMEM that can make trouble supporting both PIO and DMA based host controller drivers. There also seems to be a cross-arch issue here, with 64bit powerpc not using an IOMMU define ... and its IOMMU_VMERGE config can always be overridden on the kernel command line. So this is better, but still imperfect. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e31c18804f584dd838a752f6628e8c15bd7a3372 Author: Oliver Neukum Date: Mon Jul 23 08:58:39 2007 +0200 USB: fix usb_serial_suspend(): buggy code Am Montag 23 Juli 2007 schrieb Adrian Bunk: > Commit ec22559e0b7a05283a3413bda5d177e42c950e23 added the following > function to drivers/usb/serial/usb-serial.c: > [..] > > The Coverity checker spotted the inconsequent NULL checking for "serial". > > Looking at the code it also doesn't seem to have been intended to always > return 0. Coverity is right. The check for NULL is wrongly done and the error return is lost. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 209b3cfd538e7d56d228cf6daf0b27e2cc26c6c2 Author: Oliver Neukum Date: Mon Jul 30 12:09:59 2007 +0200 USB: yet another quirky device another quirky scanner. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit d2298136f17f8fa9fd381d3b688d36e7dbbf0284 Author: Johann Felix Soden Date: Sat Jul 28 17:10:33 2007 +0200 USB: Add CanonScan LiDE30 to the quirk list This patch adds CanoScan N1240U/LiDE30 (Scanner) to the list of quirky USB devices. Signed-off-by: Johann Felix Soden Signed-off-by: Greg Kroah-Hartman commit 81ac0dd1914bab227bfdb05baa2362597e39a48c Author: Oliver Neukum Date: Fri Jul 20 11:34:53 2007 +0200 USB: even more quirks The number of quirky devices seems to be large. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 3f423787ec87bbe601cb3242d6065616098c6cfb Author: Randy Dunlap Date: Thu Jul 19 10:21:37 2007 -0700 USB: usb.h kernel-doc additions Add kernel-doc entries in for: Warning(linux-2.6.22-git12//include/linux/usb.h:162): No description found for parameter 'intf_assoc' Warning(linux-2.6.22-git12//include/linux/usb.h:268): No description found for parameter 'intf_assoc[USB_MAXIADS]' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit fb745354f3b1e79e5c24de0de680b31b835bbfaf Author: Oliver Neukum Date: Thu Jul 19 13:00:15 2007 +0200 USB: more quirky devices our list of devices which cannot be suspended keeps growing. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit c17b49ec31fea27c1dad8a224f5aaa1897519e37 Author: Jeremy Katz Date: Thu Jul 19 09:37:42 2007 -0400 USB: Don't let usb-storage steal Blackberry Pearl The Blackberry Pearl can run in two modes; a usb-storage only mode and a mode that allows access via mass storage and to its database. The berry_charge module will set the device to dual mode and thus we should ignore its native mode if that module is built Signed-off-by: Jeremy Katz Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 1aebb781e339b04c64e140860447f2a66c08417f Author: Juergen Beisert Date: Thu Jul 19 17:02:59 2007 +0200 USB: devices misc: Trivial patch to build the IOWARRIOR when it is selected in Kconfig Trivial patch to build the IOWARRIOR when it is selected in Kconfig. Signed-off-by: Juergen Beisert Signed-off-by: Greg Kroah-Hartman commit 78d1e02fac0595a8aa8a5064d1bd0c0ea55b22b0 Author: Dave Olson Date: Fri Jul 20 14:41:26 2007 -0700 IB/ipath: Workaround problem of errormask register being overwritten On some system hardware, we are seeing moderately common cases of the chip errormask register being overwritten due to a chip bug in iba6120 that is triggered by a vendor-specific PCIe broadcast message. This patch merely checks periodically, and corrects it if needed (the overwrite can cause us to not get error and hardware error interrupts). Also, make dd->ipath_errormask the one, true canonical source for kr_errormask, and remove references to ipath_ignorederrs as it is currently unused. Signed-off-by: Dave Olson Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 3810f2a84e994e295e181eb9bd4b8007f611b5eb Author: Dave Olson Date: Fri Jul 20 14:23:37 2007 -0700 IB/ipath: Fix some issues with buffer cancel and sendctrl register update There was confused use of INFINIPATH_S_PIOBUFAVAILUPD (value) and IPATH_S_PIOBUFAVAILUPD (bit position). Also, some callers of ipath_cancel_sends() need kr_sendctrl restored, and some want to do it later. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit cf5b60aa4098a1ba169a8f69eb576ac02194bea6 Author: Dave Olson Date: Fri Jul 20 13:34:02 2007 -0700 IB/ipath: Use faster put_tid_2 routine after initialization At one time the ipath_minrev field was initialized prior to the ipath_init_iba6120_funcs call, but that is no longer the case, so the slower put_tid routine was always being used. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit f17fddc9e266281bbb4d384b031e1521e1f2510e Author: Dave Olson Date: Fri Jul 20 12:50:55 2007 -0700 IB/ipath: Remove unsafe fastrcvint code from interrupt handler The fastrcvint code's purpose was to avoid reading the interrupt status if kernel packets were in the receive queue (to reduce overhead). Because intstatus was not read, we could miss the error interrupt bit indicating freeze mode, since it only delivers a single interrupt, even if still pending after intclear is written. This patch removes that unsafe optimization. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit c196d80f994ef4ffefd5a7c62e3f42bd75d538bc Author: Micah Gruber Date: Tue Jul 24 10:44:56 2007 +0800 Fix a potential NULL pointer dereference in mace_interrupt() in drivers/net/pcmcia/nmclan_cs.c This patch fixes a potential null dereference bug where we dereference DEV before a null check. This patch simply moves the dereferencing after the null check. Signed-off-by: Micah Gruber Signed-off-by: Jeff Garzik commit 85e27831941e0d907be8e244202a293d74730e12 Author: Komuro Date: Mon Jul 23 21:36:06 2007 +0900 PATCH kernel 2.6.22] PCMCIA-NETDEV : modify smc91c92_cs.c to become SMP safe protect smc_start_xmit, smc_interrupt and media_check by spin_lock. Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 573608e4cde2aa3b76120685fba945d889b2ba57 Author: Ramkrishna Vepa Date: Wed Jul 25 19:43:12 2007 -0700 S2io: Increment received packet count correctly - Fix to increment the received packet count correctly. (Resending; Removed HTML sections in the patch) Signed-off-by: Santosh Rastapur Signed-off-by: Jeff Garzik commit 0a65a65d7ad6e2e647bc59844eb92829b0384b7d Author: Ramkrishna Vepa Date: Wed Jul 25 19:40:33 2007 -0700 S2io: Fix crash when resetting adapter - Removed the call to pci_set_power_state to reset the adapter as it was resulting in system crash on some platforms. (Resending; Removed HTML sections in the patch) Signed-off-by: Santosh Rastapur Signed-off-by: Jeff Garzik commit 5b952a09140d1a9f432ae272a96727cb2b2bbcd8 Author: Ramkrishna Vepa Date: Wed Jul 25 19:35:09 2007 -0700 S2io: Mask spurious interrupts - Mask single and double bit ETQ ecc errors to inhibit spurious interrupts. (Resending; Removed HTML sections in the patch) Signed-off-by: Santosh Rastapur Signed-off-by: Jeff Garzik commit b6627672a8d130014bfcf93bdf98253498633798 Author: Veena Parat Date: Mon Jul 23 02:39:43 2007 -0400 S2IO: Implementing review comments from old patches - Incorporated Jeff Garzik's comments on coding standards Signed-off-by: Veena Parat Signed-off-by: Jeff Garzik commit 491abf2537a01bef52bffc67001f59cce1fd0047 Author: Veena Parat Date: Mon Jul 23 02:37:14 2007 -0400 S2IO: Checking for the return value of pci map function - Checking for the return value of pci map function - Implemented Francois Romieu's comments on eliminating code duplication using goto - Implemented Francois Romieu's comments on using a temporary variable for accessing statistics structure Signed-off-by: Veena Parat Signed-off-by: Jeff Garzik commit eccb8628ab97f5b43e04425e983db1495fc0ef32 Author: Veena Parat Date: Mon Jul 23 02:23:54 2007 -0400 S2IO: Removing MSI support from driver - Removed MSI support from driver - unused feature - Replaced request_mem_region with pci_request_regions Signed-off-by: Veena Parat Signed-off-by: Jeff Garzik commit 6d517a27d5b376c769f48213044b658042b5f07a Author: Veena Parat Date: Mon Jul 23 02:20:51 2007 -0400 S2IO: Removing 3 buffer mode support from the driver - Removed 3 buffer mode support from driver - unused feature - Incorporated Jeff Garzik's comments on elimination of inline typecasting - Code cleanup : Removed a few extra spaces Signed-off-by: Veena Parat Signed-off-by: Jeff Garzik commit 2c6a3f72688acbc640b3be8083dac0e90354f0cf Author: Dhananjay Phadke Date: Fri Jul 27 23:12:11 2007 +0530 netxen: drop redudant spinlock Some leftover code that makes use of adapter->lock in tx_timeout function, which resets the interface under this lock. In close() when the workqueue is flushed, prints the warning about sleeping with interrupts disabled (when spinlock debug is enabled). The lock was required with private netxen IOCTLs, which were removed a while ago. Signed-off-by: Jeff Garzik commit e01872af1d05cf4327c8e519b14e368b72921ccf Author: dhananjay@netxen.com Date: Wed Jul 25 20:13:12 2007 +0530 netxen: Fix interrupt handling for multiport adapters This patch fixes masking of interrupts on multiport adapters. Also disables interrupts upon ifdown interface. The wrong mask could result in interrupt flood after interface is down. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 7eec517c444fad699d3fc66d110440edee1fb0ed Author: dhananjay@netxen.com Date: Wed Jul 25 20:13:11 2007 +0530 netxen: re-init station address after h/w init This is a workaround for firmware bug with 2nd port of multiport adapter, where MAC address is reset. Driver just needs to overwrite it with the value read from PROM. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 49afc59ca6aa41e55cffdef39f94c774bce55bd8 Author: Valerie Henson Date: Mon Jul 30 13:10:52 2007 -0600 tulip: Remove tulip maintainer Remove Val Henson as tulip maintainer and let her roam free, FREE! Signed-off-by: Val Henson Signed-off-by: Jeff Garzik commit ef756b3e56c68a4d76d9d7b9a73fa8f4f739180f Author: Ayaz Abdulla Date: Thu Jul 26 23:46:00 2007 -0400 forcedeth: mac address correct In older chipsets, the mac address was stored in reversed order. However, in newer chipsets, the mac address is in correct order. This patch takes those newer chipsets into account and does not rely on a special bit setup by BIOS'. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit b9daf6c0ff7a0bc9560ed40d560d028ec5d98771 Author: Kumar Gala Date: Thu Jul 26 00:52:34 2007 -0500 gfar: Fix modpost warning Fix the following modpost warning: WARNING: vmlinux.o(.init.text+0x1aa6c): Section mismatch: reference to .exit.text:gfar_mdio_exit (between 'gfar_init' and 'gfar_mdio_init') Signed-off-by: Kumar Gala Signed-off-by: Jeff Garzik commit 55b7b629b78cf82389baf604efcdd2b83b998ca7 Author: Jarek Poplawski Date: Thu Jul 26 14:44:01 2007 +0200 lib8390: comment on locking by Alan Cox Additional explanation of problems with locking by Alan Cox. Signed-off-by: Jarek Poplawski Cc: Alan Cox Cc: Paul Gortmaker Cc: Jeff Garzik Signed-off-by: Jeff Garzik commit 9351982b25ace7ee5ed82b6f4a7ea1151f31d267 Author: Micah Gruber Date: Mon Jul 23 16:05:52 2007 +0800 Fix a potential NULL pointer dereference in write_bulk_callback() in drivers/net/usb/pegasus.c This patch fixes a potential null dereference bug where we dereference pegasus before a null check. This patch simply moves the dereferencing after the null check. Signed-off-by: Micah Gruber Signed-off-by: Jeff Garzik commit 0a0f2c87cd689857f2b0b82c5322650f7d9b5923 Author: Adrian Bunk Date: Sun Jul 29 12:40:48 2007 -0300 V4L/DVB (5939): dvb-pll: make struct dvb_pll_fcv1236d static The fcv1236d support patch was created before the "dvb: remove static dependencies on dvb-pll" patch was applied, but the fcv1236d patch didn't get merged until after the fact. struct dvb_pll_fcv1236d can become static. Signed-off-by: Adrian Bunk Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4bc4365291bc27798d760c87f3aada39d9a74f43 Author: Adrian Bunk Date: Fri Jul 27 11:09:57 2007 -0300 V4L/DVB (5933): Dvb-usb/af9005-fe.c: error check fixes This patch: - adds a missing error check and - removes an error check that could never be true Both spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: Luca Olivetti Signed-off-by: Mauro Carvalho Chehab commit 639ffd2d9038d34725b752147a0f1a8536146851 Author: Luca Olivetti Date: Fri Jul 27 10:27:47 2007 -0300 V4L/DVB (5932): Af9005 fix tuner module unload This patch removes the useless tuner field and avoids a double free of the tuner (either mt2060 or qt1010). Signed-off-by: Luca Olivetti Signed-off-by: Mauro Carvalho Chehab commit be9a5c7d9a04349c137610c72e3a74a5352dccf5 Author: Hans Verkuil Date: Sun Jul 22 11:12:26 2007 -0300 V4L/DVB (5920): ivtv: fix incorrect fw size report. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5a338c38ced1569a2e67e3c163505cc95429d508 Author: Hans Verkuil Date: Sun Jul 22 09:39:56 2007 -0300 V4L/DVB (5918): ivtv: fix TV-out VBI handling, only reset on last close. While decoding (MPEG or YUV) is active or when VBI output is in use, then do not clear the VBI output of the saa7127. Only after the last user is gone can we clear it. This fixes the case where playback was stopped, another channel was chosen and playback was restarted, while /dev/vbi16 was used to set the WSS (widescreen) setting. Without this fix the WSS was reset on every stop instead of just keeping the last value. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0b3e29e6d75cbfb8417f449555d40921fd656186 Author: Hans Verkuil Date: Sun Jul 22 08:49:32 2007 -0300 V4L/DVB (5917): ivtv: improve mailbox responsiveness. First try polling for the result of a mailbox command, then switch to a test/sleep loop. Also reduce the sleep time from 10 ms to 1 ms. Improves the responsiveness of the mailbox handling. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ac4251445d7302697814351f1d9f548f5aa49342 Author: Hans Verkuil Date: Sun Jul 22 08:46:38 2007 -0300 V4L/DVB (5916): ivtv: fix pause/continue/play handling Pausing a decoder followed by a Play command would do nothing. Fixed. Pausing a decoder running at non-standard speed following by a Continue would reset the speed to 100%. Fixed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bc147135bc410bdd9da684646af75a188d882d56 Author: Trent Piepho Date: Mon Jul 23 06:58:31 2007 -0300 V4L/DVB (5900): usbvision: fix bugs [sg]_register functions s_register was assigning the return code to (unsigned)reg->val, rather than errCode, which it what it would return. Except reg->val can't be < 0, so it would never actually return an error. g_register never actually put the value it read into reg->val. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit cf784d554fdb94f21671830135dba56b507126cf Author: Trent Piepho Date: Sat Jul 21 21:26:40 2007 -0300 V4L/DVB (5899): bttv: Fix Viewcast Osprey 440 support Various gpio and mux settings for the Osprey 440 weren't correct. Fix them and provide some documentation about how the gpios work. The osprey eeprom routine wasn't run for the 440, add it. It was also crap, re-written to be better. Add the Osprey 440 to the Bt878 ALSA driver's whitelist. Currently the sample rate is fixed at 32kHz, as the driver doesn't support different rates for digital input mode, though the card can select the rate from 32, 44.1, or 48 kHz via gpio. Setting the audio gain via ALSA isn't supported yet; a userspace tool that programs the X9221 via i2c-dev must be used. The Bt878 digital audio format isn't programmed correctly for the CS5331A ADC used, resulting in extremely garbled sound. That is fixed in a followup patch. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 89f50bf63778018708e29ca0a874c72cb81f77f9 Author: Anssi Hannula Date: Fri Jul 20 17:18:10 2007 -0300 V4L/DVB (5893): DVB: fix includes of video.h when __KERNEL__ is undefined linux/dvb/video.h uses types __u32, __s32, etc., but does not include any header defining those when __KERNEL__ is not defined. Fix this by including asm/types.h when __KERNEL__ is not defined. Signed-off-by: Anssi Hannula Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9896bbc1972e3a0595f06c23692a20150a789308 Author: Trent Piepho Date: Tue Jul 17 18:29:45 2007 -0300 V4L/DVB (5891): zr36067: Turn off raw capture properly When raw capture was turned off, the current capturing frame (v4l_grab_frame) wasn't reset to NO_GRAB_ACTIVE. If capture was turned back on, the driver would think this frame was currently being captured, and wait for it to complete before starting a new frame. The hardware on the other hand would not be actively capturing a frame. The result was the driver would wait forever for v4l_grab_frame to be captured. Some calls to zr36057_set_memgrab(0) were missing spin-locks, which have been added. Signed-off-by: Trent Piepho Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit 603d6f2c8f9f3604f9c6c1f8903efc2df30a000f Author: Trent Piepho Date: Tue Jul 17 18:29:44 2007 -0300 V4L/DVB (5890): zr36067: Add UYVY, RGB555X, RGB565X, and RGB32 formats Add support for the UYVY and the other big endian output formats. The driver was naming formats based on the host endianess. This is different that all the other drivers appear to work and not what software appears to expect. Use ARRAY_SIZE() to find the the size of the zoran_formats array. Change the way the driver handles setting the video format register. Rather than use some if and switch statements to set to register by looking at the format id, the format list simply has a field with the proper bits to set. Adds a bit of ifdef to make a driver without V4L1 support more possible. Also create a macro for defining formats that handles vl41 and/or vl42 support to avoid repeated ifdefs in the format list. Signed-off-by: Trent Piepho Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit bb2e033913f14b2f9f6745e206c3ea5df481b4fd Author: Trent Piepho Date: Tue Jul 17 18:29:43 2007 -0300 V4L/DVB (5888): zr36067: Driver was not returning correct image size The driver was returning the size of the (fixed) buffer it allocated as the sizeimage field in the v4l2 pixel format, rather than the actual size of the image. For example, a 192x128 YUYV image is 49152 bytes but the driver would always return 131072 bytes since if that was the size of the v4l buffer. This violates the v4l2 spec, which says that sizeimage should be the actual size of the image for uncompressed formats. It also caused mplayer to crash. Signed-off-by: Trent Piepho Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit e42af83f4874ebb2c6af59a05dbe5d45114fb0ed Author: Trent Piepho Date: Tue Jul 17 18:29:43 2007 -0300 V4L/DVB (5887): zr36067: Fix poll() operation During uncompressed capture, the poll() function was looking the wrong frame. It was using the frame the driver was going to capture into next (pend_tail), when it should have been looking at the next frame to be de-queued with DQBUF/SYNC (sync_tail). It also wasn't looking in the right spot. It was looking at the file handle's copy of the buffer status, rather than the driver core copy. The interrupt routine marks frames as done in the driver core copy, the file handle copy isn't updated. So even if poll() looked at the right frame, it would never see it transition to done and return POLLIN. The compressed capture code has this same problem, looking in fh->jpg_buffers when it should have used zr->jpg_buffers. There was some logic to detect when there was no current capture in process nor any frames queued and try to return an error, which ends up being a bad idea. It's possible to call select() from one thread while no capture is in process, or no frames queued, and then start a capture or queue frames from another thread. The buffer state variables are protected by a spin lock, which the code wasn't acquiring. That is fixed too. Signed-off-by: Trent Piepho Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit c812b67ca4ed13fa5ec60f06c4ed8f648722a186 Author: Trent Piepho Date: Tue Jul 17 18:29:42 2007 -0300 V4L/DVB (5886): zr36067: Fix problem setting norms The zr36067 driver doesn't make a distinction between the different sub-types of NTSC, PAL, or SECAM norms. For example, when the enum std ioctl returns the PAL standard it returns PAL_BG|PAL_DK|PAL_H|PAL_I. When setting the norm, it required the bitmask to match exactly the set of norms used during the enumeration. If just one norm was specified, for example PAL_BG or NTSC_M, it would fail. This violates the V4L2 spec, "VIDIOC_S_STD accepts *one* or more flags..." The key thing to realize is that V4L2_STD_PAL is not one bit, it is multiple bits. It's ok to call S_STD with any *one* of those bits, but the driver was requiring *all* of them. This fixes the S_STD function so that it will accept any set of one or more PAL norms as PAL, and the same for NTSC and SECAM. Signed-off-by: Trent Piepho Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit 80ba80a9bf25d251237694c3fcee850a73324532 Author: Alexey Dobriyan Date: Mon Jul 30 23:08:46 2007 +0400 Fallout from "Remove fs.h from mm.h" patch While I was busy compile-testing my patch, ENOSYS sneaked into pm.h leading to some compile-breakages mostly on ia64 and some mips configs. Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 2208b764c14d0f1ad63da64b1a42db6077b6fe42 Author: Peter Zijlstra Date: Thu Jul 26 20:54:34 2007 +0200 slub: fix bug in slub debug support We ClearSlabDebug() before the last SlabDebug() check. Clear it later. Signed-off-by: Peter Zijlstra Signed-off-by: Christoph Lameter commit 02febdf7f62f2fbfa89ca9dc5d929beea89c96b1 Author: Peter Zijlstra Date: Thu Jul 26 20:01:38 2007 +0200 slub: add lock debugging check Ingo noticed that the SLUB code does include the lock debugging free check. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Acked-by: Pekka Enberg Signed-off-by: Christoph Lameter commit 63332a9d16e7dede26d252af3f9c4304b51e7974 Author: Stephen Rothwell Date: Mon Jul 30 20:12:37 2007 +1000 APM support depends on CONFIG_PM_SLEEP Commit 296699de6bdc717189a331ab6bbe90e05c94db06 broke building APM support if CONFIG_PM_SLEEP is not set. Reported by Toralf Förster Signed-off-by: Stephen Rothwell [ Simplified a bit as suggested by Rafael. -Linus ] Signed-off-by: Linus Torvalds commit cfcd8c4fbc4c84c286d3ebae8648914016c1ea4c Author: Hirokazu Takata Date: Mon Jul 30 22:00:47 2007 +0900 m32r: build fix for removing fs.h from mm.h This patch fixes the m32r build after the commit "Remove fs.h from mm.h" was merged (commit 4e950f6f0189f65f8bf069cf2272649ef418f5e4). Signed-off-by: Hirokazu Takata Signed-off-by: Linus Torvalds commit b8a94b3dece0cdfdb42460bab28c454f71d3fa1d Author: Mike Cruse Date: Mon Jul 30 16:29:29 2007 +1000 setup and detect 2nd phy on MCF5275 in FEC driver Added code to recognize the second interface on M5275 boards. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f861d62e12d3f732a36634e9e6b3b7b0112fef60 Author: Greg Ungerer Date: Mon Jul 30 16:29:16 2007 +1000 clean up reading of ICR register in FEC driver On the MCF5272, there is no need to read the ICR before writing it : the bit 4n+3 is a write-enable for the bits 4n,4n+1 and 4n+2. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit cb84d6e7ad10bd679df1787a1fc9624432a73317 Author: Greg Ungerer Date: Mon Jul 30 16:29:09 2007 +1000 fix work queues in FEC driver Fix the work queue code in the FEC driver. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f0d3464f5cd1002ad5c1f1116cc84a8815c41476 Author: Greg Ungerer Date: Mon Jul 30 16:28:57 2007 +1000 remove unused config symbol from FEC driver Removed unused CONFIG symbol and its conditional code from FEC driver. Pointed out by Robert P. J. Day . Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 080853afe3da90d3c54a2eea8a9ab6a2f814fb0e Author: Greg Ungerer Date: Mon Jul 30 16:28:46 2007 +1000 include cacheflush.h in FEC driver Include cacheflush.h to get definitions for cache functions used in this code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c1f193a7aed1b468617bb26075777c0c2f4f597a Author: David S. Miller Date: Mon Jul 30 00:17:12 2007 -0700 [SPARC64]: Fix show_stack() when stack argument is NULL. It didn't handle that case at all, and now dump_stack() can be implemented directly as show_stack(current, NULL) Signed-off-by: David S. Miller commit f623f388e4f83c01ac23f228247a6a4b9cc71111 Author: David S. Miller Date: Sun Jul 29 02:10:37 2007 -0700 [SPARC]: Fix serial console node string creation. The string setting code depends upon the original value of the "skip" variable, not the one that gets modified by the node traversal loop. Based upon a patch by Mark Fortescue. Signed-off-by: David S. Miller commit 8163904e660a30be800a3361df69bf9dad3b44cd Author: David S. Miller Date: Sun Jul 29 00:50:42 2007 -0700 [SPARC]: Mark SBUS framebuffer ioctls as IGNORE in compat_ioctl.c They are handled in a ->compat_ioctl() handler, so it's just noise when compat_ioctl.c warns which occurs when they are used on non-SBUS framebuffer devices. Signed-off-by: David S. Miller commit 9b539c03b2cb16879ce2e808ce5c687da1dba27c Author: David S. Miller Date: Sat Jul 28 23:39:30 2007 -0700 [SPARC64]: asm-sparc64/floppy.h needs linux/pci.h It uses pci_dev, calls pci_map_*(), etc. Signed-off-by: David S. Miller commit ad7ad57c6127042c411353dddb723765964815db Author: David S. Miller Date: Fri Jul 27 22:39:14 2007 -0700 [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling. Fully unify all of the DMA ops so that subordinate bus types to the DMA operation providers (such as ebus, isa, of_device) can work transparently. Basically, we just make sure that for every system device we create, the dev->archdata 'iommu' and 'stc' fields are filled in. Then we have two platform variants of the DMA ops, one for SUN4U which actually programs the real hardware, and one for SUN4V which makes hypervisor calls. This also fixes the crashes in parport_pc on sparc64, reported by Meelis Roos. Signed-off-by: David S. Miller commit c7f439b99efbea74c70a5531f92566db5a6731f2 Author: David S. Miller Date: Fri Jul 27 22:31:46 2007 -0700 [VIDEO]: Fix OOPS in all SBUS framebuffer drivers. All of these drivers use a silly: struct all_info { struct fb_info info; struct foo_par par; }; struct all_info *all = kzalloc(sizeof(*all), GFP_KERNEL); all->info.par = &all->par; etc. etc. code sequence, basically replicating the provided framebuffer_alloc()/framebuffer_release(), and doing it badly. Not only is this massive code duplication, it also caused a bug in that we weren't setting the fb_info->device pointer which results in an OOPS when fb_is_primary_device() runs. Fix all of this by using framebuffer_{alloc,release}() and passing in "&of_device->dev" as the device pointer. Signed-off-by: David S. Miller commit a0afaa6ab12cf696d170c22a8fdfd88c3e33555c Author: David S. Miller Date: Fri Jul 27 14:40:27 2007 -0700 [SPARC64]: Handle mostek clock type in mini_rtc driver. Now that drivers/sbus/char/rtc.c is sparc32 only, we need this. Signed-off-by: David S. Miller commit 3961bae0ac030a70ae2e0578270203889021f1a1 Author: Mark Fortescue Date: Thu Jul 26 00:17:22 2007 -0700 [PARTITION]: Sun/Solaris VTOC table corrections Start doing VTOC validation before using its contents. The validation is adjusted so as not to break existing setups that do not set the VTOC version, sanity and partition count entries. VTOC tables with more than 8 partitions will NOT be used. Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit b65f0755fd08c92f377fb434076865284283e2c1 Author: Mark Fortescue Date: Wed Jul 25 23:45:10 2007 -0700 [SPARC]: Fix floppy on some sun4c systems. Add in code to support an 82077 FDC on sun4c systems. There is a problem with spurious interrupts but it does apear to work. Testing on my SS2 (82072A FDC) shows that the floppy driver is not 100% with sun4c any way (any spurious interrupt kills it, requiring a reboot to recover). Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit a2d6ea0180531b5ace2dc1e64b6e22465ed51267 Author: David S. Miller Date: Wed Jul 25 23:30:16 2007 -0700 [SPARC64]: Fix sun4u PCI config space accesses on sun4u. Don't provide fake PCI config space for sun4u. Also, put back the funny host controller space handling that at least Sabre needs. You have to read PCI host controller registers at their nature size otherwise you get zeros instead of correct values. Signed-off-by: David S. Miller commit b84d879639f83d35d3fcd909222522c928bf974b Author: Mark Fortescue Date: Wed Jul 25 18:30:08 2007 -0700 [PARTITION] MSDOS: Fix Sun num_partitions handling. Correct the Solaris x86 number of partitions (slices) is a way that is backward compatible with the earlier size. This works without a new VTOC structure definition as the timestamp and v_asciilabel fields in the VTOC are not used by the kernel yet. Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit cce933bc831c451f48ca26e5b0d9bfdfbfb327f8 Author: David S. Miller Date: Wed Jul 25 16:51:20 2007 -0700 [SPARC]: Update defconfig. Signed-off-by: David S. Miller commit 05ff09706bacc92ccadde3a74289118789581475 Author: Rusty Russell Date: Mon Jul 30 10:25:22 2007 +1000 Make lguest compile with CONFIG_BLOCK=n and CONFIG_NET=n Gabriel C reports lguest doesn't compile with CONFIG_BLOCK=n. Fix this by introducing a config var for the block device, which depends on LGUEST && BLOCK. Do the same for the net driver, rather then depending gratuitously on CONFIG_NET. Signed-off-by: Rusty Russell Cc: Gabriel C Signed-off-by: Linus Torvalds commit 4e950f6f0189f65f8bf069cf2272649ef418f5e4 Author: Alexey Dobriyan Date: Mon Jul 30 02:36:13 2007 +0400 Remove fs.h from mm.h Remove fs.h from mm.h. For this, 1) Uninline vma_wants_writenotify(). It's pretty huge anyway. 2) Add back fs.h or less bloated headers (err.h) to files that need it. As result, on x86_64 allyesconfig, fs.h dependencies cut down from 3929 files rebuilt down to 3444 (-12.3%). Cross-compile tested without regressions on my two usual configs and (sigh): alpha arm-mx1ads mips-bigsur powerpc-ebony alpha-allnoconfig arm-neponset mips-capcella powerpc-g5 alpha-defconfig arm-netwinder mips-cobalt powerpc-holly alpha-up arm-netx mips-db1000 powerpc-iseries arm arm-ns9xxx mips-db1100 powerpc-linkstation arm-assabet arm-omap_h2_1610 mips-db1200 powerpc-lite5200 arm-at91rm9200dk arm-onearm mips-db1500 powerpc-maple arm-at91rm9200ek arm-picotux200 mips-db1550 powerpc-mpc7448_hpc2 arm-at91sam9260ek arm-pleb mips-ddb5477 powerpc-mpc8272_ads arm-at91sam9261ek arm-pnx4008 mips-decstation powerpc-mpc8313_rdb arm-at91sam9263ek arm-pxa255-idp mips-e55 powerpc-mpc832x_mds arm-at91sam9rlek arm-realview mips-emma2rh powerpc-mpc832x_rdb arm-ateb9200 arm-realview-smp mips-excite powerpc-mpc834x_itx arm-badge4 arm-rpc mips-fulong powerpc-mpc834x_itxgp arm-carmeva arm-s3c2410 mips-ip22 powerpc-mpc834x_mds arm-cerfcube arm-shannon mips-ip27 powerpc-mpc836x_mds arm-clps7500 arm-shark mips-ip32 powerpc-mpc8540_ads arm-collie arm-simpad mips-jazz powerpc-mpc8544_ds arm-corgi arm-spitz mips-jmr3927 powerpc-mpc8560_ads arm-csb337 arm-trizeps4 mips-malta powerpc-mpc8568mds arm-csb637 arm-versatile mips-mipssim powerpc-mpc85xx_cds arm-ebsa110 i386 mips-mpc30x powerpc-mpc8641_hpcn arm-edb7211 i386-allnoconfig mips-msp71xx powerpc-mpc866_ads arm-em_x270 i386-defconfig mips-ocelot powerpc-mpc885_ads arm-ep93xx i386-up mips-pb1100 powerpc-pasemi arm-footbridge ia64 mips-pb1500 powerpc-pmac32 arm-fortunet ia64-allnoconfig mips-pb1550 powerpc-ppc64 arm-h3600 ia64-bigsur mips-pnx8550-jbs powerpc-prpmc2800 arm-h7201 ia64-defconfig mips-pnx8550-stb810 powerpc-ps3 arm-h7202 ia64-gensparse mips-qemu powerpc-pseries arm-hackkit ia64-sim mips-rbhma4200 powerpc-up arm-integrator ia64-sn2 mips-rbhma4500 s390 arm-iop13xx ia64-tiger mips-rm200 s390-allnoconfig arm-iop32x ia64-up mips-sb1250-swarm s390-defconfig arm-iop33x ia64-zx1 mips-sead s390-up arm-ixp2000 m68k mips-tb0219 sparc arm-ixp23xx m68k-amiga mips-tb0226 sparc-allnoconfig arm-ixp4xx m68k-apollo mips-tb0287 sparc-defconfig arm-jornada720 m68k-atari mips-workpad sparc-up arm-kafa m68k-bvme6000 mips-wrppmc sparc64 arm-kb9202 m68k-hp300 mips-yosemite sparc64-allnoconfig arm-ks8695 m68k-mac parisc sparc64-defconfig arm-lart m68k-mvme147 parisc-allnoconfig sparc64-up arm-lpd270 m68k-mvme16x parisc-defconfig um-x86_64 arm-lpd7a400 m68k-q40 parisc-up x86_64 arm-lpd7a404 m68k-sun3 powerpc x86_64-allnoconfig arm-lubbock m68k-sun3x powerpc-cell x86_64-defconfig arm-lusl7200 mips powerpc-celleb x86_64-up arm-mainstone mips-atlas powerpc-chrp32 Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 673d5b43daa00b42759cecc6b0760b8bf6be80d2 Author: Len Brown Date: Sat Jul 28 03:33:16 2007 -0400 ACPI: restore CONFIG_ACPI_SLEEP Restore the 2.6.22 CONFIG_ACPI_SLEEP build option, but now shadowing the new CONFIG_PM_SLEEP option. Signed-off-by: Len Brown [ Modified to work with the PM config setup changes. ] Signed-off-by: Linus Torvalds commit 296699de6bdc717189a331ab6bbe90e05c94db06 Author: Rafael J. Wysocki Date: Sun Jul 29 23:27:18 2007 +0200 Introduce CONFIG_SUSPEND for suspend-to-Ram and standby Introduce CONFIG_SUSPEND representing the ability to enter system sleep states, such as the ACPI S3 state, and allow the user to choose SUSPEND and HIBERNATION independently of each other. Make HOTPLUG_CPU be selected automatically if SUSPEND or HIBERNATION has been chosen and the kernel is intended for SMP systems. Also, introduce CONFIG_PM_SLEEP which is automatically selected if CONFIG_SUSPEND or CONFIG_HIBERNATION is set and use it to select the code needed for both suspend and hibernation. The top-level power management headers and the ACPI code related to suspend and hibernation are modified to use the new definitions (the changes in drivers/acpi/sleep/main.c are, mostly, moving code to reduce the number of ifdefs). There are many other files in which CONFIG_PM can be replaced with CONFIG_PM_SLEEP or even with CONFIG_SUSPEND, but they can be updated in the future. Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit b0cb1a19d05b8ea8611a9ef48a17fe417f1832e6 Author: Rafael J. Wysocki Date: Sun Jul 29 23:24:36 2007 +0200 Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION to avoid confusion (among other things, with CONFIG_SUSPEND introduced in the next patch). Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 647e50f38345525d8261c295a0d0629dcea23a9b Author: Wim Van Sebroeck Date: Sun Jul 29 18:46:50 2007 +0000 [WATCHDOG] Fix pcwd_init_module crash Fix for the problem detected by Ingo Molnar: enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup. The reason for this can be found in drivers/makefile We first do: obj-y += char/ and later we do: obj-y += base/ block/ misc/ mfd/ net/ media/ So if we put a platform or isa or usb bus driver in char/watchdog (which is called from the Makefile in drivers/char/Makefile) then we didn't have the different device drivers initialized yet (they are in drivers/base and drivers/usb and ...) This fix makes sure that we compile the watchdog drivers after drivers/base, drivers/misc, drivers/pci and drivers/usb. We also do the compile after hwmon because in the future the watchdog temperature support will use the hwmon system. Signed-off-by: Wim Van Sebroeck commit 1655fc2e12ed7d208403c043428291b83aa833bb Author: Hoang-Nam Nguyen Date: Sat Jul 28 21:47:53 2007 -0700 IB/ehca: Move extern declarations from .c files to .h files Make sure declarations stay in sync with definitions by keeping all extern declarations in common .h files. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit e0f5d99e8dec3f157d3fff96c1e6a8b4abd24050 Author: Roland Dreier Date: Sat Jul 28 20:52:44 2007 -0700 IB/mlx4: Whitespace fix Remove extra dumb-looking blank line that snuck in somehow. Signed-off-by: Roland Dreier commit 6c8dca5d53f95009d4fff00195bf38f277dc4366 Author: Rusty Russell Date: Fri Jul 27 13:42:52 2007 +1000 Provide timespec to guests rather than jiffies clock. A non-periodic clock_event_device and the "jiffies" clock don't mix well: tick_handle_periodic() can go into an infinite loop. Currently lguest guests use the jiffies clock when the TSC is unusable. Instead, make the Host write the current time into the lguest page on every interrupt. This doesn't cost much but is more precise and at least as accurate as the jiffies clock. It also gets rid of the GET_WALLCLOCK hypercall. Also, delay setting sched_clock until our clock is set up, otherwise the early printk timestamps can go backwards (not harmful, just ugly). Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit a8a11f06973fa63ad692a8f97694cb5eeb70b3f3 Author: Rusty Russell Date: Fri Jul 27 13:35:43 2007 +1000 Fix lguest bzImage loading with CONFIG_RELOCATABLE=y Jason Yeh sent his crashing .config: bzImages made with CONFIG_RELOCATABLE=y put the relocs where the BSS is expected, and we crash with unusual results such as: lguest: unhandled trap 14 at 0xc0122ae1 (0xa9) Relying on BSS being zero was merely laziness on my part, and unfortunately, lguest doesn't go through the normal startup path (which does this in asm). Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit dfbab7540569679a91cf43208eff4ef3f4500a5f Author: Greg Ungerer Date: Fri Jul 27 10:38:16 2007 +1000 m68knommu: remove crap from machdep.h Removed unused dead crap from machdep.h header. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 15368d82251df279beb2a16085af492b2f3fdbd4 Author: Greg Ungerer Date: Fri Jul 27 10:38:01 2007 +1000 m68knommu: fix declaration of mach_sched_init Make declaration of mach_sched_init match definition (which is in arch/m68knommu/kernel/setup.c). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 778f3dd5a13c9e1642e0b2efea4b769387a70afa Author: David Miller Date: Fri Jul 27 22:58:37 2007 -0700 Fix procfs compat_ioctl regression It is important to only provide the compat_ioctl method if the downstream de->proc_fops does too, otherwise this utterly confuses the logic in fs/compat_ioctl.c and we end up doing the wrong thing. Signed-off-by: David S. Miller Acked-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 040b3a2df2dd26c3e401823f3b0ce3fe99e966c5 Author: Peter Zijlstra Date: Sat Jul 28 00:55:18 2007 +0200 audit: fix two bugs in the new execve audit code copy_from_user() returns the number of bytes not copied, hence 0 is the expected output. axi->mm might not be valid anymore when not equal to current->mm, do not dereference before checking that - thanks to Al for spotting that. Signed-off-by: Peter Zijlstra Tested-by: Steve Grubb Signed-off-by: Linus Torvalds commit 0af3678f7c5872836d1cc8d7c659abd62c3c5ae7 Author: Al Viro Date: Fri Jul 27 14:24:33 2007 +0100 rip some includes from linux/interrupt.h Signed-off-by: Al Viro Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 2d954d06acbcf9a5f7668a1897850c9b7be6b8f3 Author: Al Viro Date: Fri Jul 27 14:23:44 2007 +0100 fix preprocessor idiocy in reiserfs #x blocks expansion of macro argument, but it won't do you any good if it's already been expanded... As it is, RFALSE(cond, ....) ended up with stringified _expanded_ cond. Real fun when cond contains something like le32_to_cpu() and you are on a big-endian box... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 986c76036adb0b12cbe1bf1ce1f75586585ee227 Author: Al Viro Date: Fri Jul 27 14:19:52 2007 +0100 more include order horrors ... because somebody had added preempt.h -> list.h, resulting in asm/system.h -> hardirq.h -> preempt.h -> list.h -> asm/system.h on m68k, with smp_wmb() used in list.h and defined in asm/system.h below the include of hardirq.h. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0a9c2df263b2ef487e6b4015644cc18012d7411b Author: Eric Miao Date: Thu Jul 26 02:01:04 2007 +0100 [ARM] 4527/1: pxa: fix pxa27x ac97 cold reset in ASoC due to CKEN change due to CKEN_xxx definition and pxa_set_cken() change, the pxa27x ac97 cold reset is broken in ASoC, fixed to use bit index instead of bit mask Signed-off-by: eric miao Signed-off-by: Russell King commit 03e5386e1e6e4f19c18c33fb69afd43054d448b2 Author: Quinn Jensen Date: Fri Jul 27 23:30:55 2007 +0100 [ARM] 4530/1: MXC: fix elf_hwcap compile breakage as in iop13xx MXC needs the same change as IOP. See [ARM] 4494/1 or commit 7dea1b20066cd30fb54da7e686b16b5e38b46b2d An undefined reference to elf_hwcap prevents linkage, due to changes made by f884b1cf578e079f01682514ae1ae64c74586602 and d1cbbd6b413510c6512f4f80ffd48db1a8dd554a Removing processor.h removes the extern definition of elf_hwcap, which fixes the link issue, but forgets cpu_relax(). So, instead, we'll call barrier() directly. Cc: Lennert Buytenhek Cc: Catalin Marinas Acked-by: Ross Wille Signed-off-by: Quinn Jensen Signed-off-by: Russell King commit cc46f659705c722ae6020dd7411c4ac39cec4408 Author: Kristoffer Ericson Date: Thu Jul 26 07:46:17 2007 +0100 [ARM] 4529/1: [HP Jornada 7XX] - Fix jornada720.c to use SSP driver This fixes the jornada720.c file : * ifdef for CONFIG_SA1100_JORNADA720_SSP since we dont want to include anything not selected in menyconfig. * add documentation for init for future reference * change platform driver name from jornada720_mcu -> jornada_ssp. * change maintainer in file. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 05d989f948cda7398c9d5089d78a122502e644d2 Author: Hoang-Nam Nguyen Date: Sat Jul 28 08:36:32 2007 -0700 IB/ehca: Fix include order to better match kernel style Include headers after headers. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 09120a8cd38dbdb0c9a59ff8456cf88b510e6baa Author: Prakash, Sathya Date: Tue Jul 24 15:49:05 2007 +0530 [SCSI] mpt fusion: Changes in mptctl.c for logging support This patch contains changes in mptctl.c to support logging in MPT fusion drivers The changes are majorly in debug printks, the existing debugprintk are modified accroding to new debug macros defined in the file mptbdebug.h signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit d6ecdd638aa840604b87195f2097cabbd095092c Author: Prakash, Sathya Date: Tue Jul 24 15:47:41 2007 +0530 [SCSI] mpt fusion: Changes in mptfc.c mptlan.c mptsas.c and mptspi.c for logging support This patch contains changes in mptfc.c, mptlan.c, mptsas.c and mptspi.c to support logging in MPT fusion drivers. The changes are majorly in debug printks, the existing debugprintk are modified accroding to new debug macros defined in the file mptbdebug.h signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 0172e2e14c3c1df10ec0fa31d9f41c1bc3a472f3 Author: Jack Morgenstein Date: Thu Jul 26 11:16:58 2007 +0300 mlx4_core: Remove kfree() in mlx4_mr_alloc() error flow mlx4_mr_alloc() doesn't actually allocate mr (it just initializes the pointer that the caller passes in), so it shouldn't free it if an error occurs. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 6757d6b4c0701866bbf2ac02c397f78879b75e58 Author: Prakash, Sathya Date: Wed Jul 25 11:14:01 2007 +0530 [SCSI] mpt fusion: Changes in mptscsih.c for logging support This patch contains changes in mptscsih.c to support logging in MPT fusion drivers. The changes are majorly in debug printks, the existing debugprintk are modified accroding to new debug macros defined in the file mptbdebug.h A new sysfs attribute is added to retrieve and modify the debug level. signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 436ace725f35eb9af16b1986e3e9d776d384b7db Author: Prakash, Sathya Date: Tue Jul 24 15:42:08 2007 +0530 [SCSI] mpt fusion: Changes in mptbase.c for logging support This patch contains changes in mptbase.c to support logging in MPT fusion drivers. The changes are majorly in debug printks, the existing debugprintk are modified accroding to new debug macros defined in the file mptbdebug.h A new module parameter mpt_debug_level is added to pass the debug level as module parameter. signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 5c1b91b9923d1b3d33576e391ff7b587bdff7a3e Author: Prakash, Sathya Date: Tue Jul 24 15:40:08 2007 +0530 [SCSI] mpt fusion: logging support in Kconfig, Makefile, mptbase.h and addition of mptdebug.h This patch adds a new file mptdebug.h in the fusion source directory, which contains different debug macros. The existing debug macros and flags are removed from the mptbase.h and Makefile In Kconfig a new configuration parameter FUSION_LOGGING is added to enable/disable the logging support during compile time. signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 4e8e6ee380c3858151165d7455b4954782f145a0 Author: Tom Tucker Date: Tue Jul 24 14:31:52 2007 -0500 RDMA/amso1100: Initialize the wait_queue_head_t in the c2_qp structure Fix a crash if the driver has to wait for a QP reference to be dropped when destroying the QP. Signed-off-by: Ethan Burns Acked-by: Tom Tucker Signed-off-by: Roland Dreier commit 92631fa4d0afa64b82144eab714fbf2f4049dabe Author: Jesper Juhl Date: Sat Jul 28 01:13:33 2007 +0200 [SCSI] libsas: Fix potential NULL dereference in sas_smp_get_phy_events() In sas_smp_get_phy_events() we never test if the call to alloc_smp_req(RPEL_REQ_SIZE) succeeds or fails. That means we run the risk of dereferencing a NULL pointer if it does fail. Far better to test if we got NULL back and in that case return -ENOMEM just as we already do for the other memory allocation in that function. Signed-off-by: Jesper Juhl Signed-off-by: James Bottomley commit 99d4d0a9f251a87e0710c6f1fb46ac0d4bce12cb Author: Paul Mundt Date: Sat Jul 28 23:45:43 2007 +0900 [SCSI] bsg: Fix build for CONFIG_BLOCK=n BLK_DEV_BSG was added outside of the if BLOCK check, which allows it to be enabled when CONFIG_BLOCK=n. This leads to many screenlengths of errors, starting with a parse error on the request_queue_t definition. Obviously this wasn't intended for CONFIG_BLOCK=n usage, so just move the option back in to the block. Caught with a randconfig on sh. Signed-off-by: Paul Mundt Acked-by: Jens Axboe Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 9859c1aa7e16822c574e1be89d61fbfe6188b50f Author: Salyzyn, Mark Date: Fri Jul 27 10:29:26 2007 -0400 [SCSI] aacraid: fix Sunrise Lake reset handling The patch is *much* smaller than the description. I am attempting to answer to those that want to understand an issue that was reported in May this year. If a Sunrise Lake based card that requires an alternate reset mechanism is set up to ignore the commanded IOP_RESET it reports 0x00000010 (IOP_RESET ignored) instead of 0x3803000F (use alternate reset mechanism to reset all cores), and thus the reset platform function decides to switch to IOP_RESET_ALWAYS because the reset platform function parameters indicate that we *need* to reset the card. IOP_RESET_ALWAYS then responds with the 0x3803000F return code, but alas we treat this as an error instead of using the alternate reset mechanism (put a 0x03 into the register offset 0x38). The reset fails, but the fact that the IOP_RESET_ALWAYS command was issued has put the card in a purposeful shutdown state in preparation for the alternate hardware reset to be applied. Yuck. IOP_RESET is ignored in internal production cards, typically to ensure that we catch all adapter lockup issues without the driver progressing further, so this would not appear to be a field issue and thus this patch was destined to be only in the internal Adaptec source tree. IOP_RESET_ALWAYS is reserved for kexec/kdump/FirmwareUpdate/AutomatedTestFrames so we did not function as expected in any case. Also in the past we have had OEMs specifically request that cards not be resetable after a BlinkLED/FirmwareAssert for one reason or another and To head off the possibility that the Sunrise Lake based cards would suffer a similar fate, we propose the enclosed fix. Yinghai Lu of SUN had a pre-production card with IOP_RESET disabled when he reported an issue to the linux kernel list back in May regarding a kexec problem resulting from this reset being ignore. His fix was to update the Firmware to one that did not ignore the IOP_RESET. Previous kernels did not attempt to reset the adapter and that is why it surfaced as a regression in his hands. The current list of aacraid based cards that use Sunrise Lake: 9005:0285:9005:02b5 Adaptec 5445 9005:0285:9005:02b6 Adaptec 5805 9005:0285:9005:02b7 Adaptec 5085 9005:0285:9005:02c3 Adaptec 51205 9005:0285:9005:02c4 Adaptec 51605 9005:0285:9005:02ce Adaptec 51245 9005:0285:9005:02cf Adaptec 51645 9005:0285:9005:02d0 Adaptec 52445 9005:0285:9005:02d1 Adaptec 5405 9005:0285:9005:02b8 ICP ICP5445SL 9005:0285:9005:02b9 ICP ICP5085SL 9005:0285:9005:02ba ICP ICP5805SL 9005:0285:9005:02c5 ICP ICP5125SL 9005:0285:9005:02c6 ICP ICP5165SL 9005:0285:108e:7aac SUN STK RAID REM 9005:0285:108e:0286 SUN STK RAID INT 9005:0285:108e:0287 SUN STK RAID EXT 9005:0285:108e:7aae SUN STK RAID EM All of these are publicly released with IOP_RESET enabled. So there is no immediate need for this patch. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit b90f90d2303f27b9b241ab78419a07b41de5ac62 Author: Salyzyn, Mark Date: Fri Jul 27 09:48:49 2007 -0400 [SCSI] aacraid: add SCSI SYNCHONIZE_CACHE range checking Customer running an application that issues SYNCHRONIZE_CACHE calls directly noticed the broad stroke of the current implementation in the aacraid driver resulting in multiple applications feeding I/O to the storage causing the issuing application to stall for long periods of time. By only waiting for the current WRITE commands, rather than all commands, to complete; and those that are in range of the SYNCHRONIZE_CACHE call that would associate more tightly with the issuing application before telling the Firmware to flush it's dirty cache, we managed to reduce the stalling. The Firmware itself still flushes all the dirty cache associated with the array ignoring the range, it just does so in a more timely manner. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 80b1c7bdc1cc69a804f416761f5faafcb6284086 Author: akpm@linux-foundation.org Date: Fri Jul 27 13:30:02 2007 -0700 [SCSI] add easyRAID to the no report luns blacklist According to http://bugzilla.kernel.org/show_bug.cgi?id=5953, the easyRAID returns rubbish to REPORT LUNS. Cc: Natalie Protasevich Cc: Hans-Christian Armingeon Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 1e4dcd22efa7d24f637ab2ea3a77dd65774eb005 Author: Yoann Padioleau Date: Fri Jul 27 11:44:42 2007 +0200 [IA64] Compare pointer against NULL, not '0' When comparing a pointer, it's clearer to compare it to NULL than to 0. Signed-off-by: Yoann Padioleau Signed-off-by: Tony Luck commit 7a6c813594c9eb25a9afbcbd30c9865e38ee6f39 Author: Tony Luck Date: Fri Jul 27 15:35:43 2007 -0700 [IA64] Fix build failure in fs/quota.c b716395e2b8e450e294537de0c91476ded2f0395 added code to handle a compatability issue with 32bit quota tools, but the new compat routines are only needed when CONFIG_COMPAT=y (and with this set to 'n' there are compilation problems since some new typedefs are not visible). Reported by Doug Chapman. Fix tuned by a cast of thousands (Andi, Andreas, Arthur, HPA, Willy) Signed-off-by: Tony Luck commit 7091138fb762aed22317b4ff91eb211e7da3865c Author: Thomas Renninger Date: Fri Jul 27 15:38:31 2007 -0700 [IA64] Use new acpi_device_id struct for HID init in ia64/hp/common/sba_iommu.c Forgot to adjust this one with the acpi autoloading patches in commit 8c8eb78f673c07b60f31751e1e47ac367c60c6b7 Acked-by: Myron Stowe Acked-by: Len Brown Signed-off-by: Thomas Renninger Signed-off-by: Tony Luck commit 27c868c2233fe0d34b21ceb5287bb2f7617f1095 Author: Matthew Wilcox Date: Thu Jul 26 10:56:23 2007 -0400 [SCSI] advansys: lindent and other large, uninteresting changes - Run Lindent - Move advansys_detect and advansys_release to the end of the file - Split advansys_board_found out of advansys_detect - Rename a few variables, such as shp to shost and pci_devp to pdev - Turn STATIC into static Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 0f82cb9211f800f77636af11f0670e5fc6de6256 Author: James Bottomley Date: Thu Jul 26 17:13:10 2007 -0400 [SCSI] aic79xx, aic7xxx: Fix incorrect width setting Wide transfers are required for every setting of PPR apart from QAS. It seems the DV code starts at the minimum, which turns on DT and Wide regardless of the setting of max_width. Redo the PPR and period setting routines to respect max_width (i.e. start at period = 10 if it is zero). This fixes bugzilla 8366 Acked-by: "Freels, James D." Signed-off-by: James Bottomley commit 281afe1947d855661754850de29d7530b2ff18dc Author: Seokmann Ju Date: Thu Jul 26 13:43:34 2007 -0700 [SCSI] qla2xxx: fix to honor ignored parameters in sysfs attributes This is a patch to fix 'segmentation fault' issue which was initiated by Richard Lary . Thanks again Richard. - on following sysfs attritute function, changes have made so that both count and offset input parameters are honored by the functions. = qla2x00_sysfs_read_nvram() = qla2x00_sysfs_read_vpd() - made changes so that NVRAM data to be cached to minimize H/W accesses during agent querying of the driver's. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit c835e3727b87115f98c612a5ecb8882826d2537e Author: Salyzyn, Mark Date: Thu Jul 26 14:20:02 2007 -0400 [SCSI] aacraid: draw line in sand, sundry cleanup and version update Minor unimportant cuttings from the floor bundled in with a version stamp update. Only controversial change is the dropping of Alan Cox copyright on the nark.c module since that file has no code written by him in it. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit b6d44fe9582b9d90a0b16f508ac08a90d899bf56 Author: Mike Christie Date: Thu Jul 26 12:46:47 2007 -0500 [SCSI] iscsi_tcp: Turn off bounce buffers It was found by LSI that on setups with large amounts of memory we were bouncing buffers when we did not need to. If the iscsi tcp code touches the data buffer (or a helper does), it will kmap the buffer. iscsi_tcp also does not interact with hardware, so it does not have any hw dma restrictions. This patch sets the bounce buffer settings for our device queue so buffers should not be bounced because of a driver limit. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e07264071f7f2b02a2973cb28d9fdf5eb8866cc1 Author: Mike Christie Date: Thu Jul 26 12:46:48 2007 -0500 [SCSI] libiscsi: fix cmd seqeunce number checking We should not be checking the cmd windown for just handling r2t responses. And if the window closes in on us, always have scsi-ml requeue the command from our queuecommand function. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 7974392c0b0d4e7a2a17ca3597d51a29b9841aa5 Author: Mike Christie Date: Thu Jul 26 12:46:46 2007 -0500 [SCSI] iscsi_tcp, ib_iser Enable module refcounting for iscsi host template This prevents the iscsi modules from being unloaded while there are active mounts from an iscsi target. Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 464bb99ea448dc2f017be9150a8be9ab1f021979 Author: Mike Christie Date: Thu Jul 26 12:46:45 2007 -0500 [SCSI] libiscsi: make sure session is not blocked when removing host When we logout we block the session since we are not taking any more commands, but when we call remove host we want to make sure any IO that got queued up and blocked gets failed upwards quickly, so we unblock the session and fail it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5aaaf9f0ed11882fe7c6bc4202f78da1baa8caba Author: Heiko Carstens Date: Fri Jul 27 12:29:22 2007 +0200 [S390] Fix sclp_vt220 error handling. Also convert to slab_is_available() as an indicator if get_zeroed_page() will work or not. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4434a38c37dd30e5cd01456a136367a43d8da2dd Author: Cornelia Huck Date: Fri Jul 27 12:29:21 2007 +0200 [S390] cio: Reorganize initialization. - Localize more of the init calls in init_channel_subsystem(). - Print a warning if init_channel_subsystem() failed. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 303fa9e39605c1d56971dd22cd04d2186dc42c98 Author: Cornelia Huck Date: Fri Jul 27 12:29:20 2007 +0200 [S390] cio: Make CIO_* macros safe if dbfs are not available. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit e556bbbd9d2ff2b158915945ac82e2ac7def4d2f Author: Cornelia Huck Date: Fri Jul 27 12:29:19 2007 +0200 [S390] cio: Clean up messages. - Remove unneeded messages. - Move some messages into the debug feature. - Use dev_* where appropriate. - Use "cio: " prefix consistently. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit b771aeac32a320ac52bc227252103d7d7fc48cad Author: Heiko Carstens Date: Fri Jul 27 12:29:18 2007 +0200 [S390] Fix IRQ tracing. If a machine check is pending and the external or I/O interrupt handler returns to userspace io_mcck_pending is going to call s390_handle_mcck. Before this happens a call to TRACE_IRQS_ON was already made since we know that we are going back to userspace and hence interrupts will be enabled. So there was an indication that interrupts are enabled while in reality they are still disabled. s390_handle_mcck will do a local_irq_save/restore pair and confuse lockdep which later complains about inconsistent irq tracing. To solve this just call trace_hardirqs_off before calling s390_handle_mcck and trace_hardirqs_on afterwards. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2b3d8c9e06392d5539aa5d652f3a3c385fd19333 Author: Frank Munzert Date: Fri Jul 27 12:29:17 2007 +0200 [S390] vmur: fix diag14_read. Record length of spool file must be only stored in 1st SPLINK record Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit 7a8e0c8d9af43c9dfc62a8b2b9cc0484f48f7da4 Author: Martin Schwidefsky Date: Fri Jul 27 12:29:16 2007 +0200 [S390] Wire up sys_fallocate. This patch implements support of fallocate system call on s390(x) platform. A wrapper is added to address the issue which s390 ABI has with the arguments of this system call. Signed-off-by: Martin Schwidefsky commit cb1863a4619e5c80e43acad61b19cc5114b1c60d Author: Christian Borntraeger Date: Fri Jul 27 12:29:15 2007 +0200 [S390] add types.h include to s390_ext.h The header file for external interrupts uses the _u16 type. Make sure that _u16 is defined by including linux/types.h. This prevents compile failures, if asm/s390_ext.h is the first include file. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 8059862c636778bc1872c89ae307eb6bccd35581 Author: Cornelia Huck Date: Fri Jul 27 12:29:14 2007 +0200 [S390] cio: Remove deprecated rdc/rcd. http://marc.info/?l=linux-kernel&m=118481061928246&w=2 seems to indicate disfavour of "deprecated", so let's just kill it now. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit e62133b4ea0d85888d9883a3e1c396ea8717bc26 Author: Heiko Carstens Date: Fri Jul 27 12:29:13 2007 +0200 [S390] Get rid of new section mismatch warnings. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3b74a87422cc8d1062529b58bc3891383d138e5e Author: Heiko Carstens Date: Fri Jul 27 12:29:12 2007 +0200 [S390] sclp: kill unused SCLP config option. sclp is always compiled in. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 36914e5d69c8f8851f6b99b2ec6d98b947d4ff32 Author: Cornelia Huck Date: Fri Jul 27 12:29:11 2007 +0200 [S390] cio: Remove remains of _ccw_device_get_device_number(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 07c6a3386d8c09e8d6c58274bd69f640dda15833 Author: Cornelia Huck Date: Fri Jul 27 12:29:10 2007 +0200 [S390] cio: css_sch_device_register() can be made static. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 8da1aecde00b74d63123e6031155bbb1424b338d Author: Heiko Carstens Date: Fri Jul 27 12:29:09 2007 +0200 [S390] Improve __smp_call_function_map. There is no need to disable bottom halves when holding call_lock. Also this could imply that it is legal to call smp_call_function* from bh context, which it is not. Also test if func will be executed locally before disabling and aterwards enabling interrupts again. It's not necessary to disable and enable interrupts each time __smp_call_function_map gets called. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3bb447fc8bb6523cb1cec7a0277d831a2b0462b7 Author: Heiko Carstens Date: Fri Jul 27 12:29:08 2007 +0200 [S390] Convert to smp_call_function_single. smp_call_function_single now has the same semantics as s390's smp_call_function_on. Therefore convert to the *single variant and get rid of some architecture specific code. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 79685b8deea4541d18882d8c07d0e99e788292ab Author: Randy Dunlap Date: Fri Jul 27 08:08:51 2007 +0200 docbook: add pipes, other fixes Fix some typos in pipe.c and splice.c. Add pipes API to kernel-api.tmpl. Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit 7c2ff389bbb33074e7fde7a744f59da199a74af5 Author: Ingo Molnar Date: Wed Jul 25 13:07:10 2007 +0200 blktrace: use cpu_clock() instead of sched_clock() use cpu_clock() instead of sched_clock(). (the latter is not a proper clock-source) Signed-off-by: Ingo Molnar Signed-off-by: Jens Axboe commit 4d5d8e9d3e55100bc12cf17a5ebc8a3c70befd38 Author: Paul Mundt Date: Wed Jul 25 10:02:30 2007 +0200 bsg: Fix build for CONFIG_BLOCK=n BLK_DEV_BSG was added outside of the if BLOCK check, which allows it to be enabled when CONFIG_BLOCK=n. This leads to many screenlengths of errors, starting with a parse error on the request_queue_t definition. Obviously this wasn't intended for CONFIG_BLOCK=n usage, so just move the option back in to the block. Caught with a randconfig on sh. Signed-off-by: Paul Mundt -- block/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Signed-off-by: Jens Axboe commit 4e97182a22ed5ca6a5cbc39275d4752d5a4369da Author: Qi Yong Date: Wed Jul 25 08:45:51 2007 +0200 [patch] QUEUE_FLAG_READFULL QUEUE_FLAG_WRITEFULL comment fix The two comments were transposed. Signed-off-by: Qi Yong Signed-off-by: Jens Axboe commit f191f144079b0083c6fa7d01a4acbd7263fb5032 Author: Alan Hourihane Date: Fri Jul 27 10:56:43 2007 +1000 agp: AMD AGP is used on UP1100 & UP1500 alpha boxen Signed-off-by: Dave Airlie commit dde4787642ee3cb85aef80bdade04b6f8ddc3df8 Author: Zhenyu Wang Date: Thu Jul 26 09:18:09 2007 +0800 intel_agp: really fix 945/965GME Fix some missing places to check with device id info, which should probe the device gart correctly. Signed-off-by: Wang Zhenyu Signed-off-by: Dave Airlie commit a51b34593f691a0837d752a1394dcee19483c607 Author: Nick Piggin Date: Wed Jul 25 13:19:22 2007 +0200 agp: don't lock pages AGP should not need to lock pages. They are not protecting any race because there is no lock_page calls, only SetPageLocked. This is causing hangs with d00806b183152af6d24f46f0c33f14162ca1262a. Signed-off-by: Nick Piggin Signed-off-by: Dave Airlie commit c99c108ac362f5cc37f79fad7e9897bd9d033bcc Author: Chuck Ebbert Date: Fri Jul 27 10:46:20 2007 +1000 AGP: document boot options Add documentation for AGP boot options. Signed-off-by: Chuck Ebbert Signed-off-by: Dave Airlie commit 190644e180794208bc638179f4d5940fe419bf9c Author: Jesper Juhl Date: Sat Jul 21 17:39:11 2007 +0200 Fix "use after free" / "double free" bug in ati_create_gatt_pages / ati_free_gatt_pages Hi, Coverity spotted a "use after free" bug in drivers/char/agp/ati-agp.c::ati_create_gatt_pages(). The same one that was in drivers/char/agp/amd-k7-agp.c::amd_create_gatt_pages() The problem is this: If "entry = kzalloc(sizeof(struct ati_page_map), GFP_KERNEL);" fails, then there's a loop in the function to free all entries allocated so far and break out of the allocation loop. That in itself is pretty sane, but then the (now freed) 'tables' is assigned to ati_generic_private.gatt_pages and 'retval' is set to -ENOMEM which causes ati_free_gatt_pages(); to be called at the end of the function. The problem with this is that ati_free_gatt_pages() will then loop 'ati_generic_private.num_tables' times and try to free each entry in tables[] - this is bad since tables has already been freed and furthermore it will call kfree(tables) at the end - a double free. This patch removes the freeing loop in ati_create_gatt_pages() and instead relies entirely on the call to ati_free_gatt_pages() to free everything we allocated in case of an error. It also sets ati_generic_private.num_tables to the actual number of entries allocated instead of just using the value passed in from the caller - this ensures that ati_free_gatt_pages() will only attempt to free stuff that was actually allocated. Note: I'm in no way intimate with this code and I have no way to actually test this patch (besides compile test it), so while I've tried to be careful in reading the code and make sure the patch does the right thing an ACK from someone who actually knows the code in-depth would be very much appreciated. Signed-off-by: Jesper Juhl Signed-off-by: Dave Airlie commit 074ff856004819b942190606cc38ec97a4c3d9fd Author: Kenji Kaneshige Date: Thu Jul 26 15:32:38 2007 +0900 [IA64] Fix wrong return value in parse_vector_domain Fix wrong return value in parse_vector_domain(). Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 3c3738c874a2d42e84a2b02768f9807c334f3eff Author: Kenji Kaneshige Date: Thu Jul 26 15:31:34 2007 +0900 [IA64] Fix wrong assumption in acpi_gsi_to_irq The ia64's acpi_gsi_to_irq() function assumes irq == vector. But in fact irq can be different from vector. This patch fix this wrong assumption. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 6bde71ec1ea1f37254892ef2058176f3171a0d62 Author: Kenji Kaneshige Date: Thu Jul 26 15:30:45 2007 +0900 [IA64] Add sanity check into __bind_irq_vector Add some sanity checks into __bind_irq_vector(). Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 286201dcabf7311d2e22a95829ba40744b15c81d Author: Wim Van Sebroeck Date: Thu Jul 26 21:11:28 2007 +0000 [WATCHDOG] ICH9 support for iTCO_wdt Add support for the ICH9 I/O chipsets to iTCO_wdt. Signed-off-by: Wim Van Sebroeck commit 7e0a86f7021c684a59c585828e7af1e29770b933 Author: Wim Van Sebroeck Date: Thu Jul 26 20:43:50 2007 +0000 [WATCHDOG] 631xESB/632xESB support for iTCO_wdt - add all LPC bridges Add all LPC bridges for the 631xESB/632xESB I/O chipset. The datasheet says: * Device Function = B0:D31:FO * Function Description = LPC interface * DEV ID = 267xh * Comment = 2670h-267Fh Signed-off-by: Wim Van Sebroeck commit 293a032eb95f3c6c212c1541e94c14b111731313 Author: Linus Torvalds Date: Thu Jul 26 13:44:58 2007 -0700 Don't force-enable suspend/hibernate support just for ACPI It's a totally independent decision for the user whether he wants suspend and/or hibernation support, and ACPI shouldn't care. Signed-off-by: Linus Torvalds commit 998e6787e6f6932fdd7525c828b8b1c9171ad8cb Author: Sergey Kononenko Date: Thu Jul 26 17:28:35 2007 +0300 [WATCHDOG] 631xESB/632xESB support for iTCO_wdt Add 631xESB/632xESB support to the iTCO_wdt driver. Signed-off-by: Sergey Kononenko Signed-off-by: Wim Van Sebroeck commit 58b3b71dfaaecbf7cff1fe10c049d663f0313e5f Author: Rafael J. Wysocki Date: Thu Jul 26 16:29:55 2007 +0200 Fix ThinkPad T42 poweroff failure introduced by by "PM: Introduce pm_power_off_prepare" Commit bd804eba1c8597cbb7cd5a5f9fe886aae16a079a ("PM: Introduce pm_power_off_prepare") caused problems in the poweroff path, as reported by YOSHIFUJI Hideaki / 吉藤英明. Generally, sysdev_shutdown() should be called after the ACPI preparation for powering the system off. To make it happen, we can separate sysdev_shutdown() from device_shutdown() and call it directly wherever necessary. Signed-off-by: Rafael J. Wysocki Tested-by: YOSHIFUJI Hideaki / 吉藤英明 Signed-off-by: Linus Torvalds commit 602033ed5907a59ce86f709082a35be047743a86 Author: Linus Torvalds Date: Thu Jul 26 12:07:21 2007 -0700 Revert most of "x86: Fix alternatives and kprobes to remap write-protected kernel text" This reverts most of commit 19d36ccdc34f5ed444f8a6af0cbfdb6790eb1177. The way to DEBUG_RODATA interactions with KPROBES and CPU hotplug is to just not mark the text as being write-protected in the first place. Both of those facilities depend on rewriting instructions. Having "helpful" debug facilities that just cause more problem is not being helpful. It just adds complexity and bugs. Not worth it. Reported-by: Rafael J. Wysocki Cc: Andi Kleen Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 07d4e9af109221ab731c5aaf832e89776c64b013 Author: Bjorn Helgaas Date: Thu Jul 26 10:41:21 2007 -0700 PNP: fix up after Lindent These are manual fixups after running Lindent. No functional change. Signed-off-by: Bjorn Helgaas Cc: Len Brown Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9dd78466c956ac4b4f38e12032dc4249ccf57ad1 Author: Bjorn Helgaas Date: Thu Jul 26 10:41:20 2007 -0700 PNP: Lindent all source files Run Lindent on all PNP source files. Produced by: $ quilt new pnp-lindent $ find drivers/pnp -name \*.[ch] | xargs quilt add $ quilt add include/linux/{pnp.h,pnpbios.h} $ scripts/Lindent drivers/pnp/*.c drivers/pnp/*/*.c include/linux/pnp*.h $ quilt refresh --sort Signed-off-by: Bjorn Helgaas Cc: Len Brown Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ec3cf7d29aef773eee5bc6cd9b0fa4d3fb42480 Author: Thomas Gleixner Date: Thu Jul 26 10:41:19 2007 -0700 x86_64: cleanup tsc.c merge artifact tsc_unstable is declared twice. Signed-off-by: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fc09385c79fa95e97365d33de9b4e046d680b94 Author: Hirokazu Takata Date: Thu Jul 26 10:41:19 2007 -0700 m32r: Fix ei_tx_timeout() in drivers/net/lib8390.c Change INT0 trigger mode from edge-sense mode to level-sense mode, in order to fix the following timeout error: 'NETDEV WATCHDOG: eth0: transmit timed out'. This patch is required only for the Mappi platform. Signed-off-by: Hirokazu Takata Cc: Hitoshi Yamamoto Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5445f956ec3c8c19b760775e9ff92a160e3a167 Author: Mel Gorman Date: Thu Jul 26 10:41:18 2007 -0700 Allow nodes to exist that only contain ZONE_MOVABLE With the introduction of kernelcore=, a configurable zone is created on request. In some cases, this value will be small enough that some nodes contain only ZONE_MOVABLE. On some NUMA configurations when this occurs, arch-independent zone-sizing will get the size of the memory holes within the node incorrect. The value of present_pages goes negative and the boot fails. This patch fixes the bug in the calculation of the size of the hole. The test case is to boot test a NUMA machine with a low value of kernelcore= before and after the patch is applied. While this bug exists in early kernel it cannot be triggered in practice. This patch has been boot-tested on a variety machines with and without kernelcore= set. Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee2077d97b2f392cfc0b884775ac58aa9b9b8c8f Author: Jiri Slaby Date: Thu Jul 26 10:41:17 2007 -0700 Char: cyclades, select FW_LOADER Fix link errors below by selecting FW_LOADER LD .tmp_vmlinux1 drivers/built-in.o: In function `cyz_load_fw': drivers/char/cyclades.c:4908: undefined reference to `request_firmware' drivers/char/cyclades.c:4979: undefined reference to `release_firmware' Cc: Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 252c01dc272c4b56bf1ab8582b3031682de153b3 Author: Sam Ravnborg Date: Thu Jul 26 10:41:16 2007 -0700 x86_64: fix section mismatch warnings in tce Fix the following two section mismatch warnings: WARNING: vmlinux.o(.text+0x1ce84): Section mismatch: reference to .init.text:free_bootmem (between 'free_tce_table' and 'build_tce_table') WARNING: vmlinux.o(.text+0x1d04d): Section mismatch: reference to .init.text:__alloc_bootmem_low (between 'alloc_tce_table' and 'kretprobe_trampoline_holder') In both cases the functions was used only from __init context so mark them __init. Signed-off-by: Sam Ravnborg Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddcc3050bddc267f8d6e811bd930e885729f900b Author: Doug Thompson Date: Thu Jul 26 10:41:16 2007 -0700 drivers/edac: fix pasemi kconfig depends Fixed 'depends on PPC_PASEMI' in EDAC Kconfig. Module PASEMI depends ONLY on the PASEMI on PPC. Was previously enabled for ALL PPC Cc: Alan Cox Cc: Egor N. Martovetsky Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39c29657fcf6060d71e04f1e52e5bb4b2999644f Author: Doug Thompson Date: Thu Jul 26 10:41:15 2007 -0700 include/asm-:mips add missing edac h file EDAC has a foundation to perform software memory scrubbing, but it requires a per architecture (atomic_scrub) function for performing an atomic update operation. Under X86, this is done with a lock: add [addr],0 in the file asm-x86/edac.h This patch provides the MIPS arch with that atomic function, atomic_scrub() in asm-mips/edac.h Cc: Alan Cox Cc: Ralf Baechle Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c1465b7de9686c4c5aa533b15c09ab014aab3a Author: Doug Thompson Date: Thu Jul 26 10:41:15 2007 -0700 drivers/edac: fix edac_pci sysfs This patch fixes sysfs exit code for the EDAC PCI device in a similiar manner and the previous fixes for EDAC_MC and EDAC_DEVICE. It removes the old (and incorrect) completion model and uses reference counts on per instance kobjects and on the edac core module. This pattern was applied to the edac_mc and edac_device code, but the EDAC PCI code was missed. In addition, this fixes a system hang after a low level driver was unloaded. (A cleanup function was called twice, which really screwed things up) Cc: Greg KH Cc: Alan Cox Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bce19683c17485b584b62b984d6dcf5332181588 Author: Doug Thompson Date: Thu Jul 26 10:41:14 2007 -0700 drivers/edac: fix reset edac_mc pollmsec This fixes a deadlock that could occur on a 'setup' and 'teardown' sequence of the workq for a edac_mc control structure instance. A similiar fix was previously implemented for the edac_device code. In addition, the edac_mc device code there was missing code to allow the workq period valu to be altered via sysfs control. This patch adds that fix on the code, and allows for the changing of the period value as well. Cc: Alan Cox Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 045e72acf16054c4ed2760e9a8edb19a08053af1 Author: Sam Ravnborg Date: Thu Jul 26 10:41:13 2007 -0700 fix 'dynreloc miscount' link error on Powerpc Nathan Lynch reported: 2.6.23-rc1 breaks the build for 64-bit powerpc for me (using maple_defconfig): LD vmlinux.o powerpc64-unknown-linux-gnu-ld: dynreloc miscount for kernel/built-in.o, section .opd powerpc64-unknown-linux-gnu-ld: can not edit opd Bad value make: *** [vmlinux.o] Error 1 However, I see a possibly related binutils patch: http://article.gmane.org/gmane.comp.gnu.binutils/33650 It was tracked down to be caused by the weak prototype declaration in mm.h: __attribute__((weak)) const char *arch_vma_name(struct vm_area_struct *vma); But there is no need to make the declaration weak - only the definition needs to be marked weak. So drop the weak declaration. And in the process drop the duplicate definition in page.h for powerpc. Note: the arch_vma_name fix for x86_64 needs to be applied first to avoid breaking x86_64 Signed-off-by: Sam Ravnborg Cc: Nathan Lynch Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ebc3cc920e7a076539aa8badbaf0919540a3438 Author: Roland McGrath Date: Thu Jul 26 10:41:12 2007 -0700 x86_64: fix arch_vma_name The function arch_vma_name() is declared weak and thus it was not noticed that x86_64 had two almost identical implementations. It was introduced in syscall32.c by: c633090e3105e779c97d4978e5e3d7d66b291cfb It was introduced in mm/init.c by: 2aae950b21e4bc789d1fc6668faf67e8748300b7 Signed-off-by: Roland McGrath Acked-by: Sam Ravnborg Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26b97237f7eee977eb8beb59adbbf0a8ab4f8276 Author: Rafael J. Wysocki Date: Thu Jul 26 10:41:12 2007 -0700 chipsfb: use correct pm state chipsfb.c shouldn't use PM_SUSPEND_MEM in there, but PM_EVENT_SUSPEND. Cc: Cedric Le Goater Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 780dcdb21170ae8ad3faa640ede249261f216a8c Author: Eric Sandeen Date: Thu Jul 26 10:41:11 2007 -0700 fix inode_table test in ext234_check_descriptors ext[234]_check_descriptors sanity checks block group descriptor geometry at mount time, testing whether the block bitmap, inode bitmap, and inode table reside wholly within the blockgroup. However, the inode table test is off by one so that if the last block in the inode table resides on the last block of the block group, the test incorrectly fails. This is because it tests the last block as (start + length) rather than (start + length - 1). This can be seen by trying to mount a filesystem made such as: mkfs.ext2 -F -b 1024 -m 0 -g 256 -N 3744 fsfile 1024 which yields: EXT2-fs error (device loop0): ext2_check_descriptors: Inode table for group 0 not in group (block 101)! EXT2-fs: group descriptors corrupted! There is a similar bug in e2fsprogs, patch already sent for that. (I wonder if inside(), outside(), and/or in_range() should someday be used in this and other tests throughout the ext filesystems...) Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98ac0e53facc851f8bc5110039ab05005c0c4736 Author: Adrian Bunk Date: Thu Jul 26 10:41:10 2007 -0700 xenbus_xs.c: fix a use-after-free This patch fixes an obvious use-after-free spotted by the Coverity checker. Signed-off-by: Adrian Bunk Acked-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c6a1c130e00556a5c69101035bce4d9ab7c5c94 Author: Andrew Morton Date: Thu Jul 26 10:41:10 2007 -0700 edac is bust on mips drivers/edac/edac_stub.c:15:22: asm/edac.h: No such file or directory was it even supposed to work? Cc: Douglas Thompson Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f52e0ef47b22c18ff56f6233f814b329cb6e32cc Author: Andrew Morton Date: Thu Jul 26 10:41:09 2007 -0700 i2c: ds1682 warning fix ia64: drivers/i2c/chips/ds1682.c: In function `ds1682_show': drivers/i2c/chips/ds1682.c:78: warning: long long unsigned int format, long unsigned int arg (arg 3) drivers/i2c/chips/ds1682.c:78: warning: long long unsigned int format, long unsigned int arg (arg 3) Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ca56b4bb24e01158cb5d87adafa4b76da1f044d Author: Alessandro Zummo Date: Thu Jul 26 10:41:08 2007 -0700 Reorder RTC Makefile Alphabetic reordering of the drivers in the rtc subsys makefile. (akpm: merge this asap! Makefiles are the source of many patch conflicts..) Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dd9fe8c397df68086e6a1b2160573abbe944813 Author: KAMEZAWA Hiroyuki Date: Thu Jul 26 10:41:08 2007 -0700 memory unplug: isolate_lru_page fix release_pages() in mm/swap.c changes page_count() to be 0 without removing PageLRU flag... This means isolate_lru_page() can see a page, PageLRU() && page_count(page)==0.. This is BUG. (get_page() will be called against count=0 page.) Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc386d4d1e98bb39fb967ee156cd456c802fc692 Author: KAMEZAWA Hiroyuki Date: Thu Jul 26 10:41:07 2007 -0700 memory unplug: migration by kernel In usual, migrate_pages(page,,) is called with holding mm->sem by system call. (mm here is a mm_struct which maps the migration target page.) This semaphore helps avoiding some race conditions. But, if we want to migrate a page by some kernel codes, we have to avoid some races. This patch adds check code for following race condition. 1. A page which page->mapping==NULL can be target of migration. Then, we have to check page->mapping before calling try_to_unmap(). 2. anon_vma can be freed while page is unmapped, but page->mapping remains as it was. We drop page->mapcount to be 0. Then we cannot trust page->mapping. So, use rcu_read_lock() to prevent anon_vma pointed by page->mapping from being freed during migration. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 098284020c47c1212d211e39ae2b41c21182e056 Author: Davide Libenzi Date: Thu Jul 26 10:41:07 2007 -0700 make timerfd return a u64 and fix the __put_user Davi fixed a missing cast in the __put_user(), that was making timerfd return a single byte instead of the full value. Talking with Michael about the timerfd man page, we think it'd be better to use a u64 for the returned value, to align it with the eventfd implementation. This is an ABI change. The timerfd code is new in 2.6.22 and if we merge this into 2.6.23 then we should also merge it into 2.6.22.x. That will leave a few early 2.6.22 kernels out in the wild which might misbehave when a future timerfd-enabled glibc is run on them. mtk says: The difference would be that read() will only return 4 bytes, while the application will expect 8. If the application is checking the size of returned value, as it should, then it will be able to detect the problem (it could even be sophisticated enough to know that if this is a 4-byte return, then it is running on an old 2.6.22 kernel). If the application is not checking the return from read(), then its 8-byte buffer will not be filled -- the contents of the last 4 bytes will be undefined, so the u64 value as a whole will be junk. Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Cc: Davi Arnaut Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1cdd4a64f6ce15a1e81759ef99eed3a91f9acbe Author: Adrian Bunk Date: Thu Jul 26 10:41:05 2007 -0700 X86_POWERNOW_K8_ACPI must depend on ACPI This patch fixes the following compile error introduced by commit e8666b2718fdb5bf0ea7c3126f7e292bbbf2946b and reported by Alexey Dobriyan: <-- snip --> CC arch/i386/kernel/acpi/cstate.o In file included from arch/i386/kernel/acpi/cstate.c:17: include/acpi/processor.h:88: error: expected specifier-qualifier-list before 'acpi_integer' <-- snip --> If you select something you must ensure that the dependencies of what you are selecting are fulfilled. Signed-off-by: Adrian Bunk Cc: Alexey Dobriyan Cc: Joshua Hoblitt Cc: Dave Jones Cc: Michal Piotrowski Cc: Len Brown Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f56a384e98aa81065038c4e16f39ed989ccae687 Author: Rusty Russell Date: Thu Jul 26 10:41:05 2007 -0700 lguest: documentation VII: FIXMEs Documentation: The FIXMEs Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8f0fdcd40449d318f8dc30c1b361b0b7f54134a Author: Rusty Russell Date: Thu Jul 26 10:41:04 2007 -0700 lguest: documentation VI: Switcher Documentation: The Switcher Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bff672e630a015d5b54c8bfb16160b7edc39a57c Author: Rusty Russell Date: Thu Jul 26 10:41:04 2007 -0700 lguest: documentation V: Host Documentation: The Host Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dde797899ac17ebb812b7566044124d785e98dc7 Author: Rusty Russell Date: Thu Jul 26 10:41:03 2007 -0700 lguest: documentation IV: Launcher Documentation: The Launcher Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2c9784325490c878b7f69aeec1bed98b288bd97 Author: Rusty Russell Date: Thu Jul 26 10:41:03 2007 -0700 lguest: documentation III: Drivers Documentation: The Drivers Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2b47c214f4e85ce3968120d42e8b18eccb4f4e3 Author: Rusty Russell Date: Thu Jul 26 10:41:02 2007 -0700 lguest: documentation II: Guest Documentation: The Guest Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f938d2c892db0d80d144253d4a7b7083efdbedeb Author: Rusty Russell Date: Thu Jul 26 10:41:02 2007 -0700 lguest: documentation I: Preparation The netfilter code had very good documentation: the Netfilter Hacking HOWTO. Noone ever read it. So this time I'm trying something different, using a bit of Knuthiness. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfb68689bf3e3d31dc9fb5c2bde5379a4ca9b0ec Author: Jeremy Fitzhardinge Date: Thu Jul 26 10:41:01 2007 -0700 xen: xen/page.h compile fix Fix: linux/include/xen/page.h: In function mfn_pte: linux/include/xen/page.h:149: error: __supported_pte_mask undeclared (first use in this function) linux/include/xen/page.h:149: error: (Each undeclared identifier is reported only once linux/include/xen/page.h:149: error: for each function it appears in.) Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd16f9ebd083b965dcdfb6b762e206374d5b823b Author: David Brownell Date: Thu Jul 26 10:41:00 2007 -0700 rtc-ds1307: typo fix found by coverity Fix a typo turned up by a Coverity check: referring to the wrong register, which could cause problems with DS1338 RTCs whose oscillators halted. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47572b84aa3d4c9d44bceb43af8c58744b96af10 Author: Ben Dooks Date: Thu Jul 26 10:40:59 2007 -0700 fixup s3c24xx build after arch moves Fix the include files moved around during the s3c24xx arch moves. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70f38db60cc5c8c6c3a95f0d2e6360272d6014a3 Author: Ryusuke Konishi Date: Thu Jul 26 10:40:59 2007 -0700 PM: fix compiler error of PPC dart_iommu A dummy inline function of register_nosave_region_late was accidentally removed by the recent PM patch that introduced suspend notifiers. This elimination causes the following compiler error on PPC machines. CC arch/powerpc/sysdev/dart_iommu.o arch/powerpc/sysdev/dart_iommu.c: In function 'iommu_init_late_dart': arch/powerpc/sysdev/dart_iommu.c:376: error: implicit declaration of function 'register_nosave_region_late' make[1]: *** [arch/powerpc/sysdev/dart_iommu.o] Error 1 make: *** [arch/powerpc/sysdev] Error 2 This patch fixes the problem. Signed-off-by: Ryusuke Konishi Acked-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 415ad26d8c8665a0fcfc18552daf411a9bc1a41e Author: Christoph Lameter Date: Thu Jul 26 10:40:56 2007 -0700 Slab maintainer & Credits update Signed-off-by: Christoph Lameter Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61df47c8da1b4ba0f243975f11efc8956de0cba6 Author: Randy Dunlap Date: Thu Jul 26 10:40:56 2007 -0700 kernel-doc fix for kmod.c Fix kmod.c: Warning(linux-2.6.23-rc1//kernel/kmod.c:364): No description found for parameter 'envp' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f50cadaa8ffa72ad430e5beabe02eb752f3f72a3 Author: Ulrich Drepper Date: Thu Jul 26 10:40:55 2007 -0700 tiny signalfd cleanup This is probably a leftover from a time when the return wasn't there yet. Now the extra assignment is just irritating. Signed-off-by: Ulrich Drepper Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87588dd6663b6f306f03f2deaec0d0fd3f0cb26e Author: Al Viro Date: Thu Jul 26 17:47:03 2007 +0100 more reiserfs endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 60262e58e305f27d05eefeda172117521514f364 Author: Al Viro Date: Thu Jul 26 17:46:19 2007 +0100 arm unaligned.h annotations Have put_unaligned() warn if types would be wrong for assignment, slap force-casts where needed. Cast the result of get_unaligned to typeof(*ptr). With that in place we get proper typechecking, both from gcc and from sparse, including that for bitwise types. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e7cf261b447ed7edbf7c10c046e078bda799afaf Author: Al Viro Date: Thu Jul 26 17:42:59 2007 +0100 m68k {in,out}_le{16,32} endianness misannotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c7b17cb13eaad6adf2f169840ccb193d4376e4b1 Author: Al Viro Date: Thu Jul 26 17:36:29 2007 +0100 ax88796 (address space): cast to unsigned long, not long Signed-off-by: Al Viro Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 5b26e64ea39e45802c5736c8261bf8a8704d212f Author: Al Viro Date: Thu Jul 26 17:36:19 2007 +0100 raw1394 __user annotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0bd8496b5977f6acfd3c16358045c315d610b765 Author: Al Viro Date: Thu Jul 26 17:36:09 2007 +0100 drivers/ misc __iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ad690ef9e690f6c31f7d310b09ef1314bcec9033 Author: Al Viro Date: Thu Jul 26 17:35:59 2007 +0100 xfs ioctl __user annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 97f1e7f7d2cd950f90d64ac6920822e709095519 Author: Al Viro Date: Thu Jul 26 17:35:49 2007 +0100 make powerpc BUG_ON() OK with pointers and bitwise Since powerpc insists on printing the _value_ of condition and on casting it to long... At least let's make it a force-cast. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit fdd33961e983dd5b1983c54ef39d243c88a4bffc Author: Al Viro Date: Thu Jul 26 17:35:39 2007 +0100 amd64: fix get_user() on bitwise We really need force-cast when converting to final result type; unsigned long can be silently converted to integer types and to pointers, but not to bitwise. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c47ffe3d3d841986108a8316f6e01792cb45d0d2 Author: Al Viro Date: Thu Jul 26 17:35:29 2007 +0100 make __chk_{user,io}_ptr() accept pointers to volatile Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 1f41bb3a5a24c82900b33071edcedec679b99de7 Author: Al Viro Date: Thu Jul 26 17:35:19 2007 +0100 cxgb3 gfp_t annotations Signed-off-by: Al Viro Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit af3b162afd9fce69a94d79bd5b1f9c7c302212f4 Author: Al Viro Date: Thu Jul 26 17:35:09 2007 +0100 misannotation in pppol2tp Address of auto variable is not a userland pointer. A good thing, too, since if pppol2tp_tunnel_getsockopt() would _really_ get a userland pointer as argument, it would be an instant roothole... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6aa8b04975e71fb3d67bec7fbe2995b9bf54a06e Author: Al Viro Date: Thu Jul 26 17:34:59 2007 +0100 cyclone.c: silly use of volatile, __iomem fixes u32* volatile cyclone_timer means volatile auto pointer to u32, which is clearly not what had been intended (we never even take the address of that variable, let alone pass it to something that could change it behind our back). u32 volatile * is what the authors apparently wanted to say, but in reality we don't need that qualifier there at all - it's (properly) only passed to iomem helpers which takes care of that stuff just fine. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 712aaa1cb1c0a83e5ffb5376e1d7ee3dd539f4e4 Author: Al Viro Date: Thu Jul 26 17:34:49 2007 +0100 use CLOCKSOURCE_MASK() instead of too large constant Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d5c03726a7d0700222fe3c134c6ef834040974c5 Author: Al Viro Date: Thu Jul 26 17:34:39 2007 +0100 alpha: long constant Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8dc946307c45ab9a6f56c56371e1ccfb7155015e Author: Al Viro Date: Thu Jul 26 17:34:29 2007 +0100 ia64 time.c: ANSIfy Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ed5f6561436a1a0b38f4130bdb1fed00f14e60b5 Author: Al Viro Date: Thu Jul 26 17:34:19 2007 +0100 deal with alpha section warnings Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 55fe977187405edaaa9b2519b561e97ff1d2eeee Author: Al Viro Date: Thu Jul 26 17:34:09 2007 +0100 viohs: extern on function definition Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b0a5ab93158586e599ecd0d24a9a72da74d23ddd Author: Al Viro Date: Thu Jul 26 17:33:59 2007 +0100 initramfs: missing __init Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ca5c8cde93d65db3139604ca6b91bf8ff3f775e2 Author: Al Viro Date: Thu Jul 26 17:33:49 2007 +0100 lockd and nfsd endianness annotation fixes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 582ee43dad8e411513a74f2d801255dcffc6d29e Author: Al Viro Date: Thu Jul 26 17:33:39 2007 +0100 net/* misc endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 704eae1f32274c0435f7f3924077afdb811edd1d Author: Al Viro Date: Thu Jul 26 17:33:29 2007 +0100 ip6_tunnel - endianness annotations Convert rel_info to host-endian before calling ip6_tnl_err(). The things become much more straightforward that way. The key observation (and the reason why that code actually worked) is that after ip6_tnl_err() we either immediately bailed out or had rel_info set to 0 or had it set to host-endian and guaranteed to hit (rel_type == ICMP_DEST_UNREACH && rel_code == ICMP_FRAG_NEEDED) case. So inconsistent endianness didn't really lead to bugs, but it had been subtle and prone to breakage. New variant is saner and obviously safe. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit a34c45896a723ee7b13128ac8bf564ea42fcd1eb Author: Al Viro Date: Thu Jul 26 17:33:19 2007 +0100 netfilter endian regressions no real bugs, just misannotations cropping up Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e0e5de00b0ee5a3b652d829f2c1e89265e9c6a99 Author: Al Viro Date: Thu Jul 26 17:33:09 2007 +0100 sun userflash is PCI-dependent Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 52cf875fb0f3a8a472eaa8be479777cf0a92e3ce Author: Al Viro Date: Thu Jul 26 17:32:59 2007 +0100 more VIRT_TO_BUS dependencies Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c98dbe59ae4da701f81ba16eb02c94ed85e663c7 Author: Al Viro Date: Thu Jul 26 17:32:49 2007 +0100 fix missing arguments in drivers/rtc/rtc-stk17ta8.c struct bin_attribute * is needed in bin_attribute ->read()/->write() now. Incidentally, could people please run the fscking compiler before and after applying their patch and compare the build logs? That (and many, many other) would be caught immediately. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit be03e56b777362a70f29399aaff9989fc3f3de63 Author: Greg Ungerer Date: Fri Jul 27 01:09:00 2007 +1000 m68knommu: use setup_irq() in 68328 timer code Use setup_irq() instead of request_irq() to set up system timer in 68328 timer code. With the old m68knommu irq code this was safe, but it is not now within the generic irq framework. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 5c4525da3b43ab194b99ea13142fa1f98fcba2fe Author: Greg Ungerer Date: Fri Jul 27 01:09:00 2007 +1000 m68knommu: use setup_irq() in ColdFire PIT timer Use setup_irq() instead of request_irq() to set up system timer in ColdFire PIT timer code. With the old m68knommu irq code this was safe, but it is not now within the generic irq framework. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 65fdef9303a69dab1f693159f6262375322dd676 Author: Greg Ungerer Date: Fri Jul 27 01:09:00 2007 +1000 m68knommu: remove unused mach_trap_init Remove the unused mach_trap_init function pointer. All use of it removed with change to using generic irq framework. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c52a2cda561fd40543d839e8e0c75b6d964a67ad Author: Greg Ungerer Date: Fri Jul 27 01:09:00 2007 +1000 m68knommu: use setup_irq() in ColdFire simple timer Use setup_irq() instead of request_irq() to set up system timer in ColdFire simple timer code. With the old m68knommu irq code this was safe, but it is not now within the generic irq framework. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 374c3f552d7c7731cf25b0d4938e9d14d9251bf4 Author: Greg Ungerer Date: Fri Jul 27 01:09:00 2007 +1000 m68knommu: remove use of colfire_trap_init The switch to using the generic irq framework removed the coldfire_trap_init() code, so remove all references to it. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit aa1f1d10e6f80362123fd7f736011f3ddd3acf25 Author: Greg Ungerer Date: Fri Jul 27 01:09:00 2007 +1000 m68knommu: use setup_irq() in 68360 timer code Use setup_irq() instead of request_irq() to set up system timer in 68360 timer code. With the old m68knommu irq code this was safe, but it is not now within the generic irq framework. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c423941890daebe2205a11bca7b51907f2b13940 Author: Greg Ungerer Date: Fri Jul 27 01:09:00 2007 +1000 m68knommu: add prototype for ack_bad_irq Create prototype for ack_bad_irq() for m68knommu. Compilation of kernel/irq/handle.c fails without it. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 219e3dcd1dd34d5b9b663977136877dcb393626a Author: Kristoffer Ericson Date: Thu Jul 26 07:41:12 2007 +0100 [ARM] 4528/1: [HP Jornada 7XX] - Fix typo in jornada720_ssp.c Fixes TxDummy -> TXDUMMY typo. Makes Jornada720_ssp.c compile nicely again. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit a403a0a370946e7dbcda6464a3509089daee54bc Author: Steve French Date: Thu Jul 26 15:54:16 2007 +0000 [CIFS] Fix hang in find_writable_file Caused by unneeded reopen during reconnect while spinlock held. Fixes kernel bugzilla bug #7903 Thanks to Lin Feng Shen for testing this, and Amit Arora for some nice problem determination to narrow this down. Acked-by: Dave Kleikamp Signed-off-by: Steve French commit a14ff99232f449e5f9e440757a9049be3fd9e23a Author: Russell King Date: Thu Jul 26 14:54:47 2007 +0100 [ARM] Remove CONFIG_IGNORE_FIQ IGNORE_FIQ does not appear in the Kconfig files, so can be removed. Signed-off-by: Russell King commit 1d1bbee61e4ecdaad450e9bf4d9983876ed53a43 Author: Jeff Garzik Date: Thu Jul 26 09:28:37 2007 -0400 [SCSI] libsas: Remove PCI dependencies Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA and struct device like other subsystems. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit e692ab53473c93c0d0820618c97aa74a62ab67da Author: Nick Piggin Date: Thu Jul 26 13:40:43 2007 +0200 [PATCH] sched: debug feature - make the sched-domains tree runtime-tweakable debugging feature: make the sched-domains tree runtime-tweakable. Signed-off-by: Andrew Morton [ mingo@elte.hu: made it depend on CONFIG_SCHED_DEBUG & small updates ] Signed-off-by: Ingo Molnar commit d02c7a8cf208eb80a3ccbff40a6bebe8902af35a Author: Con Kolivas Date: Thu Jul 26 13:40:43 2007 +0200 [PATCH] sched: add above_background_load() function Add an above_background_load() function which can be used by other subsystems to detect if there is anything besides niced tasks running. Place it in sched.h to allow it to be compiled out if not used. Unused for now, but it is a useful hint to the IO scheduler and to swap-prefetch. Signed-off-by: Con Kolivas Cc: Peter Williams Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit b762f3ffb797c1281a38a1c82194534055fba5ec Author: Joachim Deguara Date: Thu Jul 26 13:40:43 2007 +0200 [PATCH] sched: update Documentation/sched-stats.txt While learning about schedstats I found that the documentation in the tree is old. I updated it and found some interesting stuff like schedstats version 14 is the same as version and version 13 never saw a kernel release! Also there are 6 fields in the current schedstats that are not used anymore. Nick had made them irrelevant in commit 476d139c218e44e045e4bc6d4cc02b010b343939 but never removed them. Thanks to Rick's perl script who I borrowed some of the updated descriptions from. Signed-off-by: Joachim Deguara Acked-by: Nick Piggin Cc: Rick Lindsley Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit f33734619371ae40f34bbce001938408e6634f05 Author: Josh Triplett Date: Thu Jul 26 13:40:43 2007 +0200 [PATCH] sched: mark sysrq_sched_debug_show() static Only sched.c uses sysrq_sched_debug_show, and sched.c includes sched_debug.c, so all uses of sysrq_sched_debug_show occur in the same source file. Eliminates a sparse warning: warning: symbol 'sysrq_sched_debug_show' was not declared. Should it be static? Signed-off-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 2cd4d0ea19713304963dbb2de5073700bfe253f5 Author: Ingo Molnar Date: Thu Jul 26 13:40:43 2007 +0200 [PATCH] sched: make cpu_clock() not use the rq clock it is enough to disable interrupts to get the precise rq-clock of the local CPU. this also solves an NMI watchdog regression: the NMI watchdog calls touch_softlockup_watchdog(), which might deadlock on rq->lock if the NMI hits an rq-locked critical section. Signed-off-by: Ingo Molnar commit 018a2212950457b1093e504cd834aa0fe749da6c Author: Satoru Takeuchi Date: Thu Jul 26 13:40:43 2007 +0200 [PATCH] sched: remove unused rq->load_balance_class Remove unused rq->load_balance_class. Signed-off-by: Satoru Takeuchi Signed-off-by: Ingo Molnar commit e107be36efb2a233833e8c9899039a370e4b2318 Author: Avi Kivity Date: Thu Jul 26 13:40:43 2007 +0200 [PATCH] sched: arch preempt notifier mechanism This adds a general mechanism whereby a task can request the scheduler to notify it whenever it is preempted or scheduled back in. This allows the task to swap any special-purpose registers like the fpu or Intel's VT registers. Signed-off-by: Avi Kivity [ mingo@elte.hu: fixes, cleanups ] Signed-off-by: Ingo Molnar commit b47e8608a08766ef8121cd747d3aaf6c3dc22649 Author: Ingo Molnar Date: Thu Jul 26 13:40:43 2007 +0200 [PATCH] sched: increase SCHED_LOAD_SCALE_FUZZ increase SCHED_LOAD_SCALE_FUZZ that adds a small amount of over-balancing: to help distribute CPU-bound tasks more fairly on SMP systems. the problem of unfair balancing was noticed and reported by Tong N Li. 10 CPU-bound tasks running on 8 CPUs, v2.6.23-rc1: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2572 mingo 20 0 1576 244 196 R 100 0.0 1:03.61 loop 2578 mingo 20 0 1576 248 196 R 100 0.0 1:03.59 loop 2576 mingo 20 0 1576 248 196 R 100 0.0 1:03.52 loop 2571 mingo 20 0 1576 244 196 R 100 0.0 1:03.46 loop 2569 mingo 20 0 1576 244 196 R 99 0.0 1:03.36 loop 2570 mingo 20 0 1576 244 196 R 95 0.0 1:00.55 loop 2577 mingo 20 0 1576 248 196 R 50 0.0 0:31.88 loop 2574 mingo 20 0 1576 248 196 R 50 0.0 0:31.87 loop 2573 mingo 20 0 1576 248 196 R 50 0.0 0:31.86 loop 2575 mingo 20 0 1576 248 196 R 50 0.0 0:31.86 loop v2.6.23-rc1 + patch: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2681 mingo 20 0 1576 244 196 R 85 0.0 3:51.68 loop 2688 mingo 20 0 1576 244 196 R 81 0.0 3:46.35 loop 2682 mingo 20 0 1576 244 196 R 80 0.0 3:43.68 loop 2685 mingo 20 0 1576 248 196 R 80 0.0 3:45.97 loop 2683 mingo 20 0 1576 248 196 R 80 0.0 3:40.25 loop 2679 mingo 20 0 1576 244 196 R 80 0.0 3:33.53 loop 2680 mingo 20 0 1576 244 196 R 79 0.0 3:43.53 loop 2686 mingo 20 0 1576 244 196 R 79 0.0 3:39.31 loop 2687 mingo 20 0 1576 244 196 R 78 0.0 3:33.31 loop 2684 mingo 20 0 1576 244 196 R 77 0.0 3:27.52 loop so they now nicely converge to the expected 80% long-term CPU usage. Signed-off-by: Ingo Molnar commit c64ac9f0581a80b6200846e7007a33c3b24ef745 Author: David McCullough Date: Thu Jul 26 17:46:07 2007 +0900 sh: fix get_wchan() for SH kernels without framepointers Do not follow the frame pointers (/proc/X/task/1/stat) unless we were compiled with them. Signed-off-by: David McCullough Signed-off-by: Paul Mundt commit 1f25756a11d662a986553754bf398ccc38f3925e Author: David McCullough Date: Thu Jul 26 17:43:41 2007 +0900 sh: arch/sh/boot - fix shell usage Fix the shell call to explicitly use bash, since they are bash specific and not all systems have bash as the default. Signed-off-by: David McCullough Signed-off-by: Paul Mundt commit 699bc6614f4d5a68b8840d4d859e9ca205530a77 Author: Markus Brunner Date: Thu Jul 26 17:31:28 2007 +0900 rtc: rtc-sh: Correct sh_rtc_set_time() for some SH-3 parts. Some SH-3 parts (SH7720 and SH7705 at least) need to have the start bit explicitly cleared, as the reset is not enough. This is safe across all parts, so simply clear the start bit in the sh_rtc_set_time() path. Signed-off-by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Paul Mundt commit d89ddd1c847637d91625c8cb6b0d064e1717057c Author: Magnus Damm Date: Wed Jul 25 11:42:56 2007 +0900 sh: remove support for sh7300 and solution engine 7300 This patch removes old dead code: - kill off sh7300 cpu support - get rid of broken solution engine 7300 board support Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 32582fa46020cd8940006a8d42dec083d72d6d8b Author: Paul Mundt Date: Wed Jul 25 11:27:05 2007 +0900 sh: Add sh to the CC_OPTIMIZE_FOR_SIZE dependencies. Presently we only use this with CONFIG_EXPERIMENTAL, but it is something that can be supported commonly. Signed-off-by: Paul Mundt commit e257ad062a3ceaf36b0e883d0ef00b185daf500e Author: Paul Mundt Date: Wed Jul 25 11:18:00 2007 +0900 sh: Kill off virt_to_bus()/bus_to_virt(). Wire up ARCH_NO_VIRT_TO_BUS, and kill off the remaining users. The dma-mapping code really wanted virt_to_phys()/phys_to_virt() anyways, there are no inherently special bus addresses. Signed-off-by: Paul Mundt commit 0fbde9509d7b2f71b9326f9c5807a0b4193c7c76 Author: Magnus Damm Date: Thu Jul 26 10:14:16 2007 +0900 sh: sh-sci - fix SH7708 support This patch makes sure the sci serial port driver compiles for sh7708. The approach taken is to treat the sh7708 as a subset of sh7706, sh7707, sh7709. sh7708 is very similar to sh7706, sh7707, sh7709, but only equipped with a single sci port. The platform data in setup-sh770x.c already limits the number of serial ports for sh7708 to a single one, so the non-existing scif ports pointed out in sh-sci.h will remain unused in case of sh7708. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ac79fd58a25dbd9848f2c2857da6a79494dabb9a Author: Paul Mundt Date: Wed Jul 25 16:26:10 2007 +0900 sh: Restrict DSP support to specific CPUs. Not all CPUs support the DSP, and this leads to problems when mixing and matching CPU types and DSP opcodes. Fix this up by only allowing CONFIG_SH_DSP to be enabled for the CPUs that explicitly have such a block. Signed-off-by: Paul Mundt commit b067c50a7f58838d8a53670ea3c07e18d7391900 Author: Paul Mundt Date: Wed Jul 25 15:59:47 2007 +0900 sh: Silence sq compile warning on sh4 nommu. Signed-off-by: Paul Mundt commit 3c6b6c7fb7d8876f1c1e07fdb937980f05a98315 Author: Paul Mundt Date: Wed Jul 25 10:54:25 2007 +0900 sh: Kill the rest of the SE73180 cruft. There was a stray header, and the mach-type removal was also missed. Signed-off-by: Paul Mundt commit 9d78592ed72dbff1d8825207f8def07858a49768 Author: Christoph Hellwig Date: Wed Jul 25 21:31:09 2007 +1000 [POWERPC] spusched: Fix initial timeslice calculation Currently we calculate the first timeslice for every context incorrectly - alloc_spu_context calls spu_set_timeslice before we set ctx->prio so we always calculate the longest possible timeslice for the lowest possible priority. This patch makes sure to update the schedule-related fields before calculating the timeslice and also makes sure we update the timeslice for a non-running context when entering spu_run so a priority change affects the context as soon as possible. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 6f6a6dc0c8ebdb6514ab6bb58ba4b8739957b342 Author: Masato Noguchi Date: Wed Jul 25 13:20:15 2007 +1000 [POWERPC] spufs: Fix incorrect initialization of cbe_spu_info.spus We currently initialize cbe_spu_info[].spus in both init_spu_base and spu_sched_init. The initialise in spu_sched_init clears the SPU list, so we end up with no physical SPUs. Because of this, the spu_run syscall will block forever. This change removes the unnecessary initialization in spu_sched_init. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 17cd87c26bd86546ea3217397ef3428581970058 Author: Benjamin Herrenschmidt Date: Thu Jul 26 14:07:14 2007 +1000 [POWERPC] Fix Maple platform ISA bus The Maple platform has ISA IOs but didn't call the new functions to actually map those, thus crashing when trying to access the nvram. This fixes Maple and JS2x using SLOF. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 50747cb8189d54369d75e1bd73f84db431d39af8 Author: Benjamin Herrenschmidt Date: Thu Jul 26 14:07:13 2007 +1000 [POWERPC] Make pci_iounmap actually unmap things This patch uses the newly added functions for testing if an address is an ISA or PCI IO port to properly unmap things in pci_iounmap that aren't such ports. Without that, drivers using the iomap API will never actually unmap resources, which on IBM server machines will prevent hot-unplug of the corresponding HW adapters. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6dfbde209171cd15407e7540d363a434a489aaca Author: Benjamin Herrenschmidt Date: Thu Jul 26 14:07:13 2007 +1000 [POWERPC] Add function to check if address is an IO port This adds a function that tells you if a given kernel virtual address is hitting a PCI or ISA IO port permanent mapping or not. This is to be used in the next patch to fix iomap APIs to properly unmap things. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f5d834fc34e61f1a40435981062000e5d2b2baa8 Author: Alan Curry Date: Wed Jul 25 11:28:32 2007 +1000 [POWERPC] Fix Pegasos keyboard detection As of 2.6.22 the kernel doesn't recognize the i8042 keyboard/mouse controller on the PegasosPPC. This is because of a feature/bug in the OF device tree: the "device_type" attribute is an empty string instead of "8042" as the kernel expects. This adds a secondary detection which looks for a device whose *name* is "8042" if there is no device whose *type* is "8042". Signed-off-by: Alan Curry Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 16782a604c458e1edcefca52457a82395b788bed Author: Stephen Rothwell Date: Wed Jul 25 09:29:19 2007 +1000 [POWERPC] iSeries: Fix section mismatch warning in lpevents WARNING: vmlinux.o(.text+0x4f568): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.setup_hvlpevent_queue' and '.process_hvlpevents') setup_hvlpevent_queue is only called from __init code so make it __init as well. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c40b91b59de079583cde5f0c8e2c96d8af0f76a7 Author: Stephen Rothwell Date: Wed Jul 25 09:27:35 2007 +1000 [POWERPC] iSeries: Fix section mismatch warnings WARNING: vmlinux.o(.text+0x8124): Section mismatch: reference to .init.text:.iSeries_early_setup (between '.__start_initialization_iSeries' and '.__mmu_off') WARNING: vmlinux.o(.text+0x8128): Section mismatch: reference to .init.text:.early_setup (between '.__start_initialization_iSeries' and '.__mmu_off') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 56a4c6e31a25a218c066d8da27558a86310bbfd7 Author: Stephen Rothwell Date: Mon Jul 23 11:55:32 2007 +1000 [POWERPC] iSeries: We need vio_enable_interrupts Commit 3d0e91f7ace12499c4b00088e9a6b1361e1bb0ca introduced a requirement for vio_enable_interrupts which iSeires has never needed. So create a dummy one. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f2d32db3443157e8f50c7c86b8ff1477c27d6e3e Author: Guennadi Liakhovetski Date: Sun Jul 22 08:43:11 2007 +1000 [POWERPC] Fix RTC and device tree on linkstation machines This fixes the RTC on linkstation ppc machines again, and updates the device tree: add rtc nodes on i2c, remove bogus 0-size cache-line declarations, rename interrupt-controller nodes, remove erroneous interrupt-parent line, accidentally introduced by a recent patch. Signed-off-by: G. Liakhovetski Signed-off-by: Paul Mackerras commit d13ae8620dfdedfa7e9ab6d1eec294adc0516065 Author: Guennadi Liakhovetski Date: Sat Jul 21 06:26:15 2007 +1000 [POWERPC] Add of_register_i2c_devices() Scan the device tree for i2c devices, check their "compatible" property against a hard-coded table, and, if found, register with i2c boardinfo. This provides the infrastructure needed to find i2c devices in the device tree and register them with the i2c subsystem. This and the following commit let the linkstation work with the new i2c API and thus fix a regression. Signed-off-by: G. Liakhovetski Signed-off-by: Paul Mackerras commit 56d6d1a73d9e5ddd9eb1a7baeeda30803ba44879 Author: Manish Ahuja Date: Tue Jul 10 05:03:45 2007 +1000 [POWERPC] Fix loop with unsigned long counter variable This fixes a possible infinite loop when the unsigned long counter "i" is used in lmb_add_region() in the following for loop: for (i = rgn->cnt-1; i >= 0; i--) by making the loop counter "i" be signed. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 141707892e92dca69b7b8af65b9367da2d1f8120 Author: Kumar Gala Date: Thu Jul 26 00:46:15 2007 -0500 [POWERPC] Fix register labels on show_regs() message for 4xx/Book-E In a show_regs() message The DEAR and ESR were reported as DAR and DSISR which only exist on classic parts. Signed-off-by: Kumar Gala commit d1c813123f3beebcffb8446929e0e917defda67f Author: Kumar Gala Date: Thu Jul 26 00:43:36 2007 -0500 [POWERPC] Only allow building of BootX text support on PPC_MULTIPLATFORM BootX text code is only supported on systems with real OF at this point which is PPC_OF && PPC_MULTIPLATFORM. Signed-off-by: Kumar Gala commit 10ce8c69d09c8dcdebe926adb2e7d28f540e2939 Author: Roy Zang Date: Fri Jul 13 17:35:33 2007 +0800 [POWERPC] Fix the ability to reset on MPC8544 DS and MPC8568 MDS boards Add global-utilities node with has-rstcr on MPC8544 DS and MPC8568 MDS boards so they are able to reset properly. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 006af9e229bf28b59c451e8370deca87c7cc3ee6 Author: Roy Zang Date: Wed Jul 11 14:39:17 2007 +0800 [POWERPC] Fix mpc7448hpc2 tsi108 device_type bug Fix mpc7448hpc2 tsi108 device_type bug. Wrong device type will break the board startup. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 282045b45060d5a8be0ebd13c1506551c6a0a0b8 Author: Kumar Gala Date: Thu Jul 26 00:16:05 2007 -0500 [POWREPC] Fixup a number of modpost warnings on ppc32 Fixed the following warnings: WARNING: vmlinux.o(.text+0x2934): Section mismatch: reference to .init.text:__alloc_bootmem (between 'irq_alloc_host' and 'irq_set_default_host') WARNING: vmlinux.o(.text+0xb2aa): Section mismatch: reference to .init.data:boot_command_line (between 'register_early_udbg_console' and 'udbg_printf') WARNING: vmlinux.o(.text+0xb2b2): Section mismatch: reference to .init.data:boot_command_line (between 'register_early_udbg_console' and 'udbg_printf') WARNING: vmlinux.o(.text+0xe354): Section mismatch: reference to .init.text:__alloc_bootmem (between 'pcibios_alloc_controller' and 'pci_domain_nr') WARNING: vmlinux.o(.text+0x12768): Section mismatch: reference to .init.text:update_bridge_resource (between 'quirk_fsl_pcie_transparent' and 'indirect_read_config') WARNING: vmlinux.o(.text+0x127a8): Section mismatch: reference to .init.text:update_bridge_resource (between 'quirk_fsl_pcie_transparent' and 'indirect_read_config') WARNING: vmlinux.o(.text+0x17566c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented') Signed-off-by: Kumar Gala commit 9a9bcf4e00281cd135e69f8d996acbbeb5aef6d0 Author: Kumar Gala Date: Thu Jul 26 00:07:36 2007 -0500 [POWERPC] Fix ethernet PHY support on MPC8544 DS The MPC8544 dts needed to set the new phy-connection-type to rgmii-id for the Vitesse PHY on the board to work properly. Signed-off-by: Kumar Gala commit 67effe8fff32f60bdf51cba484766ba6003005bb Author: Len Brown Date: Thu Jul 26 00:50:06 2007 -0400 ACPI: add "acpi_no_auto_ssdt" bootparam "acpi_no_auto_ssdt" prevents Linux from automatically loading all the SSDTs listed in the RSDT/XSDT. This is needed for debugging. In particular, it allows a DSDT override to optionally be a DSDT+SSDT override. http://bugzilla.kernel.org/show_bug.cgi?id=3774 Signed-off-by: Len Brown commit 2052d6d25decc04dc05beb99348b3d78f6e3490d Author: Kumar Gala Date: Wed Jul 25 00:44:11 2007 -0500 [POWERPC] Don't try to allocate resources for a Freescale POWERPC PHB The Freescale PCI PHBs actual report back values in the BAR registers this causes issues in that we try to allocate resources for them and will get error messages like the following on MPC8544 DS: PCI: Failed to allocate mem resource #1:80000000@0 for 0000:00:00.0 To address this if we are class PCI_CLASS_PROCESSOR_POWERPC, a normal header type, and the PHB we clear out all the resources. Signed-off-by: Kumar Gala commit 77926826f301fbd8ed96d3cd9ff17a5b59560dfb Author: Paul Mackerras Date: Thu Jul 26 13:44:36 2007 +1000 Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()" This reverts commit fd6e9d3945ee122eb513ada8b17296d243c1ce5e. Having #size-cells == 0 in a node indicates that things under the node aren't directly accessible, and therefore we shouldn't try to translate addresses for devices under the node into CPU physical addresses. Some drivers, such as the nvram driver for powermacs, rely on of_address_to_resource failing if they are called for a node representing a device whose resources aren't directly accessible by the CPU. These drivers were broken by commit fd6e9d39, resulting in the "Lombard" powerbook hanging early in the boot process. Signed-off-by: Paul Mackerras commit 393618510d5349e07d71dc28fb6fc49baf0d96a0 Author: Adrian Bunk Date: Wed Jul 25 00:40:58 2007 +0200 drivers/mmc/core/: make 3 functions static This patch makes the following needlessly global functions static: - sd_ops.c: mmc_app_cmd() - core.c: __mmc_release_bus() - core.c: mmc_start_request() Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit facba9179e3cd5fa91ff40bbc555c5cd4c101092 Author: Pierre Ossman Date: Tue Jul 24 21:53:43 2007 +0200 mmc: add missing printk levels Some printk:s were missing an explicit level. Signed-off-by: Pierre Ossman commit 462f104ba6a65ea2128462e2ef0c3adb18609954 Author: Pierre Ossman Date: Tue Jul 24 21:47:47 2007 +0200 mmc: remove redundant debug information from sdhci and wbsd Remove the extra debugging output that now is properly printed by the core. Signed-off-by: Pierre Ossman commit e4d217087458914a6d5d9fd034d7237e6530c619 Author: Pierre Ossman Date: Tue Jul 24 21:46:49 2007 +0200 mmc: proper debugging output in core Make sure that the debugging output in the core is complete. This should allow us to clean up all the extra debug output that each and every other host driver seems to contain. Signed-off-by: Pierre Ossman commit 109b5bed18441599b5ab0e1f3623efa5715a4703 Author: Pierre Ossman Date: Mon Jul 23 00:12:10 2007 +0200 mmc: be more verbose about card insertions/removal Let the user know that the kernel actually detected the card by printing some basic information in dmesg. Signed-off-by: Pierre Ossman commit 2986d0bf23d97d68804ccfa80965073ccf1af242 Author: Pierre Ossman Date: Sun Jul 22 17:52:06 2007 +0200 mmc: Don't hold lock when releasing an added card When the card has been added to the device model, it might be bound to a card driver. Therefore, we have to release the host lock when trying to remove it as we otherwise might deadlock with the driver. Signed-off-by: Pierre Ossman commit cf795bfb3ad4e2f8f6bb346aa8edb8272d4c70a2 Author: Pierre Ossman Date: Wed Jul 11 20:28:02 2007 +0200 mmc: add a might_sleep() to mmc_claim_host() In the normal case, the host lock can be claimed directly. When it cannot, the caller will sleep. Make sure we don't have any latent bugs by always calling might_sleep(). Signed-off-by: Pierre Ossman commit 67a61c484735de9bf4f099830ecb4ef2eca95c38 Author: Pierre Ossman Date: Wed Jul 11 20:22:11 2007 +0200 mmc: update kerneldoc Make sure the kerneldoc comments are up to date and relevant. Signed-off-by: Pierre Ossman commit 70f10482c668301c483acded13bf68780ad352b9 Author: Pierre Ossman Date: Wed Jul 11 20:04:50 2007 +0200 mmc: update header file paths Make sure all headers in the files reflect their true position in the tree. Signed-off-by: Pierre Ossman commit b8352260d28b30cb2bb2df99814fb9c360e38901 Author: Leandro Dorileo Date: Wed Jul 25 23:47:04 2007 +0200 sdhci: add support to ENE-CB714 Added its pci_id and implemented a quirk for it because this controller needs to reset cmd and data when setting ios. Signed-off-by: Leandro Dorileo Signed-off-by: Otavio Salvador Signed-off-by: Pierre Ossman commit 43b58b36b7e6554b8a96be6b9f63542c583c06e5 Author: Pierre Ossman Date: Wed Jul 25 23:15:27 2007 +0200 mmc: check error bits before command completion Some controllers signal "command complete" even on failures (which they are allowed to do according to the spec). Make sure we check the error bits first so we don't get any false positives. Signed-off-by: Pierre Ossman commit cb7e51d8b1f8e2390970f4bb7d095c414b1bf3cf Author: Sam Ravnborg Date: Wed Jul 25 22:24:52 2007 +0200 kbuild: fix modpost warnings for xtensa The Xtensa architecture places literal pools in sections separate from the instructions. The corresponsing text sections, therefore, reference the .literal section, and we have to suppress those warnings. The naming convention defines the name for a literal section as .SECTION.literal, unless .SECTION is .text. In that case the name is only .literal. Using strncmp() instead of strcmp() to compare the from-section with .SECTION.init.refok in pattern 0 should not cause any regressions for other architectures. We also need to suppress warnings for two informational sections (.xt.lit and .xt.prop) used by the Xtensa architecture. Signed-off-by: Chris Zankel Signed-off-by: Sam Ravnborg commit fd3adb2ae8e16a02dfd5ed68f50fcf76fcdaff0b Author: FUJITA Tomonori Date: Mon Jul 23 09:40:54 2007 +0900 [SCSI] simscsi: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: James Bottomley commit cb2e0912f714b116812ef5834b5ba80d894ac967 Author: Tony Luck Date: Fri Jul 20 16:14:28 2007 -0700 [IA64] Nail two more simple section mismatch errors pcibios_setup (between 'pci_setup' and 'quirk_mellanox_tavor') setup_profiling_timer (between 'write_profile' and 'delayed_put_task_struct') Signed-off-by: Tony Luck commit 9d6f40b86b47928ffde8a41cb2ef332da34b3de2 Author: Tony Luck Date: Fri Jul 20 14:39:24 2007 -0700 [IA64] fix section mismatch warnings In 741f98fe298a73c9d47ed53703c1279a29718581 Sam added full checking across the entire vmlinux image. This flushed out a dozen new section mismatch warnings. Start the whack-a-mole game again to stomp them out. Signed-off-by: Tony Luck commit 3b74d18e54e20fc1d398eb391bea5b9aed22aca5 Author: akpm@linux-foundation.org Date: Tue Jul 24 19:44:55 2007 -0700 [IA64] rename partial_page Jens has added a partial_page thing in splice whcih conflicts with the ia64 one. Rename ia64 out of the way. (ia64 chose poorly). Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 83cda2bb37cb8476cd84659d9698ab48553be974 Author: Sam Ravnborg Date: Wed Jul 25 21:52:31 2007 +0200 kbuild: be more foregiving on init section naming In the whitelist function of modpost now use the same check to identify init_section as in other places of modpost. This has the effect that we now recognize sections named .init.text.19 as init sections and we no longer warn when we see these. At the same time make surrounding code readable by dropping use of temporary flags. Signed-off-by: Sam Ravnborg commit 2f5ee619045d923de9137b6a263a99cc2428391a Author: Sam Ravnborg Date: Wed Jul 25 21:46:40 2007 +0200 kbuild: rearrange a few function in modpost This is a preparational patch that just move two functions and add one (for now unused) function. Signed-off-by: Sam Ravnborg commit 114f51577724b782a30f4f5ceaee9880de93d776 Author: Roland McGrath Date: Mon Jul 23 01:12:08 2007 -0700 kbuild: use LDFLAGS_MODULE only for .ko links Sam Ravnborg pointed out that Documentation/kbuild/makefiles.txt already says this is what it's for. This patch makes the reality live up to the documentation. This fixes the problem of LDFLAGS_BUILD_ID getting into too many places. Signed-off-by: Roland McGrath Signed-off-by: Sam Ravnborg commit 1edf1c00acf8d9b60d436d6a0a55e395353a446c Author: Sam Ravnborg Date: Sat Jul 21 00:05:26 2007 +0200 kconfig: remove unused members from struct symbol dep and dep2 in struct symbol was unused - remove them. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 03d29122738f0bd81afd44b1f566e64ebf8d06fe Author: Sam Ravnborg Date: Sat Jul 21 00:00:36 2007 +0200 kconfig: attach help text to menus Roman Zippel wrote: > A simple example would be > help texts, right now they are per symbol, but they should really be per > menu, so archs can provide different help texts for something. This patch does this and at the same time introduce a few API funtions used to access the help text. The relevant api functions are introduced in the various frontends. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 4a645d5ea65baaa5736bcb566673bf4a351b2ad8 Author: Jesper Juhl Date: Fri Jul 20 02:49:23 2007 +0200 kbuild: fix up printing of Linux C Library version in scripts/ver_linux I noticed, when running scripts/ver_linux on both a Gentoo system and a Slackware system, that the line printing the C library version looked a little odd. So I fixed it up to be in line with all the rest. Old output: Linux C Library > libc.2.5 New output: Linux C Library 2.5 Signed-off-by: Jesper Juhl Signed-off-by: Sam Ravnborg commit 8d8d8289df65cb116d2721becafb37272074f25a Author: Sam Ravnborg Date: Fri Jul 20 22:36:56 2007 +0200 kbuild: do not do section mismatch checks on vmlinux in 2nd pass We already check and warn about section mismatches from vmlinux (build as vmlinux.o) during first pass so skip the checks during the 2nd pass where we process modules. Signed-off-by: Sam Ravnborg commit 4bf3b0bc3e98f77de88b336fd8d673649601b557 Author: H. Peter Anvin Date: Wed Jul 25 11:06:02 2007 -0700 [x86 setup] Make struct apm_bios_info cross-architecture struct apm_bios_info uses "unsigned short" and "unsigned long" to mean u16 and u32 respectively. Correct. Signed-off-by: H. Peter Anvin commit 238b706da1c6ebacc55986ac8668f3ede4621f2c Author: H. Peter Anvin Date: Wed Jul 18 17:19:30 2007 -0700 [x86 setup] Make struct ist_info cross-architecture, and use in setup code Make "struct ist_info" valid on both i386 and x86-64, and use the structure by name in the setup code. Additionally, "Intel SpeedStep IST" is redundant, refer to it as IST consistently. Signed-off-by: H. Peter Anvin commit f77b1ab383c8745447a3385e25729b92f2ec58a4 Author: H. Peter Anvin Date: Wed Jul 18 17:16:19 2007 -0700 [x86 setup] Fix typos in struct efi_info Fix missing letters in the structure members of struct efi_info. Signed-off-by: H. Peter Anvin commit 1a13286b104faeeb4f4bc3bfbf4d4fcdcd2569ed Author: H. Peter Anvin Date: Mon Jul 23 15:37:14 2007 -0700 [x86 setup] APM: BX should be zero when disconnecting For APM calls, BX contains the device index, which is zero for the system BIOS. Disconnect requres BX = 0. Signed-off-by: H. Peter Anvin commit 1514ab09edb071345fe17cd230c97f9e72c9478e Author: Mikael Pettersson Date: Tue Jul 24 00:25:59 2007 +0200 [x86 setup] APM detection logic bug fix Starting with kernel 2.6.23-rc1, the i386 APM driver fails on several of my machines with the message: apm: BIOS not found This happens because of a bug in the i386 boot code rewrite from assembler to C. The original assembly code had the following code in its APM BIOS presence test (boot/setup.S): andw $0x02, %cx # Is 32 bit supported? je done_apm_bios # No 32-bit, no (good) APM BIOS That is, the code bails out if bit 2 is zero. In the new C version, this is coded as (boot/apm.c): if (cx & 0x02) /* 32 bits supported? */ return -1; Here we see that the test has been accidentally inverted. The fix is to negate the test. I've verified that this allows the APM driver to work again on my affected machines. Signed-off-by: Mikael Pettersson Signed-off-by: H. Peter Anvin commit a07ee86205808d36973440e68c7277f9ed63b87f Author: Horms Date: Wed Jul 25 16:06:25 2007 +0900 [IA64] Ensure that machvec is set up takes place before serial console Parse the machvec command line option outside of the early_param() so that ia64_mv is set before any console intialisation that may result from early_param parsing. Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit 6ffbc82351c62eeeeaeb9e817ddf93049353493d Author: Kenji Kaneshige Date: Wed Jul 25 17:59:22 2007 +0900 [IA64] vector-domain - fix vector_table Fix wrong access to vector_table[]. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 8f5ad1a8227aa110d633b5ed04dde535381c16c7 Author: Yasuaki Ishimatsu Date: Tue Jul 24 22:09:09 2007 +0900 [IA64] vector-domain - handle assign_irq_vector(AUTO_ASSIGN) This change fixes a panic when assign_irq_vector(irq) is called with irq = AUTO_ASSIGN. Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit bc72450aebe73587f80bbae8fc0b62c3d81b85fe Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: make BOOTPARAM setup common Currently most of the m68knommu cpu/board setup files are handling the setup of fixed boot parameters (via CONFIG_BOOTPARAM) themselves. Move all this into the common setup code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 020f9e16c306f929382ad81e5a0ecf4f41887616 Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: fix reset register address casting Fix types used for reset register address setup. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 906a2621fc14005ac6e29a2b85aa8685b68bb016 Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: add configure support for Intec boards Add configure support for the Intec Wildfire and WildFireMod boards. Signed-Off-By: Steve Bennett Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 7160a67305f08d52284b333f1403abbf8b0a1970 Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: simplify ColdFire resume code It is useless to preserve THREAD_SR in `resume'. The real user's sr is actually in the stack. We also don't need to disable interrupts : we'll never be in an invalid state, the sp switch is atomic. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 063586a6b1e877eb10621d191aeb67e361383d77 Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: create hw_irq.h Need an include/asm-m68knommu/hw_irq.h for kernel/hrtimer.c Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit a6fcafd09959cf9204f0cdb7a2545ffd7d95d5dd Author: Philippe De Muyter Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: fix definition of MCFDMA_DIR_INV Fix a small typo in the definition of MCFDMA_DIR_INV (MCF5272 specific). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 33e7a72a9c7ebb822d419a07840c3546513feff0 Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: add build support for more Arcturus boards Add build support for the new Arcturus boards. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 85e026bc0d9c9962de5ad65e3be40733f0f8d99c Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: need to include linux/device.h in dma.c Need to explicitly include linux/device.h. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 5c4f5264d503f0650c954a181b0ba255913bb382 Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: fix tick timer definition for coldfire CLOCK_TICK_RATE should give the underlying frequency of the tick timer, to make ntp happy. For Coldfires, that's the main clock. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 36995223872df6642e604aab2be84377a5d12a19 Author: David Wu Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: add configure support for more Arcturus boards Add configure support for the Arcturus UC5272 and UC5282 boards. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 931f9cde5c3f9dc7827759db258eaf979bfa92b6 Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: fix workqueues in 68328 serial driver Fix workqueues in 68328 serial driver. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit a427138712f388987aa13475bf591685b6b8cd46 Author: Greg Ungerer Date: Wed Jul 25 22:07:20 2007 +1000 m68knommu: remove legacy power managament from 68328 serial driver Remove the legacy power management code from the 68328 serial driver. It is not used, and there is no current kernel support for power management on the 68328. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 17c38b7490b3f0300c7812aefdae2ddda7ab4112 Author: john stultz Date: Tue Jul 24 18:38:34 2007 -0700 Cache xtime every call to update_wall_time This avoids xtime lag seen with dynticks, because while 'xtime' itself is still not updated often, we keep a 'xtime_cache' variable around that contains the approximate real-time that _is_ updated each time we do a 'update_wall_time()', and is thus never off by more than one tick. IOW, this restores the original semantics for 'xtime' users, as long as you use the proper abstraction functions (ie 'current_kernel_time()' or 'get_seconds()' depending on whether you want a timespec or just the seconds field). [ Updated Patch. As penance for my sins I've also yanked another #ifdef that was added to avoid the xtime lag w/ hrtimers. ] Signed-off-by: John Stultz Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Linus Torvalds commit 2c6b47de17c75d553de3e2fb426d8298d2074585 Author: john stultz Date: Tue Jul 24 17:47:43 2007 -0700 Cleanup non-arch xtime uses, use get_seconds() or current_kernel_time(). This avoids use of the kernel-internal "xtime" variable directly outside of the actual time-related functions. Instead, use the helper functions that we already have available to us. This doesn't actually change any behaviour, but this will allow us to fix the fact that "xtime" isn't updated very often with CONFIG_NO_HZ (because much of the realtime information is maintained as separate offsets to 'xtime'), which has caused interfaces that use xtime directly to get a time that is out of sync with the real-time clock by up to a third of a second or so. Signed-off-by: John Stultz Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Linus Torvalds commit 910949a66839ff5f59fede5b7cb68ecf1453e22c Author: Venkat Yekkirala Date: Tue Jul 24 09:53:23 2007 -0500 SELinux: null-terminate context string in selinux_xfrm_sec_ctx_alloc xfrm_audit_log() expects the context string to be null-terminated which currently doesn't happen with user-supplied contexts. Signed-off-by: Venkat Yekkirala Acked-by: Stephen Smalley Signed-off-by: James Morris commit d37c85571904a622cbabc7a2e04b8c919de75ac0 Author: Aurelien Jarno Date: Wed Jul 25 10:19:54 2007 +0200 KVM: disable writeback for 0x0f 0x01 instructions. 0x0f 0x01 instructions (ie lgdt, lidt, smsw, lmsw and invlpg) does not use writeback. This patch set no_wb=1 when emulating those instructions. This fixes a regression booting the FreeBSD kernel on AMD. Signed-off-by: Aurelien Jarno Signed-off-by: Avi Kivity commit 4c981b43d7ec18818754bf85b829865abd0ce340 Author: Avi Kivity Date: Wed Jul 25 09:22:12 2007 +0300 KVM: Fix removal of nx capability from guest cpuid Testing the wrong bit caused kvm not to disable nx on the guest when it is disabled on the host (an mmu optimization relies on the nx bits being the same in the guest and host). This allows Windows to boot when nx is disabled on te host (e.g. when host pae is disabled). Signed-off-by: Avi Kivity commit 7cfa4b0a43286b1da3afa4f5f99d52e65a8f30fc Author: Avi Kivity Date: Mon Jul 23 18:33:14 2007 +0300 Revert "KVM: Avoid useless memory write when possible" This reverts commit a3c870bdce4d34332ebdba7eb9969592c4c6b243. While it does save useless updates, it (probably) defeats the fork detector, causing a massive performance loss. Signed-off-by: Avi Kivity commit 5e58cfe41c7e5902c32bb7f62993d43fb4c48ccf Author: Rusty Russell Date: Mon Jul 23 17:08:21 2007 +1000 KVM: Fix unlikely kvm_create vs decache_vcpus_on_cpu race We add the kvm to the vm_list before initializing the vcpu mutexes, which can be mutex_trylock()'ed by decache_vcpus_on_cpu(). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit b0fcd903e6f3f47189baddf3fe085bdf78c9644c Author: Avi Kivity Date: Sun Jul 22 18:48:54 2007 +0300 KVM: Correctly handle writes crossing a page boundary Writes that are contiguous in virtual memory may not be contiguous in physical memory; so split writes that straddle a page boundary. Thanks to Aurelien for reporting the bug, patient testing, and a fix to this very patch. Signed-off-by: Aurelien Jarno Signed-off-by: Avi Kivity commit 7659c038d3d0a635b5aeff04aed523d7b6c1dde8 Author: Kumar Gala Date: Wed Jul 25 00:29:53 2007 -0500 [POWERPC] Fix PCI indirect for big-endian cfg_addr We didn't actually propogate the flag we pass into setup_indirect_pci() to set indirect_type and thus were getting the wrong endianness if PPC_INDIRECT_TYPE_BIG_ENDIAN was set. Also, we need to or in additional flags rather than just doing a direct assignment. Signed-off-by: Kumar Gala commit e8b2fd01228f690c3e0cb3f14facfa8d93d4adae Author: Len Brown Date: Tue Jul 24 22:26:33 2007 -0400 ACPI: Kconfig: remove CONFIG_ACPI_SLEEP from source As it was a synonym for (CONFIG_ACPI && CONFIG_X86), the ifdefs for it were more clutter than they were worth. For ia64, just add a few stubs in anticipation of future S3 or S4 support. Signed-off-by: Len Brown commit c30c620ee1cc351bcc149c4280e1166998df0064 Author: Len Brown Date: Wed Jul 25 00:57:46 2007 -0400 ACPI: quiet ACPI Exceptions due to no _PTC or _TSS ACPI Exception (processor_throttling-0084): AE_NOT_FOUND, Evaluating _PTC [20070126] ACPI Exception (processor_throttling-0147): AE_NOT_FOUND, Evaluating _TSS [20070126] These methods are optional, so Linux should not alarm users when they are not found. http://bugzilla.kernel.org/show_bug.cgi?id=8802 Signed-off-by: Len Brown Acked-by: Luming Yu commit 870e8a24380cf1854dc1bb5fa5abebb44d82674b Author: Magnus Damm Date: Wed Jul 25 10:49:21 2007 +0900 sh: remove support for sh73180 and solution engine 73180 This patch removes old dead code: - kill off sh73180 cpu support - get rid of broken solution engine 73180 board support Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 347b9bdddbc38cfd46c27b3345e7facf651ecb92 Author: Magnus Damm Date: Wed Jul 25 10:46:32 2007 +0900 sh: remove old broken pint code The code in arch/sh/kernel/cpu/irq/pint.c doesn't compile, so let's get rid of it to make space for a future pint implementation on top of intc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f0b859e3d63a07995f0db294864c2f3c9228f1e4 Author: Paul Mundt Date: Wed Jul 25 10:43:47 2007 +0900 sh: Reclaim beginning of P3 space for vmalloc area. The first 1MB of P3 space was reserved and used for page colouring, as we've reworked that to use fixmaps, we can reclaim the space and hand it back to VMALLOC_START. Signed-off-by: Paul Mundt commit 3836df6b520a2f93033bf53200b12a2cb5137395 Author: Jens Axboe Date: Tue Jul 24 10:17:50 2007 +0200 ocfs2: bad kunmap_atomic() kunmap_atomic() takes the virtual address, not the mapped page as argument. Signed-off-by: Jens Axboe Cc: Mark Fasheh Signed-off-by: Linus Torvalds commit 147e505e23a2bda35689876af48f201d527dde91 Author: Chip Coldwell Date: Wed May 23 14:41:38 2007 -0700 [SCSI] sym53c8xx: don't claim cpqarray device Apropos this thread http://marc.theaimsgroup.com/?l=linux-scsi&m=115591706804045&w=2 which led to this patch http://www.kernel.org/git/?p=linux/kernel/git/jejb/scsi-rc-fixes-2.6.git;a=commit;h=b2b3c121076961333977f485f0d54c22121df920 We also need to fix sym53c8xx only to bind to the PCI ID if it is of device class PCI_CLASS_STORAGE_SCSI (otherwise it will be the cpqarray RAID device). Signed-off-by: Chip Coldwell Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 3f5f4346b6d3c8bc33780a941da2473c4be2c989 Author: Andrew Morton Date: Tue Jul 24 15:37:11 2007 -0700 [8021Q]: vlan_ioctl_handler: fix return value net/8021q/vlan.c: In function 'vlan_ioctl_handler': net/8021q/vlan.c:700: warning: 'err' may be used uninitialized in this function The warning is incorrect, but from my reading this ioctl will return -EINVAL on success. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 79d310d01ec2a55e0ac1810aee56886ebee58c53 Author: Thomas Graf Date: Tue Jul 24 15:34:53 2007 -0700 [GENETLINK]: Correctly report errors while registering a multicast group Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 2c04ddb707b4d50c314186249f466b6720ee4289 Author: Thomas Graf Date: Tue Jul 24 15:33:51 2007 -0700 [GENETLINK]: Fix adjustment of number of multicast groups The current calculation of the maximum number of genetlink multicast groups seems odd, fix it. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 79dc4386aec655ad829f320ab90888bacbc7037b Author: Thomas Graf Date: Tue Jul 24 15:32:46 2007 -0700 [GENETLINK]: Fix race in genl_unregister_mc_groups() family->mcast_groups is protected by genl_lock so it must be held while accessing the list in genl_unregister_mc_groups(). Requires adding a non-locking variant of genl_unregister_mc_group(). Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 85ccc365e91de9f0053c94de4cbc6ce97f8170e7 Author: Jesper Juhl Date: Tue Jul 24 15:31:05 2007 -0700 [NETFILTER]: Clean up duplicate includes in net/netfilter/ This patch cleans up duplicate includes in net/netfilter/ Signed-off-by: Jesper Juhl Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 62c7931873f203ce4ad8f62942b43a1126b37378 Author: Jesper Juhl Date: Tue Jul 24 15:30:30 2007 -0700 [NETFILTER]: Clean up duplicate includes in net/bridge/ This patch cleans up duplicate includes in net/bridge/ Signed-off-by: Jesper Juhl Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7e2acc7e2711d51705373ac201333c9a0ebd3950 Author: Patrick McHardy Date: Tue Jul 24 15:29:55 2007 -0700 [NETFILTER]: Fix logging regression Loading one of the LOG target fails if a different target has already registered itself as backend for the same family. This can affect the ipt_LOG and ipt_ULOG modules when both are loaded. Reported and tested by: Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ca983cefd950ec929582dd95ba6e46d12c2c6959 Author: YOSHIFUJI Hideaki Date: Tue Jul 24 15:27:30 2007 -0700 [TCPv6] MD5SIG: Ensure to reset allocation count to avoid panic. After clearing all passwords for IPv6 peers, we need to set allocation count to zero as well as we free the storage. Otherwise, we panic when a user trys to (re)add a password. Discovered and fixed by MIYAJIMA Mitsuharu . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 1966287dfa07b2aa125009587a5d2b8375775c53 Author: David S. Miller Date: Tue Jul 24 15:17:33 2007 -0700 [SPARC64]: Mark most of initial bootup asm as .text.init.ref_ok We can't mark the whole thing init because there are dependencies in bootloaders that assume that _start, or whatever the image entry value, is 2 instructions before the "HdrS" signature. In fact, TILO assumes this entry is always at 0x4000, yikes! Also, right after the bootloader info area there are OBP strings and values that get used later in the boot process, and those are not all provably .init yet. Signed-off-by: David S. Miller commit 1bf1496d41756496db2fcf4c8f1932b9762232f6 Author: Wim Van Sebroeck Date: Tue Jul 24 21:55:06 2007 +0000 [WATCHDOG] omap_wdt.c - default error for IOCTL is -ENOTTY The default value for an unknown ioctl call is -ENOTTY. Signed-off-by: Wim Van Sebroeck commit 6abe78bf195c633f67f6349e3d09b2bcd5d32a79 Author: Wim Van Sebroeck Date: Tue Jul 24 21:38:37 2007 +0000 [WATCHDOG] Return value of nonseekable_open Return the value of the nonseekable_open function and not 0. Signed-off-by: Wim Van Sebroeck commit f18699940cf2952ce6bc4ea79eda6d37616275e0 Author: Dale Farnsworth Date: Tue Jul 24 11:31:25 2007 -0700 [WATCHDOG] mv64x60_wdt: Rework the timeout register manipulation Consolidate the timeout config register modification into a single function. Also, use the enabled flag in the config register to determine whether the timer is enabled instead of a separately maintained flag, MV64x60_WDOG_FLAG_ENABLED. Add spinlock protection around enabling/disabling the watchdog timer. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit 2422df5e26fbf40449d393e01d257badf211a61a Author: Dale Farnsworth Date: Tue Jul 24 11:19:47 2007 -0700 [WATCHDOG] mv64x60_wdt: disable watchdog timer when driver is probed Make sure that we disable the watchdog at start-up. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit bf2fc92cae3630301d98b9faa38c1a98bb57d801 Author: Dale Farnsworth Date: Tue Jul 24 11:18:14 2007 -0700 [WATCHDOG] mv64x60_wdt: Support the WDIOF_MAGICCLOSE feature Disallow disabling of the watchdog timer unless a particular character ('V') was recently written to the watchdog device. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit d37a5c3ddf7f57fdc0632e279eabb1772f89dfc5 Author: Dale Farnsworth Date: Tue Jul 24 11:17:23 2007 -0700 [WATCHDOG] mv64x60_wdt: Add a module parameter to change nowayout setting Also, use the WATCHDOG_NOWAYOUT macro, rather than #ifdefs, and use __module_get to prevent module unloading if WATCHDOG_NOWAYOUT is set. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit 85d57238d2ff9d95892dd1f266b85d2359d48dcc Author: Dale Farnsworth Date: Tue Jul 24 11:16:29 2007 -0700 [WATCHDOG] mv64x60_wdt: Add WDIOC_SETOPTIONS ioctl support Allow the watchdog timer to be enabled or disabled via the WDIOC_SETOPTIONS ioctl. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit 94796f908788b3ea2b6e60e5272f4e26cea3fc22 Author: Dale Farnsworth Date: Tue Jul 24 11:15:26 2007 -0700 [WATCHDOG] mv64x60_wdt: Support for WDIOC_SETTIMEOUT ioctl Add the ability to modify the watchdog timer timeout interval. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit 264f09915a6ad9e274abd027459232881742cb1a Author: Dale Farnsworth Date: Tue Jul 24 11:14:21 2007 -0700 [WATCHDOG] mv64x60_wdt: Fix WDIOC_GETTIMEOUT return value WDIOC_GETTIMEOUT returns seconds, not jiffies. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit 861e5137708be1a7988f024a09d81c2f6accfb75 Author: Dale Farnsworth Date: Tue Jul 24 11:13:26 2007 -0700 [WATCHDOG] mv64x60_wdt: Check return value of nonseekable_open Return the value of the nonseekable_open function and not 0. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit 7e07a15913e2e1fd99fb77c4c848437bd99a8d5f Author: Dale Farnsworth Date: Tue Jul 24 11:12:24 2007 -0700 [WATCHDOG] mv64x60_wdt: Add arch/powerpc platform support Add support for arch/powerpc, specifically for the prpmc2800 platform. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit 8a5cfa648347ab04e63a7f5e3699768d1f9bf00d Author: Dale Farnsworth Date: Tue Jul 24 11:09:18 2007 -0700 [WATCHDOG] mv64x60_wdt: Get register address from platform data Previously, the address of the watchdog timer registers was retrieved by calling a global function, mv64x60_get_bridge_vbase(). That function doesn't exist in arch/powerpc. Instead, we now get the register address from a platform data resource and ioremap the registers within the driver. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit 64a8170975947978ea4094dd6c4b1f41119d6ae6 Author: Alan Cox Date: Tue Jul 24 15:17:48 2007 +0100 pata_hpt37x: Fix 2.6.22 clock PLL regression Just one version of Linux ago The PLL code broke - oh no! But set the right mode And fix up the code Makes the PLL timing sync go [whatever happened to the sailor from Nantucket, hero of many limericks? -jg] Closes-bug: #8791 Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 5c8d52015c09b42632a73896f8a80cff64c5c1d1 Author: Alan Cox Date: Fri Jul 20 15:34:49 2007 +0100 pata_ali: Correct HP detect Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b8b275efc28e34f9b1d1e382d0b02dfa381b2a79 Author: Tejun Heo Date: Tue Jul 10 15:55:43 2007 +0900 ata_piix: fix suspend/resume for some TOSHIBA laptops ACPI implementations in several TOSHIBA laptops are weird and burn cpu cycles for tens of seconds while trying to suspend if the PCI device for the ATA controller is disabled when the ACPI suspend is called. This patch uses DMI to match those machines and bypass device disable on those machines during suspend. As the device needs to be put into enabled state on resume without affecting PCI enable count, matching resume callback uses __pci_reenable_device(). This bug is reported in bugzilla bug 7780. http://bugzilla.kernel.org/show_bug.cgi?id=7780 Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f0a664bbd1839fbe9f57564983f39bfc6c6f931d Author: Tejun Heo Date: Tue Jul 10 15:36:05 2007 +0900 PCI: export __pci_reenable_device() Some odd ACPI implementations choke if certain controller is disabled when ACPI suspend is invoked but we still need to make sure the PCI device is enabled during resume. Simply using pci_enable_device() unbalances device enable count. Export __pci_reenable_device(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f61698e6489f229f9fcfe29e68f228389a772993 Author: Alexander Shmelev Date: Tue Jul 24 13:41:44 2007 -0700 [SPARC32]: Fix bug in sparc optimized memset. Sparc optimized memset (arch/sparc/lib/memset.S) does not fill last byte of the memory area, if area size is less than 8 bytes and start address is not word (4-bytes) aligned. Here is code chunk where bug located: /* %o0 - memory address, %o1 - size, %g3 - value */ 8: add %o0, 1, %o0 subcc %o1, 1, %o1 bne,a 8b stb %g3, [%o0 - 1] This code should write byte every loop iteration, but last time delay instruction stb is not executed because branch instruction sets "annul" bit. Patch replaces bne,a by bne instruction. Error can be reproduced by simple kernel module: -------------------- #include #include #include #include #include static void do_memset(void **p, int size) { memset(p, 0x00, size); } static int __init memset_test_init(void) { char fooc[8]; int *fooi; memset(fooc, 0xba, sizeof(fooc)); do_memset((void**)(fooc + 3), 1); fooi = (int*) fooc; printk("%08X %08X\n", fooi[0], fooi[1]); return -1; } static void __exit memset_test_cleanup(void) { return; } module_init(memset_test_init); module_exit(memset_test_cleanup); MODULE_LICENSE("GPL"); EXPORT_NO_SYMBOLS; -------------------- Signed-off-by: Alexander Shmelev Signed-off-by: David S. Miller commit 88accb498fc92998d7b30b7515ba39f3e6070978 Author: Geert Uytterhoeven Date: Fri Jul 20 18:40:45 2007 +0200 netdev: i82596 Ethernet needs netdev: i82596 Ethernet needs on m68k drivers/net/82596.c: In function 'init_rx_bufs': drivers/net/82596.c:552: error: implicit declaration of function 'cache_clear' drivers/net/82596.c: In function 'i596_start_xmit': drivers/net/82596.c:1104: error: implicit declaration of function 'cache_push' The driver still compiles on ia32 (CONFIG_APRICOT=y) Signed-off-by: Geert Uytterhoeven Signed-off-by: Jeff Garzik commit 1398661b0d5f8570704fc267c9323cf1dde61e0a Author: Ayaz Abdulla Date: Sun Jul 22 20:43:26 2007 -0400 forcedeth: mcp73 device addition This patch contains new device settings for MCP73 chipset. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 6a0e09af44ef0ee7bf68bf89c8fd65eed0092d7a Author: Ayaz Abdulla Date: Sun Jul 22 20:43:15 2007 -0400 forcedeth: new device ids in pci_ids.h This patch contains new device ids for MCP73 chipset. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 3d2557f681162ff6a483ae689072f9811e6a6d8d Author: Chris Snook Date: Mon Jul 23 16:38:39 2007 -0400 atl1: make atl1_init_ring_ptrs static Sparse (correctly) thinks this function should be static. Make it so. Signed-off-by: Chris Snook Signed-off-by: Jeff Garzik commit 8d22c9711aa5e704fc5f89027f5cf64838767c98 Author: Jan-Bernd Themann Date: Mon Jul 23 16:05:03 2007 +0200 eHEA: net_poll support net_poll support for eHEA added Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit dde9f93c205a791c5647c14d43003c578ebf6f2d Author: Adrian Bunk Date: Mon Jul 23 10:02:32 2007 +0200 drivers/net/acenic.c: fix check-after-use The Coverity checker noted that we've already dereferenced "dev" when we check whether it's NULL. Since it's impossible that "dev" is NULL at this place this patch removes the NULL check. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit fcdff13905934874016f1899b15a9221c055d6ea Author: Maciej W. Rozycki Date: Fri Jul 20 13:14:07 2007 +0100 defxx: Use __maybe_unused rather than a local hack This is a change to remove a local hack in favour to __maybe_unused that has been recently added. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 52cb1c2b70d9d2a81e842b90456b7a8158541ffd Author: Andy Fleming Date: Wed Jul 18 01:06:28 2007 -0500 Fix error checking in Vitesse IRQ config phy_read() returns a negative number if there's an error, but the error-checking code in the Vitesse driver's config_intr function triggers if phy_read() returns non-zero. Correct that. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit fe6d3a4049ec9d859d75ddfcc6865a0f58178924 Author: Masakazu Mokuno Date: Fri Jul 20 17:39:25 2007 +0900 ps3: reduce allocation size of rx skb buffers Reduced allocation size for rx skb buffers, from 2308 bytes to 1356 per buffer. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit a3093d9b07101f2461f88dfd0a20aaaa8853e976 Author: Jay Cliburn Date: Thu Jul 19 18:45:14 2007 -0500 atl1: use kernel provided ethernet length constants Use constants already provided by the kernel for ethernet related lengths. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit ef76e3e2505db01f7d4b537854f4a177220c26c8 Author: Jay Cliburn Date: Thu Jul 19 18:45:13 2007 -0500 atl1: fix typo in dma_req_block s/dam/dma Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 91a500ac5654766e4d9a6502dfcceb7e0a235f98 Author: Jay Cliburn Date: Thu Jul 19 18:45:12 2007 -0500 atl1: change cmb write threshold Change the threshold number of descriptors used to trigger CMB writes. The vendor reports that under certain conditions this will reduce the number of unnecessary tx interrupts and improve rx performance. This change is lifted directly from vendor version 1.2.40.2 of the L1 driver. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 3f516c00d416bd39aab6cfb348b68919e295fe23 Author: Jay Cliburn Date: Thu Jul 19 18:45:11 2007 -0500 atl1: fix typo in DMA engine setup The DMA engine setup contains a typo that can result in an incorrect dmaw_block setting. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit e6a7ff4a617ad3f6a59e2576d430b9292299d067 Author: Jay Cliburn Date: Thu Jul 19 18:45:10 2007 -0500 atl1: change tpd_avail function name Change tpd_avail() to atl1_tpd_avail(). Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 583aae1094d28aa1d58360318388c11d2ae7ed9c Author: Masakazu Mokuno Date: Fri Jul 20 17:35:54 2007 +0900 ps3: fix rare issue that reenabling rx DMA fails Fixed rare issue that 'lv1_net_start_rx_dma failed, status=-9" was shown in dmesg. This meant restarting rx DMA had been rejected by the hypervisor. This issue would caused if the guest os requested starting DMA when the hypervisor thought the DMA was in progress. The state machine for DMA status of the hypervisor would be updated by processing interrupt in the hypervisor. Thus we should wait for the interrupt delivery before restarting DMA. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit 39a3d2d19cc8dc9d7ec3a1fefe95d7de0c6dc317 Author: Masakazu Mokuno Date: Fri Jul 20 17:34:07 2007 +0900 ps3: removed calling netif_poll_enable() in open() Removed use of netif_poll_enable() in open function. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit f0861f82d9976fab8624f056fa6880e6f420e89f Author: Masakazu Mokuno Date: Fri Jul 20 17:33:02 2007 +0900 ps3: use ethX as the name of irq Use net_device name for registration of irq as many network drivers do. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit 92548d601c45d76db337795d71c34846631dc7d6 Author: Masakazu Mokuno Date: Fri Jul 20 17:31:07 2007 +0900 ps3: use net_device_stats of net_device structure Removed the statistics information from private structre. Instead, use net_device_stats in net_device structure. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit 78f710dc186f34fb14d8b22a33749a56013e7b85 Author: Masakazu Mokuno Date: Fri Jul 20 17:28:59 2007 +0900 ps3: removed conditional ethtool support Removed conditional ethtool support. Always enabled. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit b3bd6fe96da32e4e818b51826f04349cee9b15ba Author: Masakazu Mokuno Date: Fri Jul 20 17:27:12 2007 +0900 ps3: removed defines no longer used Removed defines no longer used. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit 48544cc267da96a85e4d38aa1999a011229948d6 Author: Masakazu Mokuno Date: Fri Jul 20 17:24:56 2007 +0900 ps3: tx descriptor handling cleanup gelic: TX descriptor handling cleanup - Emitted return value of NETDEV_TX_LOCKED when DMA map or kick failure. Now it would free the skb, update drop packet statistics and return OK. Requested from Jeff Garzik. - Enable tx queue if number of free descriptors are more than 2 - Fixed descriptor leak if dma map for second descriptor failed - Stopped calling xmit handler from interrupt handler in order to recheck tx queue. Instead, call appropriate helper functions. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit ea6992aa1f6ed514fe450f46befa56d8d2b6a7fb Author: Masakazu Mokuno Date: Fri Jul 20 17:22:51 2007 +0900 ps3: some minor cleanups - Removed the embarrassing definition which was used in only one place. - Fixed wrong initialization of dmac_cmd_status. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit 9f6c9a8c50bc84ec748fec779ead321ee2b2debc Author: Masakazu Mokuno Date: Fri Jul 20 17:20:54 2007 +0900 ps3: fix wrong calculation of rx descriptor address Fixed the bug that calculation of the address of rx descriptor was wrong. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit ceded32f097ba753fb4d339ad5c74f265ea8a03d Author: dhananjay@netxen.com Date: Thu Jul 19 14:41:09 2007 +0530 netxen: Load firmware during probe, dma watchdog fix. The firmware should be loaded after resetting hardware during PCI probe, besides module unload. This fixes issue with 2nd port of multiport adapter on powerpc blades. This patch also fixes a bug that PCI resources are not freed if dma watchdog shutdown failed. The dma watchdog poll messages during module unload are also suppressed. Signed-off-by: Dhananjay Phadke Signed-off-by: Milan Bag Signed-off-by: Wen Xiong Signed-off-by: Jeff Garzik commit 890de95e8fe617a978e0fcad3c5dd2be99db4532 Author: Li Yang Date: Thu Jul 19 11:48:29 2007 +0800 ucc_geth: add support to netif message level Adds netif message level control to the ucc_geth driver. The level can be set by module parameter and ethtool. Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit ac421852b3a01e7440ac7bb2e635b60a99d0a391 Author: Li Yang Date: Thu Jul 19 11:47:47 2007 +0800 ucc_geth: add ethtool support The patch enables statistics in ucc_geth and adds ethtool support to ucc_geth driver. Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 1b64e7abe742c0d32cdb1545d9a67f80cc6e81f3 Author: David S. Miller Date: Sun Jul 22 19:25:03 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 0c0d345e2516dd6285834e6b0d54825e40823d5a Author: David S. Miller Date: Sun Jul 22 19:19:05 2007 -0700 [SPARC]: Add missing NOTES section. This fixes boot failures when the build-id LD option is actually used, because without it we end up with multiple PT_LOAD sections which the SILO boot loader cannot handle. Signed-off-by: David S. Miller commit 86ac92ee694e3cd5991c076bab2f4c63526f38bc Author: Al Viro Date: Sun Jul 22 00:38:24 2007 -0700 [SPARC32]: missing exports Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2240598c24683df1e1a6cdd1f461efd85547903c Author: Al Viro Date: Sun Jul 22 00:37:48 2007 -0700 [SPARC32]: Deal with rtc/sun_mostek_rtc conflict. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 719be62903a6e6419789557cb3ed0e840d3e4ca9 Author: Alan Cox Date: Mon Jul 23 14:51:05 2007 +0100 aacraid: fix security hole On the SCSI layer ioctl path there is no implicit permissions check for ioctls (and indeed other drivers implement unprivileged ioctls). aacraid however allows all sorts of very admin only things to be done so should check. Signed-off-by: Alan Cox Acked-by: Mark Salyzyn Signed-off-by: Linus Torvalds commit b8c1c5da1520977cb55a358f20fc09567d40cad9 Author: Andrew Morton Date: Tue Jul 24 12:02:40 2007 -0700 slab: correctly handle __GFP_ZERO Use the correct local variable when calling into the page allocator. Local `flags' can have __GFP_ZERO set, which causes us to pass __GFP_ZERO into the page allocator, possibly from illegal contexts. The page allocator will later do prep_zero_page()->kmap_atomic(..., KM_USER0) from irq contexts and will then go BUG. Cc: Mike Galbraith Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01e457cfcd5b6b6f18d0bb8cec0c5d43df56557e Author: Arnd Bergmann Date: Mon Jul 23 18:44:00 2007 -0700 loop.h build fix include/linux/loop.h:66: error: expected specifier-qualifier-list before 'request_queue_t' Cc: Sebastian Siewior Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ab3ee7b1cd5c91eb2272764f9d7d1fe4749681e Author: Ken Chen Date: Mon Jul 23 18:44:00 2007 -0700 fix hugetlb page allocation leak dequeue_huge_page() has a serious memory leak upon hugetlb page allocation. The for loop continues on allocating hugetlb pages out of all allowable zone, where this function is supposedly only dequeue one and only one pages. Fixed it by breaking out of the for loop once a hugetlb page is found. Signed-off-by: Ken Chen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be1ff386e768ee4fc19bb7da48cee4fc4cb4e75b Author: David Brownell Date: Mon Jul 23 18:43:57 2007 -0700 minor gpio doc update Fix doc bug noted by Uwe Kleine-König: gpio_set_direction() is long gone, replaced by gpio_direction_input() and gpio_direction_output(). Signed-off-by: David Brownell Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6570c45995a6339597462434a81f358a38941ac4 Author: Rusty Russell Date: Mon Jul 23 18:43:56 2007 -0700 link lguest example launcher non-static S.Caglar Onur points out that many distributions don't ship a static zlib. Unfortunately the launcher currently maps virtual device memory where shared libraries want to go. The solution is to pre-scan the args to figure out how much memory we have, then allocate devices above that, rather than down from the top possible address. This also turns out to be simpler. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ddb23c78aeef40f549c5ad22a3e8dfa1f8297e0 Author: Stephen Rothwell Date: Mon Jul 23 18:43:55 2007 -0700 fault_inject: silence a warning lib/fault-inject.c:168: warning: 'debugfs_create_ul_MAX_STACK_TRACE_DEPTH' defined but not used Signed-off-by: Stephen Rothwell Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d316ee5787153765980ca0f55ee864ec883979ab Author: Al Viro Date: Mon Jul 23 18:43:54 2007 -0700 Fix failure exits in asus-laptop Fallout from f8a7c6fe14f556ca8eeddce258cb21392d0c3a2f. However, looking at it shows that checks done in ASUS_LED_UNREGISTER() can't trigger at all (we never get to asus_led_exit() if registration fails) and if that registration fails, we actually leak stuff. IOW, it's worse than just replacing class_dev with dev in there - the tests themselves had been papering over the lousy cleanup logics. Signed-off-by: Al Viro Michal Piotrowski Cc: Corentin Chary Cc: Karol Kozimor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c51aea80a9fbb423b49d432e89e515257bb2b983 Author: Adrian Bunk Date: Mon Jul 23 18:43:54 2007 -0700 include/asm-xtensa/io.h must #include CC kernel/time/clocksource.o In file included from /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/clocksource.h:18, from /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/kernel/time/clocksource.c:27: include2/asm/io.h: In function 'virt_to_phys': include2/asm/io.h:46: error: implicit declaration of function '__pa' include2/asm/io.h: In function 'phys_to_virt': include2/asm/io.h:51: error: implicit declaration of function '__va' include2/asm/io.h:51: warning: return makes pointer from integer without a cast make[3]: *** [kernel/time/clocksource.o] Error 1 Signed-off-by: Adrian Bunk Cc: Christian Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2c863bd2daa2b2e36d66db58bc1e18f37151829 Author: Christoph Hellwig Date: Mon Jul 23 18:43:53 2007 -0700 spusched: fix mismerge in spufs.h spufs.h now has two enums for the sched_flags leading to identical values for SPU_SCHED_WAS_ACTIVE and SPU_SCHED_NOTIFY_ACTIVE. Merge them into a single enum as they were in the IBM development tree. Signed-off-by: Christoph Hellwig Acked-by: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb276805803b8e0616159d80a441ab26a931ada4 Author: J. Bruce Fields Date: Mon Jul 23 18:43:52 2007 -0700 nfsd: fix possible oops on re-insertion of rpcsec_gss modules The handling of the re-registration case is wrong here; the "test" that was returned from auth_domain_lookup will not be used again, so that reference should be put. And auth_domain_lookup never did anything with "new" in this case, so we should just clean it up ourself. Thanks to Akinobu Mita for bug report, analysis, and testing. Cc: Akinobu Mita Signed-off-by: "J. Bruce Fields" Cc: Neil Brown Cc: Trond Myklebust Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1709e477f203c0538f94c4d1ac981d08325eebf Author: Ralf Baechle Date: Mon Jul 23 18:43:50 2007 -0700 Fix Au1100 fb dependencies, add helptext Signed-off-by: Ralf Baechle Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97a1fcbb20fcbb0177567fd2dbcc6ed1bcc450ce Author: Jeff Dike Date: Mon Jul 23 18:43:48 2007 -0700 uml: more __init annotations 2.6.23-rc1 turned up another batch of references from non-__init code to __init code. In most cases, these were missing __init annotations. In one case (os_drop_memory), the annotation was present but wrong. init_maps is __init, but for some reason was being very careful about the mechanism by which it allocated memory, checking whether it was OK to use kmalloc (at this point in the boot, it definitely isn't) and using either alloc_bootmem_low_pages or kmalloc/vmalloc. So, the kmalloc/vmalloc code is removed. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da3e30e78ed9652322dccb49fa149e7b4e985f74 Author: Jeff Dike Date: Mon Jul 23 18:43:47 2007 -0700 uml: fix aio compilation bug Restructure do_aio thanks to commments from Ulrich and Al. Uli started this by seeing that UML's initialization of a struct iocb initialized fields that it shouldn't. Al followed up by adding the following cleanups: eliminating a variable by just using an anonymous structure in its place. hoisting a duplicated line out of the switch. simplifying the error checking at the end. I added a severity to the printk. Signed-off-by: Jeff Dike Cc: Al Viro Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a65f493c335abc3822291b52f3565776ce39a1b Author: Jeff Dike Date: Mon Jul 23 18:43:46 2007 -0700 uml: fix string exporting on UML/i386 In 2.6.23-rc1, i386 fiddled its string support such that UML started getting undefined references from modules. The UML asm/string.h was including the i386 string.h, which defined __HAVE_ARCH_STR*, but the corresponding implementations weren't being pulled in. This is fixed by adding arch/i386/lib/string.h to the list of host architecture files to be pulled in to UML. A complication is that the libc exports file assumed that the generic strlen and strstr weren't in use (i.e. __HAVE_ARCH_STR is defined), then they aren't exported. This is untrue for strlen, which is exported in either case, so this logic is not needed. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d786d4a2773f06a791e8c3730d049077fb81df6 Author: Ulrich Drepper Date: Mon Jul 23 18:43:46 2007 -0700 fallocate syscall interface deficiency The fallocate syscall returns ENOSYS in case the filesystem does not support the operation and expects the userlevel code to fill in. This is good in concept. The problem is that the libc code for old kernels should be able to distinguish the case where the syscall is not at all available vs not functioning for a specific mount point. As is this is not possible and we always have to invoke the syscall even if the kernel doesn't support it. I suggest the following patch. Using EOPNOTSUPP is IMO the right thing to do. Cc: Amit Arora Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f640efb3170dbcf99a37a3cc99060647b95428c Author: Josh Boyer Date: Mon Jul 23 18:43:44 2007 -0700 Use resource_size_t for serial port IO addresses At present, various parts of the serial code use unsigned long to define resource addresses. This is a problem, because some 32-bit platforms have physical addresses larger than 32-bits, and have mmio serial uarts located above the 4GB point. This patch changes the type of mapbase in both struct uart_port and struct plat_serial8250_port to resource_size_t, which can be configured to be 64 bits on such platforms. The mapbase in serial_struct can't safely be changed, because that structure is user visible. Signed-off-by: David Gibson Signed-off-by: Josh Boyer Cc: Russell King Cc: Paul Mackerras Cc: Jason Wessel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 422db8d229affd429b5a7389600877aa7dea2704 Author: Dale Farnsworth Date: Tue Jul 24 11:07:38 2007 -0700 [WATCHDOG] mv64x60_wdt: set up platform_device in platform code The driver previously registered its platform device data in its own init function--that's bogus. Move that code to platform-specific code in arch/ppc. This is being done so that the platform code can decide at runtime whether to initialize this driver or not. Signed-off-by: Dale Farnsworth Signed-off-by: Wim Van Sebroeck commit a4ee0df8b3d007f0d685d38a56dc0b91e01aaaf7 Author: James Bottomley Date: Mon Jul 23 09:53:51 2007 -0500 [SCSI] bsg: fix unused variable warnings for BLK_DEV_BSG=n Just using #defines for the bsg_register_queue()/bsg_unregister_queue() can cause undefined variables when they're defined to nothing. Use dummy inline functions instead. Signed-off-by: James Bottomley commit 28dd1b0b9191ac9cd0b96fa4d09d951498bfbadb Author: Pdraig Brady Date: Tue Jul 24 11:49:27 2007 +0100 [WATCHDOG] ensure mouse and keyboard ignored in w83627hf_wdt 1. Ensure that the mouse and keyboard do not ping the watchdog. This is the default operation of the w83627, but some BIOSes change this. 2. Increase the max timeout from 63 seconds to 255 seconds as supported by the w83627 chip 3. Comment that the watchdog supports the w83627hg version of the chip Signed-Off-By: Pdraig Brady Tested-by: Tomas Hodek Signed-Off-By: Wim Van Sebroeck commit b430708ad67f9325dadd7a86e007e353ab7e5acd Author: Ben Dooks Date: Tue Jul 24 13:28:01 2007 +0100 [WATCHDOG] s3c2410_wdt: fixup after arch include moves Fixup the s3c2410 watchdog driver after moving some of the arch specific includes it has been relying on. Signed-off-by: Ben Dooks commit 2cd614c8732172524c36cd5245620338928062b6 Author: Darrick J. Wong Date: Tue Jul 24 09:33:49 2007 -0700 [SCSI] libsas: SMP request handler shouldn't crash when rphy is NULL sas_smp_handler crashes when smp utils are used with an aic94xx host because certain devices (the sas_host itself, specifically) lack rphy structures. No rphy means no SMP target support, but we shouldn't crash here. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 4e24f4edb6e04677c04fc5b456eb4be95d93f2cd Author: Andrew Morton Date: Tue Jul 24 00:07:27 2007 -0700 [WATCHDOG] git-watchdog-typo From: Andrew Morton This driver isn't very coding-style friendly. Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit e58712111fe6eb7573fd6dd12d80de3bec13f277 Author: Kumar Gala Date: Mon Jul 23 15:47:26 2007 -0500 [POWERPC] 85xx: Added needed MPC85xx PCI device IDs Added the MPC85xx PCI device IDs that we need for the quirks we have. Also, fixed the MPC8567E, MPC8567 device IDs which had the wrong value. Signed-off-by: Kumar Gala commit c26c372cdbe7de1b9d0c88adce2ae21ef9249e9a Author: Jon Loeliger Date: Mon Jun 4 12:27:14 2007 -0500 [POWERPC] Add Freescale PCI VENDOR ID and 8641 device IDs Also add 8641/8641D device IDs as well. All of which already exist or have been submitted to The Linux PCI ID Repository at: http://pci-ids.ucw.cz/ CC-to: pci-ids@ucw.cz Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 6af012574207bd35455f4a4ba0437cf5b9deaee5 Author: Randy Vinson Date: Tue Jul 17 16:37:12 2007 -0700 [POWERPC] 85xxCDS: MPC8548 DTS cleanup. Added the P2P bridge present on the Arcadia base board and moved the VIA Southbridge behind the bridge to reflect its actual position in the bus organization. Added the RTC that's in the VIA Southbridge and expanded the ranges array for the SOC node to allow proper address translation of the RTC registers. Signed-off-by: Randy Vinson Signed-off-by: Kumar Gala commit 8d7bc8f9d1c23fdfbf60a6554027c40d66e66d11 Author: Randy Vinson Date: Thu Jul 19 10:40:53 2007 -0700 [POWERPC] 85xxCDS: Misc 8548 PCI Corrections. Setting the host bridge @8000 as primary. Also fixing a bug in setting the USB interrupt numbers. Signed-off-by: Randy Vinson Signed-off-by: Kumar Gala commit bca03c6bddc03bba893c86fdf735ecef418159ea Author: Randy Vinson Date: Thu Jun 14 11:02:54 2007 -0700 [POWERPC] 85xxCDS: Delay 8259 cascade hookup. The interrupts of an E100 card inserted in PCI slot 4 may be on at bootup. The resulting interrupt flood interacts with the 8259 cascade handler and prevents proper boot up. There is a quirk for the E100 that will disable the E100's interrupts but to use it, the 8259 cascade hookup must be delayed until after the quirk has run. This patch delays the 8259 cascade hookup by registering a device_initcall() which runs after the PCI quirk for the E100. Signed-off-by: Randy Vinson Signed-off-by: Kumar Gala commit 50ad147aa09c829cd452fae6ca99396c0b5b0695 Author: Rafael J. Wysocki Date: Tue Jul 24 11:58:39 2007 +0200 ACPI: Remove references to ACPI_STATE_S2 from acpi_pm_enter Remove references to ACPI_STATE_S2, introduced by acpi-implement-the-set_target-callback-from-pm_ops.patch, from acpi_pm_enter(). Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit cdcc9eb5e014a58aba047193a73a0de8b61b988d Author: Atsushi Nemoto Date: Mon Jul 23 00:07:34 2007 +0900 [MIPS] Fix marge error due to conflict in arch/mips/kernel/head.S __INIT directive just before kernel_entry was ignored for most platforms. This patch fixes it and get rid of this warning: WARNING: vmlinux.o(.text+0x478): Section mismatch: reference to .init.text:start_kernel (between '_stext' and 'run_init_process') Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 18d0e9b4799ff6e43613a068eba289ba4e002535 Author: Yoichi Yuasa Date: Tue Jul 24 16:38:04 2007 +0900 [MIPS] ARC: Remove unused arch/mips/arc/console.c Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit cbe7b45c1d0fbf51eea19452ffb56aa3002fe90c Author: Thomas Bogendoerfer Date: Tue Jul 24 03:49:27 2007 +0200 [MIPS] SNI: sniprom - fix compile error due to missing #include - fix section mismatch warning Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 34ec6e76a6354b04df3d2e94cd34d27af76a07bc Author: Yoichi Yuasa Date: Sun Jul 22 13:06:49 2007 +0900 [MIPS] Jazz: remove unneeded reset functions Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit eeea55163dac3e891558253751fcbfa0815a2e1a Author: Ralf Baechle Date: Tue Jul 24 16:02:47 2007 +0100 [MIPS] Whitespace cleanup. Signed-off-by: Ralf Baechle commit 4614c32645c536e30eaf895c7e0cd42dfb145634 Author: Atsushi Nemoto Date: Tue May 1 01:49:20 2007 +0900 [MIPS] Make resources for ds1742 "static __initdata" We can make resources for platform_device_register_simple() "static __initdata". Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f5dbeaf5ed3938beea8e58ee473982a4bcadc172 Author: David Rientjes Date: Sun Jul 22 01:01:39 2007 -0700 [MIPS] Replace __attribute_used__ with __used Replaces the deprecated __attribute_used__ with __used. Also makes some style adjustments to abide by the kernel coding conventions. Cc: Ralf Baechle Signed-off-by: David Rientjes Signed-off-by: Ralf Baechle commit fce2303166a8f214a890bd405e0088febdce765f Author: Yoichi Yuasa Date: Sun Jul 22 13:03:37 2007 +0900 [MIPS] Jazz: Remove unused arch/mips/jazz/io.c Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit fb4bb133ada7423b2504bb64bb6cc95c079a7d9d Author: Atsushi Nemoto Date: Sun Jul 22 23:44:20 2007 +0900 [MIPS] Mark prom_free_prom_memory as __init_refok > WARNING: vmlinux.o(.text+0xbf20): Section mismatch: reference to > .init.text:prom_free_prom_memory (between 'free_initmem' and 'copy_from_user_page') prom_free_prom_memory() is called _before_ freeing init sections, so it is false positive. __init_refok can be used for such cases. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9a0f3b73601a146998236237d82b55ae80337f10 Author: Yoichi Yuasa Date: Fri Jul 13 16:36:57 2007 +0900 [MIPS] MIPSsim: Fix cflags Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 981d0f3952c977d799c2bb72e083cb9306ccb797 Author: Eric Miao Date: Tue Jul 24 01:22:43 2007 +0100 [ARM] 4526/1: pxa: make ARCH_PXA select GENERIC_CLOCKEVENTS make ARCH_PXA select GENERIC_CLOCKEVENTS to fix the building issue due to merge of clockevents based PXA timer Signed-off-by: eric miao Signed-off-by: Russell King commit 71f65e6bd7651610d2d6aeb3c12aab63667ace30 Author: Jens Axboe Date: Tue Jul 24 10:29:42 2007 +0200 [BLOCK] Add request_queue_t and mark it deprecated Andrew thinks I should be nice and allow outside code to at least just compile, so add the request_queue_t typedef back and mark it deprecated. It'll warn people that this type is going away soonish. Signed-off-by: Jens Axboe commit 27b92bdbd589cf3f59244bf5e848e7be254a2e4c Author: Michael Hennerich Date: Tue Jul 24 15:56:17 2007 +0800 Input Serio: Blackfin doesnt support I8042 - make sure it doesnt get selected Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d8e715428fe70f5005829d3bad3a0a3fb8a747b2 Author: Bryan Wu Date: Wed Jul 25 16:58:03 2007 +0800 Blackfin arch: add BF54x I2C/TWI TWI0 driver support Signed-off-by: Bryan Wu commit 165125e1e480f9510a5ffcfbfee4e3ee38c05f23 Author: Jens Axboe Date: Tue Jul 24 09:28:11 2007 +0200 [BLOCK] Get rid of request_queue_t typedef Some of the code has been gradually transitioned to using the proper struct request_queue, but there's lots left. So do a full sweet of the kernel and get rid of this typedef and replace its uses with the proper type. Signed-off-by: Jens Axboe commit 7c5aa6642fa26641ebf286966a165aec71c91991 Author: Len Brown Date: Tue Jul 24 02:25:03 2007 -0400 ACPI: Kconfig: always enable CONFIG_ACPI_SLEEP on X86 The SMP dependency on HOTPLUG_CPU and SUSPEND_SMP caused more harm than good -- making ACPI sleep support vanish for configs missing those options. So simply select them on the (ACPI && SMP && X86) systems that need them. Also, remove the prompt for ACPI_SLEEP, virtually nobody (intentionally) enables ACPI without it. Signed-off-by: Len Brown commit 43532c8a46ae313c2da3baa7598a1de4d403ba83 Author: Len Brown Date: Tue Jul 24 02:16:50 2007 -0400 ACPI: Kconfig: fold /proc/acpi/sleep under CONFIG_ACPI_PROCFS /proc/acpi/sleep has had its own "default n" option, ACPI_SLEEP_PROC_SLEEP, for many months. Time to delete ACPI_SLEEP_PROC_SLEEP. Users that still need /proc/acpi/sleep can still get it along with the other deprecated /proc/acpi files by enabling CONFIG_ACPI_PROCFS. Also delete ACPI_SLEEP_PROC_FS, which was an umbrella for /proc/acpi/sleep, wakeup, alarm, because it was effectively just a synonym for ACPI_SLEEP. Signed-off-by: Len Brown commit fb804714560463534ebcb538a3b0a3c687a830ec Author: Len Brown Date: Tue Jul 24 01:50:46 2007 -0400 ACPI: Kconfig: CONFIG_ACPI_PROCFS now defaults to N delete "default y" from CONFIG_ACPI_PROCFS (effectively making the default 'N') List exactly what /proc files this option controls, and clarify that it doesn't change non-deprecated files. Signed-off-by: Len Brown commit eb695dbf00d572a770358305dae4de2a0680db8f Author: Adrian McMenamin Date: Tue Jul 24 13:30:55 2007 +0900 sh: Fix Dreamcast DMA issues. The current SH DMA API is somewhat broken, not correctly matching virtual channel to the correct SH DMAC. This wasn't noticeable when using g2 DMA for the sound driver - one channel 0 is as good as any other! - but caused the pvr2 driver to fail. This patch fixes the pvr2 problem and consequently fixes the sound driver to ensure it continues to function. Signed-off by: Adrian McMenamin Signed-off-by: Paul Mundt commit 8cf1a74305688c85fc8d23ab7432a0c447ee6413 Author: Paul Mundt Date: Tue Jul 24 13:28:26 2007 +0900 sh: Add kmap_coherent()/kunmap_coherent() interface for SH-4. This wires up kmap_coherent() and kunmap_coherent() on SH-4, and moves away from the p3map_mutex and reserved P3 space, opting to use fixmaps for colouring instead. The copy_user_page()/clear_user_page() implementations are moved to this, which fixes the nasty blowups with spinlock debugging as a result of having some of these calls nested under the page table lock. Signed-off-by: Paul Mundt commit 637e9e13a1f87d414954c854bcf8c5b16dc6face Author: Randy Vinson Date: Fri Mar 23 15:43:37 2007 -0700 [POWERPC] 85xxCDS: Make sure restart resets the PCI bus. The current 85xxCDS restart code fails to reset the PCI bus which can lead to odd behavior after the restart. This patch uses the VIA Super Southbridge to perform a PCI reset which will reset the entire system. NOTE: Since the VIA chip is behind a PCI-to-PCI bridge which can be disabled with a switch setting, it may not be possible to perform the PCI bus reset. In this case, the code defaults to the previous restart mechanism. Signed-off-by: Randy Vinson Signed-off-by: Kumar Gala commit 3620fc1da28ad32d10d7c83eab33f48ec5b1da54 Author: Randy Vinson Date: Wed Jun 6 16:26:15 2007 -0700 [POWERPC] 85xxCDS: Allow 8259 cascade to share an MPIC interrupt line. The Freescale MPC8555CDS and MPC8548CDS reference hardware has a legacy 8259 interrupt controller pair contained within a VIA VT82C686B Southbridge on the main carrier board. The processor complex plugs into the carrier card using a PCI slot which limits the available interrupts to the INTA-INTD PCI interrupts. The output of the 8259 cascade pair is routed through a gate array and connected to the PCI INTA interrupt line. The normal interrupt chaining hook (set_irq_chained_handler) does not allow sharing of the chained interrupt which prevents the use of PCI INTA by PCI devices. This patch allows the 8259 cascade pair to share their interrupt line with PCI devices. NOTE: The addition of the .end routine for the MPIC is not strictly necessary for this patch. It's there so this code will run from within the threaded interrupt context used by the Real Time patch. Signed-off-by: Randy Vinson Signed-off-by: Kumar Gala commit eb12af43333dd9d54158f35147a79628c41152db Author: Kumar Gala Date: Fri Jul 20 16:29:09 2007 -0500 [POWERPC] FSL: Add support for PCI-X controllers Some set of 85xx platforms have PCI-X controllers. The old arch/ppc code setup these controllers and we haven't moved it over to arch/powerpc. We use the PCI-X Capabilties to know if we are in PCI-X mode instead of the Global Utilities PORDEVSR. Signed-off-by: Kumar Gala commit 7391ff35b241dbcba471e05059b5c05fdc8196db Author: Kumar Gala Date: Fri Jul 20 13:49:29 2007 -0500 [POWERPC] Make sure virtual P2P bridge registers are setup on PCIe PHB For the Freescale PCIe PHBs Not all firmwares setup the virtual P2P bridge registers properly. Make sure they get setup based on what the struct pci_controller got from the device tree. Signed-off-by: Kumar Gala commit f64fddbeac737bfc8d966423f067a9af9eeec887 Author: Kumar Gala Date: Fri Jul 20 13:35:34 2007 -0500 [POWERPC] Provide ability to setup P2P bridge registers from struct resource We need the ability to set P2P bridge registers to properly setup the virtual P2P bridges that exist in PCIe controllers for some of the embedded setups. Signed-off-by: Kumar Gala commit f16dab981aa9d423bdfe096e3422acd33d905c1e Author: Roy Zang Date: Fri Jul 13 18:05:08 2007 +0800 [POWERPC] Add basic PCI/PCI Express support for 8544DS board Add basic support for the PCIe PHB and enable the ULI bridge. Signed-off-by: York Sun Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 2e56ff206b7c6c28b847ccdbe46ad69b3263ac32 Author: Kumar Gala Date: Thu Jul 19 16:07:35 2007 -0500 [POWERPC] Make endianess of cfg_addr for indirect pci ops runtime Make it so we do a runtime check to know if we need to write cfg_addr as big or little endian. This is needed if we want to allow 86xx support to co-exist in the same kernel as other 6xx PPCs. Signed-off-by: Kumar Gala commit 29e8277defa1013f8f5367aec58161d3a81de8f7 Author: Jesper Juhl Date: Mon Jul 23 20:39:13 2007 -0400 Input: gpio_keys - remove duplicate includes Signed-off-by: Jesper Juhl Signed-off-by: Dmitry Torokhov commit bbf17d6483a7feb4c1eeef9fd553976d4f394e4c Author: Salyzyn, Mark Date: Mon Jul 23 10:13:48 2007 -0400 [SCSI] aacraid: sysfs adapter reset/status format change. We need to newline terminate responses from nodes within the sysfs tree, the Adapter status value reported by the reset adapter node is adjusted. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 60395bb60e0b5e4e0808ac8eb07a92f6c9cdea1f Author: Alan Cox Date: Mon Jul 23 14:51:05 2007 +0100 [SCSI] aacraid: Fix security hole On the SCSI layer ioctl path there is no implicit permissions check for ioctls (and indeed other drivers implement unprivileged ioctls). aacraid however allows all sorts of very admin only things to be done so should check. Signed-off-by: Alan Cox Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 1079ddcb07e0c39b576cd60174ca00ed9545c163 Author: FUJITA Tomonori Date: Mon Jul 23 09:33:27 2007 +0900 [SCSI] bsg: remove unnecessary code and comments - kill uhdr in bsg_command structure - it's not necessary to put SG v4 stuff to block/scsi_ioctl.c Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 598443a2124618fc8fe5a8bae32c129666ac3eab Author: FUJITA Tomonori Date: Mon Jul 23 09:33:26 2007 +0900 [SCSI] bsg: use lib/idr.c to find a unique minor number This replaces the current linear search for a unique minor number with lib/idr.c. Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 4b39c1d98327b0a572392cdb0ee22db1de0e7cb9 Author: Boaz Harrosh Date: Sun Jul 22 17:28:55 2007 +0300 [SCSI] qla2xxx: Data accessors Cleanup of last merge - Left overs from last code merges of qla2xxx Signed-off-by: Boaz Harrosh Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1ba90e3a87c46500623afdc3898573e4a5ebb21b Author: Thomas Renninger Date: Mon Jul 23 14:44:41 2007 +0200 ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers modpost is going to use these to create e.g. acpi:ACPI0001 in modules.alias. Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit 29b71a1ca74491fab9fed09e9d835d840d042690 Author: Thomas Renninger Date: Mon Jul 23 14:43:51 2007 +0200 ACPI: autoload modules - Create ACPI alias interface Modify modpost (file2alias.c) to add acpi*:XYZ0001: alias in modules.alias like: grep acpi /lib/modules/2.6.22-rc4-default/modules.alias alias acpi*:SNY5001:* sony_laptop alias acpi*:SNY6001:* sony_laptop for e.g. the sony_laptop module. This module matches against all ACPI devices with a HID or CID of SNY5001 or SNY6001 Export an uevent and modalias sysfs file containing the string: [MODALIAS=]acpi:PNP0C0C: additional CIDs are concatenated at the end. Signed-off-by: Thomas Renninger Signed-off-by: Kay Sievers Signed-off-by: Len Brown commit 8c8eb78f673c07b60f31751e1e47ac367c60c6b7 Author: Thomas Renninger Date: Mon Jul 23 14:43:32 2007 +0200 ACPI: autoload modules - ACPICA modifications Define standardized HIDs - Rename current acpi_device_id to acpica_device_id Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit c0e962f93d0b6ecc594dc75bb28ee744143cdbe4 Author: Wim Van Sebroeck Date: Fri Jul 20 20:13:43 2007 +0000 [WATCHDOG] Clean-up Kconfig+Makefile Clean-up of the watchdog's Kconfig and makefile files. Signed-off-by: Wim Van Sebroeck commit 3b0d71170d37878bbb1203ebc3f92e36d6151a80 Author: Al Viro Date: Mon Jul 23 11:21:34 2007 +0100 ACPI: asus-laptop: Fix failure exits > Subject : drivers/misc/asus-laptop.c:*: error: 'struct led_classdev' has no member named 'class_dev' > References : http://lkml.org/lkml/2007/7/22/299 > Submitter : Gabriel C Fallout from f8a7c6fe14f556ca8eeddce258cb21392d0c3a2f. However, looking at it shows that checks done in ASUS_LED_UNREGISTER() can't trigger at all (we never get to asus_led_exit() if registration fails) and if that registration fails, we actually leak stuff. IOW, it's worse than just replacing class_dev with dev in there - the tests themselves had been papering over the lousy cleanup logics. Signed-off-by: Al Viro Signed-off-by: Len Brown commit 5c4eb61b375ce16fc7af5055d8ab7bc19e788361 Author: Wim Van Sebroeck Date: Sat Jul 21 13:42:18 2007 +0000 [WATCHDOG] WDIOC_GETSTATUS and WDIOC_GETBOOTSTATUS clean-up Add mandatory WDIOC_GETSTATUS and WDIOC_GETBOOTSTATUS ioctl's for drivers that don't have them yet. Signed-off-by: Wim Van Sebroeck commit ec9505a7ecadc0ab8f8e3c4c5fa900d57467e391 Author: Wim Van Sebroeck Date: Fri Jul 20 20:41:37 2007 +0000 [WATCHDOG] VFS clean-up All watchdog device drivers are VFSs (Virtual File Systems). We thus return a nonseekable_open(inode, file) when we open the VFS. Signed-off-by: Wim Van Sebroeck commit f1a08cc9a1a8f1da79ca751469ecff82be110482 Author: Wim Van Sebroeck Date: Fri Jul 20 21:47:55 2007 +0000 [WATCHDOG] davinci_wdt clean-up * Remove the redundant check for pwrite(), given that the open() routine already invokes nonseekable_open(). * The WDIOF_CARDRESET flag can only be used when you can read this status via the WDIOC_GETSTATUS ioctl call. * Add the mandatory WDIOC_GETBOOTSTATUS ioctl call. Signed-off-by: Wim Van Sebroeck commit de81225a8719494f5149980ea8a50de28da653f6 Author: Wim Van Sebroeck Date: Fri Jul 20 21:22:58 2007 +0000 [WATCHDOG] mpc5200_wdt clean-up * Add MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); * Add mandatory WDIOC_GETSTATUS and WDIOC_GETBOOTSTATUS ioctl's. * If unknown ioctl is used we should return -ENOTTY. * All watchdog device drivers are VFSs (Virtual File Systems). We thus return a nonseekable_open(inode, file) when we open the VFS. * Make sure that /dev/watchdog can be opened by 1 parent * Add spin-locking to prevent that forked children can disturb each other's operations. Signed-off-by: Wim Van Sebroeck commit 7d831bf59a6991f399170bd2934dad4450891024 Author: Vladimir Barinov Date: Tue Jun 12 18:09:50 2007 +0400 [WATCHDOG] davinci watchdog driver Add watchdog support for TI Davinci DM644x/DM646x processors. Signed-off-by: Vladimir Barinov Signed-off-by: Kevin Hilman Signed-off-by: Wim Van Sebroeck commit 1e6d320f40685694708cef872edb10f4f9175989 Author: Bryan Wu Date: Sun Jul 15 02:50:02 2007 +0800 [WATCHDOG] Blackfin on-chip watchdog driver This patch implements the driver necessary use the Analog Devices Blackfin processor's on-chip watchdog controller, supports BF53[123]/BF53[467]/BF54[2489]/BF561. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Wim Van Sebroeck commit 8cf18971ec6ad96cce4a9eb896047581985cf99e Author: Domen Puncer Date: Mon Jun 18 08:17:57 2007 +0200 [WATCHDOG] mpc5200 watchdog (GPT0) Driver for internal mpc5200 watchdog on general purpose timer 0. For IPB clock of 132 MHz the maximum timeout is about 32 seconds. Signed-off-by: Domen Puncer Signed-off-by: Wim Van Sebroeck commit 3cc2649b879f0e83fd51b14c82bad5f8f208591e Author: Luming Yu Date: Mon Jul 23 12:39:28 2007 -0400 ACPI: fix oops due to typo in new throttling code Signed-off-by: Luming Yu Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit d5269966e57484548bc5d38e117f161bf2f56ce9 Author: Kumar Gala Date: Thu Jul 19 15:44:52 2007 -0500 [POWERPC] Removed setup_indirect_pci_nomap We don't use setup_indirect_pci_nomap in arch/powerpc and it appears the users that needed it from arch/ppc are now using setup_indirect_pci. Signed-off-by: Kumar Gala commit 4e7982115e8e426ee885f48c8aedd5e533e23c5b Author: Kumar Gala Date: Thu Jul 19 15:39:24 2007 -0500 [POWERPC] 85xx: Add quirk to ignore bogus FPGA on CDS The newer Arcadia boards for CDS have an FPGA that shows up on PCI however isn't a real PCI device. Add a quirk to just ignore the FPGA. This is based on the following patch from Andy & York: http://ozlabs.org/pipermail/linuxppc-dev/2007-February/032042.html Signed-off-by: Kumar Gala commit aa3c112146e387dcd68bea2a8354514fe725da0d Author: Kumar Gala Date: Mon Jul 16 10:45:07 2007 -0500 [POWERPC] 85xx: Added 8568 PCIe support Added the PCIe device node to the 8568 dts and the needed quirk entries. Signed-off-by: Kumar Gala commit 6c0a11c118471f79795202348fbd0e6580341794 Author: Kumar Gala Date: Thu Jul 19 15:29:53 2007 -0500 [POWERPC] Fixup resources on pci_bus for PCIe PHB when no device is connected On the 85xx/86xx PCIe controllers if there is no device connected to the PHB we will still allocate a pci_bus for downstream bus of the virtual P2P bridge. However the resources allocated to the downstream bus are not correct and so we just mimic the resources from the upstream pci_bus. Signed-off-by: Kumar Gala commit 66afe8780f297edb4c4716bc326e127ec2923422 Author: Roy Zang Date: Tue Jul 10 18:47:52 2007 +0800 [POWERPC] Add basic PCI node for mpc8568mds board Signed-off-by: Haiying Wang Signed-off-by: Ebony Zhu Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 3f6c5dae277d43b4fe2dd77a5984b0ef9aee52c6 Author: Roy Zang Date: Tue Jul 10 18:47:06 2007 +0800 [POWERPC] Use Freescale pci/pcie common code for 85xx boards Switch the 85xx platform over to using the FSL generic PCI code. This gets ups PCIe support in addition to base PCI support. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 344ffde71e65fb0ef4b73590015362005a59b3c0 Author: Roy Zang Date: Tue Jul 10 18:47:21 2007 +0800 [POWERPC] Update PCI nodes in the 83xx/85xx boards device tree Updated the 83xx & 85xx device tree PCI related compartible property. Used the following compatible properties: PCI "fsl,mpc8349-pci" PCI "fsl,mpc8540-pci" PCI-X: "fsl,mpc8540-pcix" PCIe: "fsl,mpc8548-pcie" Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 02edff59c9383acd01f4f2205d663c8abc57070f Author: Roy Zang Date: Tue Jul 10 18:46:47 2007 +0800 [POWERPC] Add 8548 CDS PCI express controller node and PCI-X device node Add 8548 CDS PCI express controller node and PCI-X device node. The current dts file is suitable for 8548 Rev 2.0 board with Arcadia 3.1. This kind of board combination is the most popular. Used the following compatible properties: PCI "fsl,mpc8540-pci" PCI-X: "fsl,mpc8540-pcix" PCIe: "fsl,mpc8548-pcie" Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 957ecffc2527ebd414c6e35b65f0f744739b012d Author: Kumar Gala Date: Wed Jul 11 13:31:58 2007 -0500 [POWERPC] FSL: Cleanup how we detect if we are a PCIe controller Use the PCI capabilities to determine if we are PCIe PHB. Also use PPC_INDIRECT_TYPE_NO_PCIE_LINK since the Freescale PCIe controllers will lock the system if they don't have link and you try to do a config access to anything but the PHB. Signed-off-by: Kumar Gala commit 62c66c8e55fae40d93d8f79d60e2ed50379e46f9 Author: Kumar Gala Date: Wed Jul 11 13:22:41 2007 -0500 [POWERPC] Added indirect quirk to handle PCIe PHB that have issue w/no link Added PPC_INDIRECT_TYPE_NO_PCIE_LINK flag to the indirect pci handling code to ensure that we don't talk to any device other than the PHB if we don't have PCIe link. Some controllers will lockup if they try to do a config cycle to any device on the bus except the PHB. Signed-off-by: Kumar Gala commit 38805e5f096162867a70c7468c654d7f9bb507da Author: Kumar Gala Date: Tue Jul 10 23:37:45 2007 -0500 [POWERPC] Add the ability to find PCI capabilities early on Added early_find_capability that wraps pci_bus_find_capability and uses fake_pci_bus() to allow us to call it before we've fully setup the pci_controller. Signed-off-by: Kumar Gala commit 9ac4dd301eebb3cd8de801e02bfc91f296e56f63 Author: Zang Roy-r61911 Date: Tue Jul 10 18:46:35 2007 +0800 [POWERPC] Rewrite Freescale PCI/PCIe support for 8{3,5,6}xx Rewrite the Freescale PCI code to support PCI on 83xx/85xx/86xx and PCIe on 85xx/86xx. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 55c44991e2910519bab274c857d95a08100ff5f7 Author: Roy Zang Date: Tue Jul 10 18:44:34 2007 +0800 [POWERPC] Create common fsl pci/e files based on 86xx platforms Move arch/powerpc/platforms/86xx/pci.c -> arch/powerpc/sysdev/fsl_pci.c arch/powerpc/sysdev/fsl_pcie.h -> arch/powerpc/sysdev/fsl_pci.h as the base to unify 83xx/85xx/86xx pci and pcie. Add CONFIG_FSL_PCI to build fsl_pci.c for Freescale pci and pcie option. The code still works for 86xx platforms. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 0ec8abd7086ee4f760cb1b477fe376805b17558c Author: Jesper Juhl Date: Sat Jul 21 00:12:44 2007 +0200 SELinux: fix memory leak in security_netlbl_cache_add() Fix memory leak in security_netlbl_cache_add() Note: The Coverity checker gets credit for spotting this one. Signed-off-by: Jesper Juhl Signed-off-by: James Morris Acked-by: Stephen Smalley commit 5048bcba4d27d975593ef5c55f217aafe015ec3b Author: Russell King Date: Mon Jul 23 12:59:46 2007 +0100 [ARM] setup_profiling_timer must not be __init It's called by writes to /proc/profile, so it must not be marked __init Signed-off-by: Russell King commit a1da5f4f1beb8cae83104a65f36afe527184a4ef Author: Paul Mackerras Date: Sun Jul 22 10:41:39 2007 +1000 Don't compile the PMU power driver on 64-bit PowerPC As reported by Stephen Rothwell, an allmodconfig build on 64-bit PowerPC reports these errors: ERROR: "pmu_batteries" [drivers/power/pmu_battery.ko] undefined! ERROR: "pmu_battery_count" [drivers/power/pmu_battery.ko] undefined! ERROR: "pmu_power_flags" [drivers/power/pmu_battery.ko] undefined! This fixes the problem by not building pmu_battery.ko on ppc64. There are no battery-powered ppc64 machines with an Apple PMU, and we can be reasonably confident there never will be. Signed-off-by: Paul Mackerras Signed-off-by: David Woodhouse commit 22c806c23fe17f9c744d19edfe650cfd6496bc2a Author: Simon Farnsworth Date: Mon Jul 23 18:32:01 2007 +1000 drm/via: Fix dmablit when blit queue is full fd.o bug 11542 Acked-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 7ea4d4bd5e21380f028c3a6e2500655090a3f932 Author: Adrian Bunk Date: Mon Jul 23 10:00:51 2007 +0200 drm_rmmap_ioctl(): remove dead code This patch removes some obviously dead code spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Dave Airlie commit f695baf2df9e0413d3521661070103711545207a Author: Linus Torvalds Date: Sun Jul 22 13:41:00 2007 -0700 Linux 2.6.23-rc1 Signed-off-by: Linus Torvalds commit 037e20a3c5c206efdf63f1b45c8b082fc57253d2 Author: Andi Kleen Date: Sun Jul 22 21:13:11 2007 +0200 x86_64: Rename CF Makefile variable in vdso This avoids a conflict with sparse builds. Reported by Alexey Dobriyan, fix suggested by Al Viro Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b053c204edbc82b068fe8cfc809b7f90b885fae0 Author: Eric W. Biederman Date: Sat Jul 21 12:53:19 2007 -0600 9p: Don't use binary sysctl numbers. The recent 9p commit: bd238fb431f31989898423c8b6496bc8c4204a86 that supposedly only moved files also introduced a new 9p sysctl interface that did not properly register it's sysctl binary numbers. And since it was only for debugging clearly did not need a binary fast path in any case. So this patch just remove the binary numbers. See Documentation/sysctl/ctl_unnumbered.txt for more details. While I was at it I cleaned up the sysctl initializers a little as well so there is less to read. Cc: Latchesar Ionkov Cc: Eric Van Hensbergen Signed-off-by: Eric W. Biederman Signed-off-by: Linus Torvalds commit f56d35e7aa78ac56a93ff43da90e8d90a37a1362 Author: Linus Nilsson Date: Sat Jul 21 17:49:06 2007 +0200 Documentation: Fix a mispelt "probably" in SubmittingPatches. Fix a typo in SubmittingPatches where "probably" was spelt "probabally". Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit e3202262eccf9b5669abea848303e79bd84dc1bb Author: Linus Nilsson Date: Sat Jul 21 17:25:34 2007 +0200 DocBook: Change a headline in kernel-locking to list all three main types of locking. Change a headline to reflect that there are three main types of kernel locking, not two. Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit e9ed7e722e3f4cea07cf3c4bfe98c18180a17793 Author: Al Viro Date: Sat Jul 21 23:29:12 2007 +0100 take declarations of enable_irq() et.al. to linux/interrupt.h Now that the last inlined instances are gone, all that is left to do is turning disable_irq_nosync on arm26 and m68k from defines to aliases and we are all set - we can make these externs in linux/interrupt.h uncoditional and kill remaining instances in asm/irq.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b91421749a1840148d8c81637c03c0ace3f35269 Author: James Bottomley Date: Sun Jul 22 13:15:55 2007 -0500 [SCSI] libsas: make ATA functions selectable by a config option Not everyone wants libsas automatically to pull in libata. This patch makes the behaviour configurable, so you can build libsas with or without ATA support. Signed-off-by: James Bottomley commit 0f760f13012322c81714812d852429fe23b16dcf Author: Andi Kleen Date: Sun Jul 22 13:21:42 2007 +0200 x86_64: Fix xen section warnings Fix WARNING: vmlinux.o(.data+0x99): Section mismatch: reference to .init.text:xen_start_kernel (between 'startup_xen' and 'boot_gdt_descr') Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 5f3f7cc6ad3b548ba5f61051426df28f79fc0ee8 Author: Andi Kleen Date: Sun Jul 22 13:21:41 2007 +0200 x86_64: Fix paravirt compilation Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 41089644c110756a6d09ace77c8d7624660d086a Author: Al Viro Date: Sun Jul 22 10:59:06 2007 +0100 fix broken handling of port=... in NFS option parsing Obviously broken on little-endian; fortunately, the option is not frequently used... Signed-off-by: Al Viro [ Hey, sparse is wonderful, but even better than sparse is having people like Al that actually _run_ it and fix bugs using it. - Linus ] Signed-off-by: Linus Torvalds commit 77668791d96436f48fca94255934b67dab924a0f Author: Avi Kivity Date: Sun Jul 22 12:40:30 2007 +0300 KVM: Require CONFIG_ANON_INODES Found by Sebastian Siewior and randconfig. Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit 83e2b5ef056cba890750436bc9aa37b2c4f58314 Author: Andi Kleen Date: Sun Jul 22 11:12:47 2007 +0200 x86_64: Share msidef.h and hypertransport.h includes with i386 They are identical Indirectly pointed out by Thomas Gleixner Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b5d009ca6b36632b5f7c0ccdac30301e014ab616 Author: Andi Kleen Date: Sun Jul 22 11:12:46 2007 +0200 x86_64: Remove outdated comment in boot decompressor Makefile 64bit code in there now since some time. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 92417df076f75738ae22956f7ea1b9b98f59fa7a Author: Andi Kleen Date: Sun Jul 22 11:12:45 2007 +0200 x86_64: Squash initial_code modpost warnings Get rid of warnings like WARNING: vmlinux.o(.bootstrap.text+0x1a8): Section mismatch: reference to .init.text:x86_64_start_kernel (between 'initial_code' and 'init_rsp') - Move initialization code into .text.head like i386 because modpost knows about this already - Mark initial_code .initdata Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit dec2e6b7aa5d45bc3508e19907a7716b0c5307e5 Author: Sam Ravnborg Date: Sun Jul 22 11:12:44 2007 +0200 x86_64: fix section mismatch warning in init.c Fix following warning: WARNING: vmlinux.o(.text+0x188ea): Section mismatch: reference to .init.text:__alloc_bootmem_core (between 'alloc_bootmem_high_node' and 'get_gate_vma') alloc_bootmem_high_node() is only used from __init scope so declare it __init. And in addition declare the weak variant __init too. Signed-off-by: Sam Ravnborg Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7aa6ec56b9e9e95eb6c83516ddbb6159fd11c224 Author: Sam Ravnborg Date: Sun Jul 22 11:12:42 2007 +0200 x86_64: fix section mismatch warning in hpet.c Fix following warnings: WARNING: vmlinux.o(.text+0x945e): Section mismatch: reference to .init.text:__set_fixmap (between 'hpet_arch_init' and 'hpet_mask_rtc_irq_bit') WARNING: vmlinux.o(.text+0x9474): Section mismatch: reference to .init.text:__set_fixmap (between 'hpet_arch_init' and 'hpet_mask_rtc_irq_bit') hpet_arch_init is only used from __init context so mark it __init. Signed-off-by: Sam Ravnborg Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a284b0518d2fe27cdde19485c8fe077a128cd827 Author: Björn Steinbrink Date: Sun Jul 22 11:12:41 2007 +0200 i386: Fix the K7 NMI watchdog checkbit The performance counters on K7 are only 48 bits wide, so using bit 63 to check if the counter overflowed is wrong. Let's use bit 47 instead. Signed-off-by: Björn Steinbrink Cc: Don Zickus Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e05aff854c9f348629bb66c191eee87e4d002900 Author: Andi Kleen Date: Sun Jul 22 11:12:40 2007 +0200 i386: Use patchable lock prefix in set_64bit Previously lock was unconditionally used, but shouldn't be needed on UP systems. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 57c22f49e4c7d27a03e109a317c30b12f1bae0b2 Author: Andi Kleen Date: Sun Jul 22 11:12:39 2007 +0200 i386: Handle P6s without performance counters in nmi watchdog I got an oops while booting a 32bit kernel on KVM because it doesn't implement performance counters used by the NMI watchdog. Handle this case. Cc: Avi Kivity Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f25f64ed5bd3c2932493681bdfdb483ea707da0a Author: Juergen Beisert Date: Sun Jul 22 11:12:38 2007 +0200 x86: Replace NSC/Cyrix specific chipset access macros by inlined functions. Due to index register access ordering problems, when using macros a line like this fails (and does nothing): setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x88); With inlined functions this line will work as expected. Note about a side effect: Seems on Geode GX1 based systems the "suspend on halt power saving feature" was never enabled due to this wrong macro expansion. With inlined functions it will be enabled, but this will stop the TSC when the CPU runs into a HLT instruction. Kernel output something like this: Clocksource tsc unstable (delta = -472746897 ns) This is the 3rd version of this patch. - Adding missed arch/i386/kernel/cpu/mtrr/state.c Thanks to Andres Salomon - Adding some big fat comments into the new header file Suggested by Andi Kleen AK: fixed x86-64 compilation Signed-off-by: Juergen Beisert Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bdda1561ffda764583a295229db66d94cf6038a3 Author: Mathieu Desnoyers Date: Sun Jul 22 11:12:37 2007 +0200 x86_64: x86_64 - Use non locked version for local_cmpxchg() local_cmpxchg() should not use any LOCK prefix. This change probably got lost in the move to cmpxchg.h. Signed-off-by: Mathieu Desnoyers Acked-by: Christoph Lameter Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 20fe1d30e7e1c2ee36f11856f090613b0ad58b48 Author: Keith Owens Date: Sun Jul 22 11:12:36 2007 +0200 i386: Do not include other cpus' interrupt 0 in nmi_watchdog kstat_irqs(0) includes the count of interrupt 0 from all cpus, not just the current cpu. The updated interrupt 0 on other cpus can stop the nmi_watchdog from tripping, so only include the current cpu's int 0. Signed-off-by: Keith Owens Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 398cf2abdb51fc96bc08f2a007b1aa25ba6adfba Author: Andi Kleen Date: Sun Jul 22 11:12:35 2007 +0200 i386: Tune AMD Fam10h/11h like K8 This mainly changes the nops for alternative, so not very revolutionary. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0bd8acd1a7fbb5492c1de8af271b6964a7fd5274 Author: Andi Kleen Date: Sun Jul 22 11:12:34 2007 +0200 x86_64: Set K8 CPUID flag for K8/Fam10h/Fam11h Previously this flag was only used on 32bit, but some shared code can use it now. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit fbab6e7a5cdcc53c2f56404ae0f7f5a3fd48f609 Author: Andi Kleen Date: Sun Jul 22 11:12:33 2007 +0200 i386: Fix cpu_llc_id section mismatch warning Fix WARNING: arch/i386/kernel/built-in.o(.text+0xdd0d): Section mismatch: reference to .init.data:cpu_llc_id (between 'set_cpu_sibling_map' and 'initialize_secondary') WARNING: arch/i386/kernel/built-in.o(.text+0xdd1b): Section mismatch: reference to .init.data:cpu_llc_id (between 'set_cpu_sibling_map' and 'initialize_secondary') Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8f4e956b313dcccbc7be6f10808952345e3b638c Author: Andi Kleen Date: Sun Jul 22 11:12:32 2007 +0200 x86: Stop MCEs and NMIs during code patching When a machine check or NMI occurs while multiple byte code is patched the CPU could theoretically see an inconsistent instruction and crash. Prevent this by temporarily disabling MCEs and returning early in the NMI handler. Based on discussion with Mathieu Desnoyers. Cc: Mathieu Desnoyers Cc: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 19d36ccdc34f5ed444f8a6af0cbfdb6790eb1177 Author: Andi Kleen Date: Sun Jul 22 11:12:31 2007 +0200 x86: Fix alternatives and kprobes to remap write-protected kernel text Reenable kprobes and alternative patching when the kernel text is write protected by DEBUG_RODATA Add a general utility function to change write protected text. The new function remaps the code using vmap to write it and takes care of CPU synchronization. It also does CLFLUSH to make icache recovery faster. There are some limitations on when the function can be used, see the comment. This is a newer version that also changes the paravirt_ops code. text_poke also supports multi byte patching now. Contains bug fixes from Zach Amsden and suggestions from Mathieu Desnoyers. Cc: Jan Beulich Cc: Jeremy Fitzhardinge Cc: Mathieu Desnoyers Cc: Zach Amsden Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f51c94528a9bc73504928926ca4d791a2b7ddd7c Author: Glauber de Oliveira Costa Date: Sun Jul 22 11:12:29 2007 +0200 x86_64: Use read and write crX in .c files This patch uses the read and write functions provided at system.h for control registers instead of writting raw assembly over and over again in .c files. Functions to manipulate cr2 and cr8 were provided, as they were lacking. Also, removed some extra space after closing brackets Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit abd4f7505bafdd6c5319fe3cb5caf9af6104e17a Author: Masoud Asgharifard Sharbiani Date: Sun Jul 22 11:12:28 2007 +0200 x86: i386-show-unhandled-signals-v3 This patch makes the i386 behave the same way that x86_64 does when a segfault happens. A line gets printed to the kernel log so that tools that need to check for failures can behave more uniformly between debug.show_unhandled_signals sysctl variable to 0 (or by doing echo 0 > /proc/sys/debug/exception-trace) Also, all of the lines being printed are now using printk_ratelimit() to deny the ability of DoS from a local user with a program like the following: main() { while (1) if (!fork()) *(int *)0 = 0; } This new revision also includes the fix that Andrew did which got rid of new sysctl that was added to the system in earlier versions of this. Also, 'show-unhandled-signals' sysctl has been renamed back to the old 'exception-trace' to avoid breakage of people's scripts. AK: Enabling by default for i386 will be likely controversal, but let's see what happens AK: Really folks, before complaining just fix your segfaults AK: I bet this will find a lot of silent issues Signed-off-by: Masoud Sharbiani Signed-off-by: Andi Kleen [ Personally, I've found the complaints useful on x86-64, so I'm all for this. That said, I wonder if we could do it more prettily.. -Linus ] Signed-off-by: Linus Torvalds commit 5fa63fccc579ac609fc7f86d29ccb3a2edf910d7 Author: Al Viro Date: Sun Jul 22 08:10:35 2007 +0100 Fix ppc64 mismerge Fix a mismerge in commit 8b6f50ef1d5cc86b278eb42bc91630fad455fb10: "spufs: make signal-notification files readonly for NOSCHED contexts", where structs got duplicated. Signed-off-by: Al Viro Acked-by: Jeremy Kerr Signed-off-by: Linus Torvalds commit 06cfa556949ead5d3c00dc68108c443be8dd8d17 Author: Ben Dooks Date: Sun Jul 22 16:23:02 2007 +0100 [ARM] 4524/1: S3C: Move register out of include/asm-arm/arch-s3c2410 Move register and other definitions out of the include/asm-arm/arch-s3c2410 into the the arch directories of include/asm-arm/plat-s3c24xx and include/asm-arm/plat-s3c. This move is in preperation of the merging of s3c2400 and s3c6400. The following git mv commands are needed before this patch can be applied: git mv include/asm-arm/arch-s3c2410/regs-ac97.h include/asm-arm/plat-s3c/regs-ac97.h git mv include/asm-arm/arch-s3c2410/regs-adc.h include/asm-arm/plat-s3c/regs-adc.h git mv include/asm-arm/arch-s3c2410/regs-iis.h include/asm-arm/plat-s3c24xx/regs-iis.h git mv include/asm-arm/arch-s3c2410/regs-spi.h include/asm-arm/plat-s3c24xx/regs-spi.h git mv include/asm-arm/arch-s3c2410/regs-udc.h include/asm-arm/plat-s3c24xx/regs-udc.h git mv include/asm-arm/arch-s3c2410/udc.h include/asm-arm/plat-s3c24xx/udc.h Signed-off-by: Ben Dooks Signed-off-by: Russell King commit dd1313a167a9d29c349b3244dffac274bb0bf486 Author: Ben Dooks Date: Sun Jul 22 16:22:06 2007 +0100 [ARM] 4523/1: S3C: Remove FIFO_MAX from uncompression headers We've fixed up a number of faults with the uncompressors so remove the now unused FIFO_MAX as it is not needed. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 0d685cad354b773fbb6a698e73097f8b5aa4a342 Author: Ben Dooks Date: Sun Jul 22 16:21:21 2007 +0100 [ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h Split the S3C2400 out of S3C2410 memory.h files ready for S3C2400 support to be added. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 530ef3c2a92b3c6a9901ac7e04d1e6c0077a9f2d Author: Ben Dooks Date: Sun Jul 22 16:59:44 2007 +0100 [ARM] 4521/2: S3C: Reorganise VA mapping headers Reorganise the definition of the virtual addresses used into a common header and update the users to rename S3C2410 items into a more common S3C defined macros. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit bf2a3a26d18679c94eca973cb8741e3c1ac53c43 Author: Ben Dooks Date: Sun Jul 22 16:20:04 2007 +0100 [ARM] 4520/1: S3C: Remove old VA values from static map Remove the static maps for the LCD and USB devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ae39ae0b0030d7f96a6b7b06d9c77c8ad2a07673 Author: Ben Dooks Date: Sun Jul 22 16:18:22 2007 +0100 [ARM] 4519/1: S3C: split S3C2400 values out of S3C24XX map.h Move the S3C2400 values to their own include directory series in include/asm-arm/arch-s3c2400 as the support for the S3C2400 is best placed in its own arch directory. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a45f82616eaa7e7fcd365ced78d3f0974b991800 Author: Ben Dooks Date: Sun Jul 22 16:16:51 2007 +0100 [ARM] 4518/1: S3C: Rename watchdog configuration options Rename the S3C24XX configuration options for the watchdog boot controls for moving to the arch/arm/plat-s3c moves. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1197b4cd5098fb862180f013a086a81507196a69 Author: Ben Dooks Date: Sun Jul 22 16:15:44 2007 +0100 [ARM] 4517/1: S3C: Fix debug macros for ARM926 output Check for ARM926 based S3C24XX based devices as these only have 64 byte FIFOs, and do not have the model detection refisters in the same place as the ARM920 based CPUs Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 5c49218a15188cc036364c4cda325bae3cb138ae Author: Ben Dooks Date: Sun Jul 22 16:14:02 2007 +0100 [ARM] 4516/1: S3C: Fix uncompressor serial output for ARM926 Ensure we check for ARM926 in the uncompressor, as all current ARM926s do not have an ID register and all have S3C2440 style UARTs. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a14a26aca610bbd09fb62fb9fd5dbf6b41321972 Author: Ben Dooks Date: Sun Jul 22 16:13:29 2007 +0100 [ARM] 4515/1: S3C: Move uncompress code to plat-s3c Move the uncompress.h to plat-s3c Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3ec20520ddfb654b1e60f51ff5e4769afde51b36 Author: Ben Dooks Date: Sun Jul 22 16:12:04 2007 +0100 [ARM] 4514/1: S3C: Rename DEBUG_S3C2410_PORT and DEBUG_S3C_UART Rename DEBUG_S3C2410_PORT to DEBUG_S3C_PORT as well as DEBUG_S3C2410_UART to DEBUG_S3C_UART as part of the updates to moving to plat-s3c for S3C base support. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c76578460f1a0c4b77c33b2e8e295ccdfa893cdc Author: Ben Dooks Date: Sun Jul 22 16:11:20 2007 +0100 [ARM] 4513/1: S3C: Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT to be CONFIG_S3C_LOWLEVEL_UART_PORT as we move to using plat-s3c for base of S3C operations. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit cbc4dbffc89fbaada94ae7873ad6631a701fd00e Author: Ben Dooks Date: Sun Jul 22 16:10:23 2007 +0100 [ARM] 4512/1: S3C: rename the debug macros for per-cpu updates Update the debug macros for use with the new per-cpu configuration and usage. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b2627588cbeb70364357048854affd52bf02fe64 Author: Ben Dooks Date: Sun Jul 22 16:09:44 2007 +0100 [ARM] 4511/1: S3C: updated LLSERIAL Kconfig defines for CPU support Update the Kconfig to create configuration options based on which CPUs are supported for the low level serial code. This means that the debug macros can be optimised for the type(s) of CPU that are being used. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 498e03b619638826a7364faed61eb0a3d2a0f0c8 Author: Ben Dooks Date: Sun Jul 22 16:08:48 2007 +0100 [ARM] 4510/1: S3C: split debug-macro support into plat-s3c Move the common parts of the debug macros into include/asm-arm/plat-s3c ready to be used for the common S3C support. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit d58153d86589b6bba2dd19f4c178252f8cf2ed4f Author: Ben Dooks Date: Sun Jul 22 16:07:09 2007 +0100 [ARM] 4509/1: S3C: Create initial arch/arm/plat-s3c Create the initial arch/arm/plat-s3c directory and start linking it into the arch/arm build heirarchy ready to receive the generic parts of the S3C24XX support to be used when adding S3C6400 devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 531b617c71e780b14af5931428e0611f930c2134 Author: Ben Dooks Date: Sun Jul 22 16:05:25 2007 +0100 [ARM] 4508/1: S3C: Move items to include/asm-arm/plat-s3c This patch moves items of the s3c24xx support into a new plat-s3c directory for items that use the s3c24xx support but are not directly s3c24xx compatible, such as the s3c2400 and s3c6400. git mv commands: git mv include/asm-arm/arch-s3c2410/iic.h include/asm-arm/plat-s3c/iic.h git mv include/asm-arm/arch-s3c2410/nand.h include/asm-arm/plat-s3c/nand.h git mv include/asm-arm/arch-s3c2410/regs-iic.h include/asm-arm/plat-s3c/regs-iic.h git mv include/asm-arm/arch-s3c2410/regs-nand.h include/asm-arm/plat-s3c/regs-nand.h git mv include/asm-arm/arch-s3c2410/regs-rtc.h include/asm-arm/plat-s3c/regs-rtc.h git mv include/asm-arm/arch-s3c2410/regs-serial.h include/asm-arm/plat-s3c/regs-serial.h git mv include/asm-arm/arch-s3c2410/regs-timer.h include/asm-arm/plat-s3c/regs-timer.h git mv include/asm-arm/arch-s3c2410/regs-watchdog.h include/asm-arm/plat-s3c/regs-watchdog.h Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 52c543f90c4095dff71dc125017594b61a753069 Author: Quinn Jensen Date: Mon Jul 9 22:06:53 2007 +0100 [ARM] 4461/1: MXC platform and i.MX31ADS core support This patch adds the foundation pieces for the Freescale MXC platforms, including i.MX2 and i.MX3 based systems. The bare-bones MX31 support in this patch boots to the rootdev panic with 8250 serial console configured "console=ttyS0,115200". It assumes that Redboot is the boot loader. Signed-off-by: Quinn Jensen Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 7bbb18c9f4783b6fb3bf27af71625b590cf4f00b Author: Bill Gatliff Date: Sat Jul 21 03:39:36 2007 +0100 [ARM] 4507/1: pxa2xx clock_event_device Reimplements arch/arm/mach-pxa/time.c using a clock_event_device based on OSMR0. Tested on PXA270, linux-2.6.22+arm:pxa patches. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit 4259fa01a2d2aa3e589b34ba7624080232d9c1ff Author: Al Viro Date: Thu Jun 7 11:13:31 2007 -0400 [PATCH] get rid of AVC_PATH postponed treatment Selinux folks had been complaining about the lack of AVC_PATH records when audit is disabled. I must admit my stupidity - I assumed that avc_audit() really couldn't use audit_log_d_path() because of deadlocks (== could be called with dcache_lock or vfsmount_lock held). Shouldn't have made that assumption - it never gets called that way. It _is_ called under spinlocks, but not those. Since audit_log_d_path() uses ab->gfp_mask for allocations, kmalloc() in there is not a problem. IOW, the simple fix is sufficient: let's rip AUDIT_AVC_PATH out and simply generate pathname as part of main record. It's trivial to do. Signed-off-by: Al Viro Acked-by: James Morris commit 74f2345b6be1410f824cb7dd638d2c10a9709379 Author: Eric Paris Date: Mon Jun 4 17:00:14 2007 -0400 [PATCH] allow audit filtering on bit & operations Right now the audit filter can match on = != > < >= blah blah blah. This allow the filter to also look at bitwise AND operations, & Signed-off-by: Eric Paris Signed-off-by: Al Viro commit c926e4f432af0f61ac2b9b637fb51a4871a3fc91 Author: Klaus Weidner Date: Wed May 16 17:45:42 2007 -0500 [PATCH] audit: fix broken class-based syscall audit The sanity check in audit_match_class() is wrong. We are able to audit 2048 syscalls but in audit_match_class() we were accidentally using sizeof(_u32) instead of number of bits in _u32 when deciding how many syscalls were valid. On ia64 in particular we were hitting syscall numbers over the (wrong) limit of 256. Fixing the audit_match_class check takes care of the problem. Signed-off-by: Klaus Weidner Signed-off-by: Al Viro commit 5b9a4262232d632c28990fcdf4f36d0e0ade5f18 Author: Steve Grubb Date: Tue May 29 10:38:18 2007 -0400 [PATCH] Make IPC mode consistent The mode fields for IPC records are not consistent. Some are hex, others are octal. This patch makes them all octal. Signed-off-by: Steve Grubb Signed-off-by: Al Viro commit 41e1703b9b88cf9b5e91cdd2f7dcded3ec3917cb Author: FUJITA Tomonori Date: Sun Jul 22 10:06:50 2007 +0900 [SCSI] bsg: unexport sg v3 helper functions blk_fill_sghdr_rq, blk_unmap_sghdr_rq, and blk_complete_sghdr_rq were exported for bsg, however bsg was changed to support only sg v4. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 7bd02a20d5fcb69e1623c3bf2b68959fe7a77fa4 Author: Jesper Juhl Date: Sun Jul 22 01:02:30 2007 +1000 [POWERPC] Clean up duplicate includes in drivers/macintosh/ Signed-off-by: Jesper Juhl Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a2b7390af4f6a9aec079dfc15874528c3adaeccb Author: Stephen Rothwell Date: Sun Jul 22 00:37:38 2007 +1000 [POWERPC] Quiet section mismatch warning on pcibios_setup WARNING: vmlinux.o(.text+0x1cefcc): Section mismatch: reference to .init.text:.pcibios_setup (between '.pci_setup' and '.pci_init') pci_setup() is marked __devinit and calls pcibios_setup. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1ad528ebfd1a32e33a7ade23a7e4eeb250ef64a7 Author: Stephen Rothwell Date: Sun Jul 22 00:33:11 2007 +1000 [POWERPC] init and exit markings for hvc_iseries Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit a6dfe1dc074cc2218b2e32f67ce3a1ed4f89b200 Author: Stephen Rothwell Date: Sun Jul 22 00:31:28 2007 +1000 [POWERPC] Quiet section mismatch in hvc_rtas.c WARNING: vmlinux.o(.text+0x2066f0): Section mismatch: reference to .init.text:.add_preferred_console (between '.hvc_rtas_console_init' and '.hvc_beat_put_chars') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 51d261122d0ffac8cf91cc6e74ffcfea23faeb1c Author: Stephen Rothwell Date: Sun Jul 22 00:27:01 2007 +1000 [POWERPC] Constify of_platform_driver match_table Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit b1c30115f4861c9dd2dcaaac2a01acc67dd4cf94 Author: Stephen Rothwell Date: Sun Jul 22 00:25:00 2007 +1000 [POWERPC] hvcs: Make some things static and const Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8bf8df7120006b8c97ad3a9fcc79e2ba894c46dd Author: Stephen Rothwell Date: Sun Jul 22 00:23:03 2007 +1000 [POWERPC] Constify of_platform_driver name Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit 7fd7218610600b16f6f0af3f9d9353ba0265c09f Author: Benjamin Herrenschmidt Date: Sat Jul 21 09:55:21 2007 +1000 [POWERPC] MPIC protected sources Some HW platforms, such as the new cell blades, requires some MPIC sources to be left alone by the operating system. This implements support for a "protected-sources" property in the mpic controller node containing a list of source numbers to be protected against operating system interference. For those interested in the gory details, the MPIC on the southbridge of those blades has some of the processor outputs routed to the cell, and at least one routed as a GPIO to the service processor. It will be used in the GA product for routing some of the southbridge error interrupts to the service processor which implements some of the RAS stuff, such as checkstopping when fatal errors occurs before they can propagate. Signed-off-by: Benjamin Herrenschmidt Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 34f329db54e8154cf7faf0e7c45e7c16facfbbfe Author: Segher Boessenkool Date: Fri Jul 20 15:58:38 2007 +1000 [POWERPC] of_detach_node()'s device node argument cannot be const ...since it modifies it (when it sets the OF_DETACHED flag). Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit dd68c048d7a41b725ca3c2e23155598a5781dcbb Author: Josh Boyer Date: Fri Jul 20 13:11:10 2007 +1000 [POWERPC] Fix ARCH=ppc builds The recent signal rework broke ARCH=ppc builds with the following error: CC arch/powerpc/kernel/signal.o arch/powerpc/kernel/signal.c: In function ‘do_signal’: arch/powerpc/kernel/signal.c:142: error: implicit declaration of function ‘set_dabr’ make[1]: *** [arch/powerpc/kernel/signal.o] Error 1 This fixes it by including a function prototype in asm-ppc/system.h. Acked-by: Kumar Gala Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 461e666723b6669bc6f7ef90b49b615396d70eb8 Author: Christoph Hellwig Date: Fri Jul 20 07:50:49 2007 +1000 [POWERPC] mv64x60: Use mutex instead of semaphore Signed-off-by: Christoph Hellwig Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit adff093d6c545c882f1503607f6af14ddd90bb89 Author: Avi Kivity Date: Fri Jul 20 01:33:48 2007 +1000 [POWERPC] Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. i386 and x86_64 already received a similar treatment. Signed-off-by: Avi Kivity Signed-off-by: Paul Mackerras commit 08ae6cc15db201fa20cc4893d9500c1f6b20e560 Author: Paul Mackerras Date: Thu Jul 19 10:00:20 2007 +1000 [POWERPC] Allow exec faults on readable areas on classic 32-bit PowerPC Classic 32-bit PowerPC CPUs, and the early 64-bit PowerPC CPUs, don't provide a way to prevent execution from readable pages, that is, the MMU doesn't distinguish between data reads and instruction reads, although a different exception is taken for faults in data accesses and instruction accesses. Commit 9ba4ace39fdfe22268daca9f28c5df384ae462cf, in the course of fixing another bug, added a check that meant that a page fault due to an instruction access would fail if the vma did not have the VM_EXEC flag set. This gives an inconsistent enforcement on these CPUs of the no-execute status of the vma (since reading from the page is sufficient to allow subsequent execution from it), and causes old versions of ppc32 glibc (2.2 and earlier) to fail, since they rely on executing the word before the GOT but don't have it marked executable. This fixes the problem by allowing execution from readable (or writable) areas on CPUs which do not provide separate control over data and instruction reads. Signed-off-by: Paul Mackerras Acked-by: Jon Loeliger commit ca8ffc974d43033be6e1d4277a45822d2c3656f4 Author: Michael Neuling Date: Thu Jul 19 07:56:32 2007 +1000 [POWERPC] Fix future firmware feature fixups function failure Move firmware feature initialisation from pSeries_init_early to the earlier pSeries_probe_hypertas so they are initialised before firmware feature fixups are applied. Currently firmware feature sections are only used for iSeries which initialises the these features much earlier. This is a bug in waiting on pSeries. Also adds some whitespace fixups. Signed-off-by: Michael Neuling Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 4d404edce30f911004850d472e05a31efd751662 Author: Ishizaki Kou Date: Wed Jul 18 19:26:40 2007 +1000 [POWERPC] fix showing xmon help In some configuration, xmon help string is larger than xmon_printf buffer. We need not to use printf. This patch adds xmon_puts and change to use it to show help string. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit 776568d4c93fe8def5ab4060344af554fe2b44be Author: Ishizaki Kou Date: Wed Jul 18 19:30:29 2007 +1000 [POWERPC] Make xmon_write accept a const buffer Because xmon_write doesn't change the buffer, we should add 'const' qualifier to the argument which points it. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit f8eb77d6fbdf13b94bcea48023d4e1dce4b3bffe Author: Robert P. J. Day Date: Wed Jul 18 08:21:29 2007 +1000 [POWERPC] Fix misspelled "CONFIG_CHECK_CACHE_COHERENCY" Kconfig option. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 1e57ba8dddcbb384b293f948cba190c5199cf945 Author: Geert Uytterhoeven Date: Tue Jul 17 02:35:38 2007 +1000 [POWERPC] cell: CONFIG_SPE_BASE is a typo The config symbol for SPE support is called CONFIG_SPU_BASE, not CONFIG_SPE_BASE. Signed-off-by: Geert Uytterhoeven Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ce8c47cf88af4da2ff429933c07f203a55d5d0a1 Author: Andrew Morton Date: Sun Jul 22 10:36:31 2007 +0100 leds: cr_bllcd.c: build fix Build fix for cr_bllcd.c Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 10b3dcae0f275e2546e55303d64ddbb58cec7599 Author: Shaohua Li Date: Fri Jul 20 10:03:25 2007 +0800 ACPI: ignore _PSx method for hotplugable PCI devices If the ACPI device has _EJ0, ignore the device. _PSx will set power for the slot, and the hotplug driver will take care of _PSx. Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit ab826ca4cf2fe8ebcfd21189ca8bfeb47ca88359 Author: Shaohua Li Date: Fri Jul 20 10:03:22 2007 +0800 ACPI: Use ACPI methods to select PCI device suspend state applied after Rafel's 'PM: Update global suspend and hibernation operations framework' patch set Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit fc30e68e88baf463683bde43347756889ba2ffae Author: Shaohua Li Date: Fri Jul 20 10:03:20 2007 +0800 ACPI, PNP: hook ACPI D-state to PNP suspend/resume applied after Rafel's 'PM: Update global suspend and hibernation operations framework' patch set Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit fd4aff1a28eecbd729b409bf7d3eff5948f20414 Author: Shaohua Li Date: Tue Jul 17 22:40:25 2007 +0200 ACPI: Add acpi_pm_device_sleep_state helper routine Based on the David Brownell's patch at http://marc.info/?l=linux-acpi&m=117873972806360&w=2 updated by: Rafael J. Wysocki Add a helper routine returning the lowest power (highest number) ACPI device power state that given device can be in while the system is in the sleep state indicated by acpi_target_sleep_state . Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit e9b3aba887f47f9cd64de20fec9c333a932b70dc Author: Rafael J. Wysocki Date: Tue Jul 17 22:40:06 2007 +0200 ACPI: Implement the set_target() callback from pm_ops In the future some drivers may need to use ACPI to determine the low power states in which to place their devices, but to provide the drivers with this information the ACPI core needs to know what sleep state the system is going to enter. Namely, the device's state should not be too high power for given system sleep state and, if the device is supposed to be able to wake up the system, its state should not be too low power for the wake up to be possible). For this purpose, the ACPI core needs to implement the set_target() method in 'struct pm_ops' and store the target system sleep state passed by the PM core in a variable. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Acked-by: David Brownell Signed-off-by: Len Brown commit d4c5f047ae2a33296774e41abc2ac5c89283f736 Author: Zhang Rui Date: Thu Jun 14 17:43:07 2007 +0800 ACPI: Populate /sys/firmware/acpi/tables/ The file name is the signature, such as DSDT, and the contents are the binary table image. Some tables, such as the SSDT, can have multiple instances. If just one, the file is SSDT, but if 3 instances, for example, it will be SSDT1, SSDT2, SSDT3 All static tables (besides teh RSDP and RSDT themselves are exported. Dynamic tables, such as SSDT op-regions that are not declared in the RSDT, will be added in a subsequent patch. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 798d91039849486c7a4f1a458a5680cb55a65408 Author: Thomas Renninger Date: Thu May 31 17:20:39 2007 +0200 ACPI: create CONFIG_ACPI_DEBUG_FUNC_TRACE Split ACPI_DEBUG into function trace enabled and not enabled. Function trace is most of the ACPI_DEBUG costs, but is not much of use for kernel ACPI debugging. Size of kernel image increased on test compile: + 48k (Full ACPI_DEBUG) + 35k (ACPI_DEBUG with function trace compiled out) Performance without function trace is also much better. Also remove ACPI_LV_DEBUG_OBJECT from default debug level as a lot vendors let Store (value, debug) in their code and this might confuse users when it pops up in syslog. Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit 8b8eb7d8cfc6cd95ed00cd58754e8493322505bd Author: Zhang Rui Date: Wed Jul 18 17:23:24 2007 +0800 ACPI: update ACPI proc I/F removal schedule ACPI sysfs conversion is not finished yet and some user space tools still depend on the ACPI proc I/F. We plan to finish all the sysfs conversion by January 2008 and remove the ACPI proc I/F in July 2008. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 7a9b9068b8c7b526894904c0b9b90354825b8fbd Author: Zhang Rui Date: Fri Jul 13 13:42:47 2007 +0800 ACPI: update feature-removal-schedule.txt, /sys/firmware/acpi/namespace is gone The /sys/firmware/acpi/namespace has already been removed in 2.6.21. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 9c977a453ed62396d067b75f3f272b3fb1ea3acc Author: Zhang Rui Date: Fri Jul 20 16:41:14 2007 +0800 ACPI: export ACPI events via acpi_mc_group multicast group This is an incremental patch for the recent genetlink multicast changes. Now ACPI events are exported via generic netlink multicast group. Thanks for Johannes' help on developing this patch Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 4ebf83c8cf89ab13bc23e46b0fcb6178ca23b43c Author: Dave Jones Date: Mon Jul 9 11:33:14 2007 -0700 ACPI: fix empty macros found by -Wextra ACPI has a ton of macros which make a bunch of empty if's when configured in non-debug mode. [lenb: The code it complaines about is functionally correct, so this patch is just to make -Wextra happier] #define DBG() if(...) DBG(); next_c_statement which turns into if(...) ; next_c_statement Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 0dc070bb0242481a6100c95e5deaa07b267399a8 Author: Dan Aloni Date: Mon Jul 9 11:33:18 2007 -0700 ACPI: drivers/acpi/pci_link.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 22a17780584173635dae11bb83884952b00e5181 Author: Mattia Dongili Date: Mon Jul 16 02:34:39 2007 +0900 sony-laptop: Fix event reading in sony-laptop The rewritten event reading code from sonypi was absolutely wrong, this patche makes things functional for type2 and type1 models. Cc: Andrei Paskevich Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 89892d153d0d46018241afc7944910912bcd9688 Author: Mattia Dongili Date: Mon Jul 16 02:34:38 2007 +0900 sony-laptop: Add Vaio FE to the special init sequence The Vaio FE series uses the same sequence as Vaio C series Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit bc57f865fa2282ad2b7efe02da0a752e602e982e Author: Mattia Dongili Date: Fri Jul 20 02:01:57 2007 +0900 sony-laptop: Make the driver use MSC_SCAN and a setkeycode and getkeycode key table. The following is the only way I could think of to hide some events as per Dmitry suggestions while still using the default {set,get}keycode implementation. Make the driver use MSC_SCAN and a setkeycode and getkeycode key table. Cc: Dmitry Torokhov Signed-off-by: Richard Hughes Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit b25b732a16e4e035247fa729f931ed173f9fc8e2 Author: Mattia Dongili Date: Mon Jul 16 02:34:36 2007 +0900 sony-laptop: Invoke _INI for SNC devices that provide it Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 6315fd1c9cd6870a253699f07c5ada85cfe8fecb Author: Mattia Dongili Date: Mon Jul 16 02:34:35 2007 +0900 sony-laptop: Add support for recent Vaios Fn keys (C series for now) Recent Vaios (C, AR, N, FE) need some special initialization sequence to enable Fn keys interrupts through the Embedded Controller. Moreover Fn keys have to be decoded internally using ACPI methods to get the key code. Thus a new DMI table to add SNC init time callbacks and new mappings for model-specific key code to generic sony-laptop code have been added. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 8538c3686c895f9334a3c22997b51b5a82de7550 Author: Mattia Dongili Date: Mon Jul 16 02:34:34 2007 +0900 sony-laptop: map wireless switch events to KEY_WLAN Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 044847e02d46c0a9430e19249fd68777bb1d3c98 Author: Mattia Dongili Date: Mon Jul 16 02:34:33 2007 +0900 sony-laptop: add new SNC handlers - lid state: GLID - indicator lamp: GILS/SILS - multimedia bass gain: GMGB/CMGB Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit f432255e936a892a6896e5032e2b4897423076f2 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:48 2007 -0300 ACPI: thinkpad-acpi: add locking to brightness subdriver The backlight class does all the locking needed for sysfs access, but offers no API to interface to that locking without an layer violation. Since we need to mutex-lock procfs access, implement in-driver locking for brightness. It will go away the day thinkpad-acpi procfs goes away, or the backlight class gives us a way to use its locks without a layer violation. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit c78d5c96bb65b71a54b7551b404fbaf4763ed6e4 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:47 2007 -0300 ACPI: thinkpad-acpi: bump up version to 0.15 Name it thinkpad-acpi version 0.15. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 3d6f99ca00ccf861305fd8630a21f2e696886708 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:46 2007 -0300 ACPI: thinkpad-acpi: make EC-based thermal readings non-experimental Reading the 16 thermal sensors directly from the EC has been stable for about one year, in all supported ThinkPad models. Remove its "experimental" label. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a8fba3da3d11d808137be7ebeb3b6938a42f011f Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:45 2007 -0300 ACPI: thinkpad-acpi: make sure DSDT TMPx readings don't return +128 We get +128 instead of -128 from the DSDT TMPx methods, due to errors when converting a EC byte return that is a s8 to an ACPI handler return that is an int. Fix it once and for all, by clamping acceptable temperature readings from DSDT TMPx so that anything outside the [-127,+127] range is converted to TP_EC_THERMAL_TMP_NA (-128). Signed-off-by: Henrique de Moraes Holschuh Cc: Michael Olbrich Signed-off-by: Len Brown commit edf0e0e56904f794c97ca6c4562d8256e3d8d8e3 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:44 2007 -0300 ACPI: thinkpad-acpi: react to Lenovo ThinkPad differences in hot key Lenovo ThinkPads have a slightly different key map layout from IBM ThinkPads (fn+f2 and fn+f3 are swapped). Knowing which one we are dealing with, we can properly set a few more hot keys up by default. Also, export the correct vendor in the input device, as that information might be useful to userspace. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 24d3b77467b6aaf59e38dce4aa86d05541858195 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:43 2007 -0300 ACPI: thinkpad-acpi: allow use of CMOS NVRAM for brightness control It appears that Lenovo decided to break the EC brightness control interface in a weird way in their latest BIOSes. Fortunately, the old CMOS NVRAM interface works just fine in such BIOSes. Add a module parameter that allows the user to select which strategy to use for brightness control: EC, NVRAM, or both. By default, do both (which is the way thinkpad-acpi used to work until now) on IBM ThinkPads, and use NVRAM only on Lenovo ThinkPads. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d5a2f2f1d68e2da538ac28540cddd9ccc733b001 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:42 2007 -0300 ACPI: thinkpad-acpi: store ThinkPad model information Keep note of ThinkPad model, BIOS and EC firmware information, and log it on startup. Makes for far more readable code in places, too. This patch also adds Lenovo's PCI ID to the pci ids table. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 86cc9445e86bef9da44f933e3849e6eb43cbf626 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:41 2007 -0300 ACPI: thinkpad_acpi: use bool for boolean parameters Some of the module parameters are boolean in nature. Make it so in fact. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 996fba08db7faf46b1a674957f60cd772ecd29ec Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:40 2007 -0300 ACPI: thinkpad-acpi: rename pci HID constant Rename an internal driver constant, on request by Len Brown. Also, document exactly what it is for. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 741553c2d29b4075d636a38792c05cd2fc62bd8a Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:39 2007 -0300 ACPI: thinkpad-acpi: checkpoint sysfs interface version due to input layer The change in the way hotkey events are handled by default, and the use of the input layer for the hotkey events are important enough features to warrant increasing the major field of the sysfs interface version. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 5c29d58f471099401513e2e567f6c28001bb0f13 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:38 2007 -0300 ACPI: thinkpad-acpi: export EV_SW SW_RADIO events The expected user case for the radio slider switch on a ThinkPad includes interfacing to applications, so that the user gets an offer to find and associate with a wireless network when the switch is changed from disabled to enabled (ThinkVantage suite). Export the information about the switch state, and switch change events as an EV_SW SW_RADIO event over the input layer. Signed-off-by: Henrique de Moraes Holschuh Cc: Dmitry Torokhov Cc: Ivo van Doorn Cc: Richard Hughes Signed-off-by: Len Brown commit e295e8508c1dd56e06c73e78a2f67f2eb563e74f Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:37 2007 -0300 ACPI: thinkpad-acpi: add power-management handler capability Some subdrivers could benefit from resume handling, so add the infrastructure for simple resume handling. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 1a343760b516ca5466d201bec32b1794858b18a5 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:36 2007 -0300 ACPI: thinkpad-acpi: make the input event mode the default Make the input layer the default way to deal with thinkpad-acpi hot keys, but add a kernel config option to retain the old way of doing things. This means we map a lot more keys to useful stuff by default, and also that we enable hot key handling by default on driver load (like Windows does). The documentation for proper use of this resource is also updated. Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Signed-off-by: Len Brown commit 6a38abbf2b68e37493f2d5e8702b895a6c23ba0f Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:35 2007 -0300 ACPI: thinkpad-acpi: add input device support to hotkey subdriver Add input device support to the hotkey subdriver. Hot keys that have a valid keycode mapping are reported through the input layer if the input device is open. Otherwise, they will be reported as ACPI events, as they were before. Scan codes are reported (using EV_MSC MSC_SCAN events) along with EV_KEY KEY_UNKNOWN events. For backwards compatibility purposes, hot keys that used to be reported through ACPI events are not mapped to anything meaningful by default. Userspace is supposed to remap them if it wants to use the input device for hot key reporting. This patch is based on a patch by Richard Hughes . Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Cc: Dmitry Torokhov Signed-off-by: Len Brown commit 7f5d1cd6287b7b29d210f85e2343207ac4310da2 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:34 2007 -0300 ACPI: thinkpad-acpi: register input device Register an input device to send input events to userspace. This patch is based on a patch by Richard Hughes . Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Cc: Dmitry Torokhov Signed-off-by: Len Brown commit d54b7d7f8026300c612dd733d501fcbc22fd0370 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:33 2007 -0300 ACPI: thinkpad-acpi: update CMOS commands documentation The CMOS set of commands is often just used to keep the CMOS NVRAM in sync with whatever the ACPI BIOS has been doing in modern ThinkPads. In older ThinkPads, it actually carried out real actions. Document this. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 94b08713186cc47a5c367a866cc0a0a762721455 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:32 2007 -0300 ACPI: thinkpad-acpi: checkpoint sysfs interface version due to hotkey The change in the size of the hotkey mask, the hability to report the keys that use the higher bits, and the addition of the hotkey_radio_sw attribute are important enough features to warrant increasing the minor field of the sysfs interface version. Also, document a bit better how and when the thinkpad-acpi sysfs interface version will be updated. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 74941a69afcc06722685d492784414ec042ab492 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:31 2007 -0300 ACPI: thinkpad-acpi: export to sysfs the state of the radio slider switch Some ThinkPad models, notably the T60 and X60, have a slider switch to enable and disable the radios. The switch has the capability of force-disabling the radios in hardware on most models, and it is supposed to affect all radios (WLAN, WWAN, BlueTooth). Export the switch state as a sysfs attribute, on ThinkPads where it is available. Thanks to Henning Schild for asking for this feature, and for tracking down the EC register that holds the radio switch state. Signed-off-by: Henrique de Moraes Holschuh Cc: Henning Schild Signed-off-by: Len Brown commit 9b010de59cb6dcab7e167dd2a0fa5d3b31447fea Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:30 2007 -0300 ACPI: thinkpad-acpi: export hotkey maximum masks The firmware knows how many hot keys it supports, so export this information in a sysfs attribute. And the driver knows which keys are always handled by the firmware in all known ThinkPad models too, so export this information as well in a sysfs attribute. Unless you know which events need to be handled in a passive way, do *not* enable hotkeys that are always handled by the firmware. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit ae92bd17ff703b3703562148c73b4d6833e6a326 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:29 2007 -0300 ACPI: thinkpad-acpi: enable more hotkeys Revise ACPI HKEY functionality to better interface with the firmware, and enable up to 32 regular hotkeys, instead of just 16 of them. Ouch. This takes care of most keys one used to have to do CMOS NVRAM polling on, and should drop the need for tpb, thinkpad-keys, and other such 5Hz NVRAM polling power vampires on most modern ThinkPads ;-) And, just to add insult to injury, this was sort of working since forever through the procfs interface, but nobody noticed or tried an echo 0xffffffff > /proc/acpi/ibm/hotkey and told me it would generate weird events. ARGH! Thanks to Richard Hughes for kicking off the work that ended up with this discovery, and to Matthew Garret for calling my attention to the fact that newer ThinkPads were indeed generating ACPI GPEs when such hot keys were pressed. Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Cc: Matthew Garrett Signed-off-by: Len Brown commit b8b26402cb711de5d3bbd4515b91b6d863fea259 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:28 2007 -0300 ACPI: thinkpad-acpi: update information on T43 thermal sensor 0xc1 Update the documentation with some extra data on the T43 thermal sensor @0xc1, thanks to Alexey Fisher. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 94954cc60194796fb257802f6f65d79553c9a8ca Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:27 2007 -0300 ACPI: thinkpad-acpi: remove all uneeded initializers Remove all initializers to NULL or zero. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b964b437601a0e7d09896d5d9a85c83643e94f41 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:26 2007 -0300 ACPI: thinkpad-acpi: add DMI-based modalias Add DMI-based aliases to allow module autoloading on select thinkpads. The aliases will do nothing unless the dmi-based-module-autoloading.patch patch from Lennart Poettering is applied. Lennart's patch has been accepted by greghk and will be merged eventually. Signed-off-by: Henrique de Moraes Holschuh Cc: Lennart Poettering Signed-off-by: Len Brown commit e51f802babc5e368c60fbfd08c6c11269c9253b0 Author: David Howells Date: Sat Jul 21 19:30:16 2007 -0700 [NET]: Add missing entries to family name tables Add missing entries to af_family_clock_key_strings[]. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 3167d93fc0cb81541dea551dc14411ed211eb9e0 Author: Christoph Hellwig Date: Sat Jul 21 19:22:42 2007 -0700 [SPARC64]: ERROR: "sys_ioctl" [arch/sparc64/solaris/solaris.ko] undefined! From: Christoph Hellwig On Fri, Jul 20, 2007 at 09:24:42AM -0400, Horst H. von Brand wrote: > When building v2.6.22-3478-g275afca on sparc64 (.config attached) I get: > > MODPOST vmlinux > Building modules, stage 2. > MODPOST 463 modules > ERROR: "sys_ioctl" [arch/sparc64/solaris/solaris.ko] undefined! Sorry, my fault. It looked to me like sparc64 exports sys_ioctl on it's own, but it only exports compat_sys_ioctl on it's own. Signed-off-by: David S. Miller commit 378e515c867bc7b6cb33a5aa52776d3e897e7b81 Author: Al Viro Date: Sat Jul 21 19:20:34 2007 -0700 [SPARC32]: Make PAGE_SHARED a read-mostly variable. same scheme as for sparc64, same rationale Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0f516813ce5aa78b30084cd0cc2e7e2ba1777168 Author: Al Viro Date: Sat Jul 21 19:19:38 2007 -0700 [SPARC32]: Take enable_irq/disable_irq out of line. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 32231a66b4e1b649c346dc76b7d191f7e64a663a Author: Al Viro Date: Sat Jul 21 19:18:57 2007 -0700 [SPARC32]: clean include/asm-sparc/irq.h Move stuff used only by arch/sparc/kernel/* into arch/sparc/kernel/irq.h and into individual files in there (e.g. macros internal to sun4m_irq.c, etc.) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 196bffa5dc3181897bd32e41415ec0db8dbab5e7 Author: Mark Fortescue Date: Sat Jul 21 19:17:41 2007 -0700 [SPARC32]: Fix rounding errors in ndelay/udelay implementation. __ndelay and __udelay have not been delayung >= specified time. The problem with __ndelay has been tacked down to the rounding of the multiplier constant. By changing this, delays > app 18us are correctly calculated. The problem with __udelay has also been tracked down to rounding issues. Changing the multiplier constant (to match that used in sparc64) corrects for large delays and adding in a rounding constant corrects for trunctaion errors in the claculations. Many short delays will return without looping. This is not an error as there is the fixed delay of doing all the maths to calculate the loop count. Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit e0009820edfa50267eb7a3e3c43f5530325a987b Author: Jan Engelhardt Date: Sat Jul 21 19:11:35 2007 -0700 [NET]: Make NETDEVICES depend on NET. Enabling drivers from "Devices > Networking" (in menuconfig), for example SLIP and/or PLIP, throws link time errors when CONFIG_NET itself is =n. Have CONFIG_NETDEVICES depend on CONFIG_NET. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit b77f2fa6299af4bbb7aa50c5064a0f087ea089d9 Author: Al Viro Date: Sat Jul 21 19:09:41 2007 -0700 [IPV6]: endianness bug in ip6_tunnel Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 43a415138d8133587c0901d29941b821b86e9e7d Author: Stephen Rothwell Date: Sat Jul 21 19:08:13 2007 -0700 [IrDA]: TOSHIBA_FIR depends on virt_to_bus Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit e97e2ddf07d6b6c2d621ddaec277e19f86c0cdb1 Author: Samuel Ortiz Date: Sat Jul 21 19:07:33 2007 -0700 [IrDA]: EP7211 IR driver port to the latest SIR API The EP7211 SIR driver was the only one left without a new SIR API port. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 22e1fb25e78fd47b1ef3af3b48a2b07efdd3f95f Author: Samuel Ortiz Date: Sat Jul 21 19:06:53 2007 -0700 [IrDA] Typo fix in irnetlink.c copyright Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 08f1c192c3c32797068bfe97738babb3295bbf42 Author: Muli Ben-Yehuda Date: Sun Jul 22 00:23:39 2007 +0300 x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata This patch introduces struct pci_sysdata to x86 and x86-64, and converts the existing two users (NUMA, Calgary) to use it. This lays the groundwork for having other users of sysdata, such as the PCI domains work. The Calgary bits are tested, the NUMA bits just look ok. Signed-off-by: Jeff Garzik Signed-off-by: Muli Ben-Yehuda Signed-off-by: Linus Torvalds commit 7557244ba27f63404236cb27277b98c27d856692 Author: Joachim Deguara Date: Sat Jul 21 17:11:44 2007 +0200 x86_64: make k8topology multi-core aware This makes k8topology multicore aware instead of limited to signle- and dual-core CPUs. It uses the CPUID to be more future proof. Signed-off-by: Joachim Deguara Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 81e02d19b901da0900332654fa7846d119b53221 Author: Jan Beulich Date: Sat Jul 21 17:11:42 2007 +0200 x86_64: remove __smp_alt* sections Leftovers from the removal of the more general (but abandoned) SMP alternatives. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 09fce8a195638ad038b8a58d9d8d3558c21a23ea Author: Robert P. J. Day Date: Sat Jul 21 17:11:41 2007 +0200 i386: Update alignment when 4K stacks are used. Signed-off-by: Robert P. J. Day Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit edc2cbf49682079d5344bf7f2545ed6b036fa355 Author: Stefan Richter Date: Sat Jul 21 17:11:40 2007 +0200 i386: remove old IRQ balancing debug cruft Dead or misnamed CONFIG_BALANCED_IRQ_DEBUG found by Robert P. J. Day. It's not a Kconfig variable. Since this debug code is ancient, I suggest to get rid of this misleading CONFIG_ macro by deleting all of this debug code. Signed-off-by: Stefan Richter Cc: Ingo Molnar Cc: "Robert P. J. Day" Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a1dfd851b97bfefeb50e6ccf8cd2c52f9acd8fea Author: Aaron Durbin Date: Sat Jul 21 17:11:39 2007 +0200 i386: insert HPET firmware resource after PCI enumeration has completed Insert HPET resources after pci probing has been completed in order to avoid resource conflicts with PCI resource reservation. With this change the HPET firmware resources will be identified, but it should also not cause issues when the HPET address falls on a BAR in a PCI device, and the PCI enumeration cannot reserve the resources. Signed-off-by: Aaron Durbin Cc: john stultz Cc: Thomas Gleixner Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f62e518484e9b16a0eca013e8a6764bc4f56d5fe Author: Andres Salomon Date: Sat Jul 21 17:11:38 2007 +0200 i386: basic infrastructure support for AMD geode-class machines This builds upon the existing geode infrastructure, but adds southbridge support, some GPIO functions, and a header file (asm-i386/geode.h) with some useful GX/LX detection tests. The majority of this code was written by Jordan Crouse. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: Alan Cox Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 5a3ece79b2aa9e71ed67689c97b3bda6135f7248 Author: Dan Aloni Date: Sat Jul 21 17:11:37 2007 +0200 x86_64: arch/x86_64/kernel/e820.c lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 753811dc82a6a39554c34c13c996c3de9f4aa634 Author: Dan Aloni Date: Sat Jul 21 17:11:36 2007 +0200 x86_64: arch/x86_64/kernel/aperture.c lower printk severity Users that use kernel log filtering (e.g. via syslogd or a proprietry method) wouldn't like to see warning prints that are not really warnings. Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9585116ba09f1d8c52d0a1346e20bb9d443e9c02 Author: Jeremy Fitzhardinge Date: Sat Jul 21 17:11:35 2007 +0200 i386: fix iounmap's use of vm_struct's size field get_vm_area always returns an area with an adjacent guard page. That guard page is included in vm_struct.size. iounmap uses vm_struct.size to determine how much address space needs to have change_page_attr applied to it, which will BUG if applied to the guard page. This patch adds a helper function - get_vm_area_size() in linux/vmalloc.h - to return the actual size of a vm area, and uses it to make iounmap do the right thing. There are probably other places which should be using get_vm_area_size(). Thanks to Dave Young for debugging the problem. [ Andi, it wasn't clear to me whether x86_64 needs the same fix. ] Signed-off-by: Jeremy Fitzhardinge Cc: Dave Young Cc: Chuck Ebbert Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a2900975ef3f1df33c83e750cc1e490de3374ca8 Author: Thomas Gleixner Date: Sat Jul 21 17:11:34 2007 +0200 i386: move PIT function declarations and constants to correct header file setup_pit_timer is declared in asm-i386/timer.h. Move it to the pit header file, so it can be used by x86_64 as well. Move also the PIT constants. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 43d6ca01844789b4c695175f8c205861a06a84cb Author: Chris Wright Date: Sat Jul 21 17:11:33 2007 +0200 i386: hpet assumes boot cpu is 0 I fixed this in x86_64. Looks like the kind of thing that will break voyager on i386. Signed-off-by: Chris Wright Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f5352fd0ce41b079a01e23c01ea3578c29f097e7 Author: Thomas Gleixner Date: Sat Jul 21 17:11:32 2007 +0200 i386: remove volatile in apic.c Remove the volatile in apic. We have a cpu_relax() in the wait loop. Fix a coding style issue while at it. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f2cf8e085c0d3fd5c755d7c0de7334a50ebb728e Author: Yinghai Lu Date: Sat Jul 21 17:11:31 2007 +0200 x86_64: move iommu declaration from proto to iommu.h [akpm@linux-foundation.org: build fix] Signed-off-by: Yinghai Lu Cc: Alan Cox Cc: "Eric W. Biederman" Cc: Muli Ben-Yehuda Cc: Vivek Goyal Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1c05f093c0721894bb60fd26d174815bb7ef2b7f Author: David Rientjes Date: Sat Jul 21 17:11:30 2007 +0200 x86_64: disable srat when numa emulation succeeds When NUMA emulation succeeds, acpi_numa needs to be set to -1 so that srat_disabled() will always return true. We won't be calling acpi_scan_nodes() or registering the true nodes we've found. [hugh@veritas.com: Fix x86_64 CONFIG_NUMA_EMU build: acpi_numa needs CONFIG_ACPI_NUMA] Signed-off-by: David Rientjes Cc: Len Brown Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a7e96629efcab1ccea3a376f3f5683c8d9e882c1 Author: David Rientjes Date: Sat Jul 21 17:11:29 2007 +0200 x86_64: fix e820_hole_size based on address ranges e820_hole_size() now uses the newly extracted helper function, e820_find_active_region(), to determine the size of usable RAM in a range of PFN's. This was previously broken because of two reasons: - The start and end PFN's of each e820 entry were not properly rounded prior to excluding those entries in the range, and - Entries smaller than a page were not properly excluded from being accumulated. This resulted in emulated nodes being incorrectly mapped to ranges that were completely reserved and not candidates for being registered as active ranges. Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bc2cea6a34fdb30f118ec75db39a46a191870607 Author: Yinghai Lu Date: Sat Jul 21 17:11:28 2007 +0200 x86_64: disable the GART in shutdown For K8 system: 4G RAM with memory hole remapping enabled, or more than 4G RAM installed. when using kexec to load second kernel. In the second kernel, when mem is allocated for GART, it will do the memset for clear, it will cause restart, because some device still used that for dma. solution will be: in second kernel: disable that at first before we try to allocate mem for it. or in the first kernel: do disable that before shutdown. Andi/Eric/Alan prefer to second one for clean shutdown in first kernel. Andi also point out need to consider to AGP enable but mem less 4G case too. Signed-off-by: Yinghai Lu Cc: Alan Cox Cc: "Eric W. Biederman" Cc: Muli Ben-Yehuda Cc: Vivek Goyal Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 48dd9343d0bb54362a2ba65380fea7c8f07f9e74 Author: Robert P. J. Day Date: Sat Jul 21 17:11:26 2007 +0200 i386: replace hard-coded constant with appropriate macro from kernel.h Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 267eb01a62b1190d0bf87b1ef3b0c9d21cdb2c57 Author: Andreas Mohr Date: Sat Jul 21 17:11:25 2007 +0200 i386: add cpu_relax() to cmos_lock() Add cpu_relax() to cmos_lock() inline function for faster operation on SMT CPUs and less power consumption on others in case of lock contention (which probably doesn't happen too often, so admittedly this patch is not too exciting). [akpm@linux-foundation.org: Include the header file for cpu_relax()] Signed-off-by: Andreas Mohr Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8f03d6ce4ee20e7521b69188f6b5a9bb9ba7457f Author: Andrew Morton Date: Sat Jul 21 17:11:24 2007 +0200 x86_64: flush_tlb_kernel_range() warning fix mm/vmalloc.c: In function 'unmap_kernel_range': mm/vmalloc.c:75: warning: unused variable 'start' make it a C function so that the compiler thinks it used its arguments. Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1048fa52810a5bad542cd4929a702af5e241fa81 Author: Yinghai Lu Date: Sat Jul 21 17:11:23 2007 +0200 x86_64: change _map_single to static in pci_gart.c etc This function is called via dma_ops->.., so change it to static Signed-off-by: Yinghai Lu Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e199ece4472cdcc73f329813d67dc4280424cd2d Author: Yinghai Lu Date: Sat Jul 21 17:11:22 2007 +0200 x86_64: Geode HW Random Number Generator depends on X86_32 Signed-off-by: Yinghai Lu Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bdb345a4e3cf51dbe52955734c33003bbf0486e7 Author: Jiri Kosina Date: Sat Jul 21 17:11:21 2007 +0200 x86_64: fix wrong comment regarding set_fixmap() The function name is set_fixmap(), not fixmap_set() as stated in the comment. Also fix a typo, punctuation and lower/uppercase a bit. Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2d4fa2f665e0585cae62c3a1ea85d82ee523c8ef Author: Dan Aloni Date: Sat Jul 21 17:11:20 2007 +0200 x86_64: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7b0b8207e07f3f3ce01af37b78024c60e9f4b1f5 Author: Alessio Igor Bogani Date: Sat Jul 21 17:11:19 2007 +0200 x86_64: fix typo in acpi_pm.c Signed-off-by: Alessio Igor Bogani Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 28318daf791b692f2654cb9c89687388063bd42b Author: Thomas Gleixner Date: Sat Jul 21 17:11:18 2007 +0200 x86_64: use the global PIT lock Replace the pcspkr private PIT lock by the global PIT lock to serialize the PIT access all over the place. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 021daae2c265a844fd27bb6cc49c2bd114571069 Author: Will Schmidt Date: Sat Jul 21 17:11:17 2007 +0200 x86_64: During VM oom condition, kill all threads in process group During a VM oom condition, kill all threads in the process group. We have had complaints where a threaded application is left in a bad state after one of it's threads is killed when we hit a VM: out_of_memory condition. Killing just one of the process threads can leave the application in a bad state, whereas killing the entire process group would allow for the application to restart, or otherwise handled, and makes it very obvious that something has gone wrong. This change allows the entire process group to be taken down, rather than just the one thread. Signed-off-by: Will Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 99253b8e734a7a773c0e4bedd7d8d1847c98c538 Author: Glauber de Oliveira Costa Date: Sat Jul 21 17:11:16 2007 +0200 x86_64: Move functions declarations to header file Some interrupt entry points are currently defined in i8259.c They probably belong in a header. Right now, their only user is init_IRQ, justifying their declaration in-file. But when virtualization comes in, we may be interested in using that functions in late initializations. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d24e399763f9e91cc03e4e351d75f6231d5ed4f2 Author: Andy Whitcroft Date: Sat Jul 21 17:11:15 2007 +0200 i386: move the kernel to 16MB for NUMA-Q We are seeing corruption of the decompressed kernel. It is suspected that this is platform specific as it has yet to be seen on any other x86. Move the kernel to the 16MB boundary. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 028a690a1ebc8b825b6f42214a99a5abcf9aa4c6 Author: Jesper Juhl Date: Sat Jul 21 17:11:14 2007 +0200 i386: Remove unneeded test of 'task' in dump_trace() Remove unneeded test of task != NULL from arch/i386/kernel/traps.c::dump_trace() At the start of the function we have this test: if (!task) task = current; so further down there's no need to test 'task'. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit c673f1a9d994de501b674b2bb6a48bd5e912afe0 Author: William Lee Irwin III Date: Sat Jul 21 17:11:13 2007 +0200 i386: divorce CONFIG_X86_PAE from CONFIG_HIGHMEM64G PAE is useful for more than supporting more than 4GB RAM. It supports expanded swapspace and NX executable protections. Some users may want NX or expanded swapspace support without the overhead or instability of highmem. For these reasons, the following patch divorces CONFIG_X86_PAE from CONFIG_HIGHMEM64G. Cc: Mark Lord Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 075bcd1f9726b8a1caff86eda06f29f71fb21235 Author: Thomas Gleixner Date: Sat Jul 21 17:11:12 2007 +0200 i386: HPET, check if the counter works Some systems have a HPET which is not incrementing, which leads to a complete hang. Detect it during HPET setup. Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit df2edcf3b6ba54d9ffa620e322583cd994a6e54a Author: James Jarvis Date: Sat Jul 21 17:11:11 2007 +0200 i386: DMI_MATCH patch in reboot.c for SFF Dell OptiPlex 745 - fixes hang on reboot The following patch enables reboot through BIOS on the Dell Optiplex 745 Small Form Factor base, on which reboot hangs. The larger form factor does not require this, hence the match on DMI_BOARD_NAME. Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1c10070a55a38ad8489df8afd52c9a3ffd46bbb5 Author: Rafael J. Wysocki Date: Sat Jul 21 17:11:09 2007 +0200 i386: do not restore reserved memory after hibernation On some systems the ACPI NVS area is located in the first 1 MB of RAM and it is overwritten by the i386 code during the restore after hibernation. This confuses the ACPI platform firmware that doesn't update the AC adapter status appropriately as a result (http://bugzilla.kernel.org/show_bug.cgi?id=7995). The solution is to register the reserved memory in the first 1 MB as 'nosave', so that swsusp doesn't touch it during the restore. Also, this has been done on x86_64 for a long time now, so this patch makes the i386 restore code behave like the x86_64 one. [akpm@linux-foundation.org: build fix] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 114ab8e99c52828b37c994f580e39ce341c17d3b Author: Sam Ravnborg Date: Sat Jul 21 17:11:08 2007 +0200 i386: fix section mismatch warning in intel_cacheinfo Fix following warning: WARNING: arch/i386/kernel/built-in.o(.init.text+0x3818): Section mismatch: reference to .exit.text:cache_remove_dev (between 'cacheinfo_cpu_callback' and 'cache_sysfs_init') It points out that a function marked __cpuexit is calling a function marked __cpuinit => oops. The call happens only in an error-condition which may explain why we have not seen it before. The offending function was not used anywhere else - so marked it __cpuexit. Note: This warning triggers only with a local copy of modpost but that version will soon be pushed out. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2378569dd18b3b99e3535ad06b47db7c11dde7d1 Author: Adrian Bunk Date: Sat Jul 21 17:11:07 2007 +0200 i386: pgd_{c,d}tor() static pgd_{c,d}tor() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3cc39bda26c90782f98305c34a7f769819784a61 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:06 2007 +0200 x86_64: Calgary - fold in redundant functions After the bitmap changes we can get rid of the unlocked versions of calgary_unmap_sg and iommu_free. Fold __calgary_unmap_sg and __iommu_free into their calgary_unmap_sg and iommu_free, respectively. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0b11e1c6a604014283af70e27e0f32971407fd6d Author: Yinghai Lu Date: Sat Jul 21 17:11:05 2007 +0200 x86_64: Calgary - change _map_single, etc to static there function are called via dma_ops->.., so change them to static Signed-off-by: Yinghai Lu Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 820a149705c2c2a37989554a4f4a34e3d0b0df1f Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:04 2007 +0200 x86_64: Calgary - tighten up the bitmap locking Currently the IOMMU table's lock protects both the bitmap and access to the hardware's TCE table. Access to the TCE table is synchronized through the bitmap; therefore, only hold the lock while modifying the bitmap. This gives a yummy 10-15% reduction in CPU utilization for netperf on a large SMP machine. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7354b07595b2e43b75fe353fcf18e73eb0427c9b Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:03 2007 +0200 x86_64: Calgary - fix few style problems pointed out by checkpatch.pl No actual code was harmed in the production of this patch. Thanks to Andrew Morton for telling me about checkpatch.pl. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 12de257b83e2fa9343eb7cee70a6edc85b51fbc5 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:02 2007 +0200 x86_64: tidy up debug printks Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e8f204147149e48d72e9c1e321ee72452169e34a Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:01 2007 +0200 x86_64: only reserve the first 1MB of IO space for CalIOC2 Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8bcf77055cc88228263f936b2ecf69c017906cb2 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:00 2007 +0200 x86_64: tabify and trim trailing whitespace Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 05b48ea61c900115add991427f52ee5eacf361a8 Author: Guillaume Thouvenin Date: Sat Jul 21 17:10:59 2007 +0200 x86_64: cleanup of unneeded macros Cleanup unneeded macros used for register space address calculation. Now we are using the EBDA to find the space address. Signed-off-by: Guillaume Thouvenin Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 07877cf6fd559cbdced7ad4c15ab225a552ab692 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:58 2007 +0200 x86_64: reserve TCEs with the same address as MEM regions This works around a bug where DMAs that have the same addresses as some MEM regions do not go through. Not clear yet if this is due to a mis-configuration or something deeper. [akpm@linux-foundation.org: coding style fixlet] Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ddbd41b4e76f2b586366df0e85df80729ef90bc5 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:57 2007 +0200 x86_64: grab PLSSR too when a DMA error occurs Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8cb32dc748571fb474018172e6b59e5a06123192 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:55 2007 +0200 x86_64: make dump_error_regs a chip op Provide seperate versions for Calgary and CalIOC2 Also print out the PCIe Root Complex Status on CalIOC2 errors Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 00be3fa42f164f7e2783a5acf9766fb07fb64e68 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:54 2007 +0200 x86_64: implement CalIOC2 TCE cache flush sequence Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit c38601084b386991f1614f03e0323c51236e19e1 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:53 2007 +0200 x86_64: add chip_ops and a quirk function for CalIOC2 [akpm@linux-foundation.org>: make calioc2_chip_ops static] Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8a244590ca699ebbf8c5682d11c47732b7cc9db9 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:52 2007 +0200 x86_64: introduce CalIOC2 support CalIOC2 is a PCI-e implementation of the Calgary logic. Most of the programming details are the same, but some differ, e.g., TCE cache flush. This patch introduces CalIOC2 support - detection and various support routines. It's not expected to work yet (but will with follow-on patches). Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 35b6dfa08736e8a362b9d41ff52ffa1eb36505a9 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:51 2007 +0200 x86_64: abstract how we find the iommu_table for a device ... in preparation for doing it differently for CalIOC2. Signed-off-by: Muli Ben-Yehuda Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ff297b8c081bdc60507eaeb1838996e0c67141c8 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:50 2007 +0200 x86_64: introduce chipset specific ops Calgary and CalIOC2 share most of the same logic. Introduce struct cal_chipset_ops for quirks and tce flush logic which are [akpm@linux-foundation.org: make calgary_chip_ops static] Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b8d2ea1b87b02fc94ffcab58b29c83fbbb6a1e4e Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:49 2007 +0200 x86_64: introduce handle_quirks() for various chipset quirks Move the aic94xx split completion timeout handling there. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9882234bf2e54ebf4866245d46e2c704a1214ad9 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:48 2007 +0200 x86_64: update copyright notice Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a2b663f6728ab71f0e45db41333fb0aaf5e59072 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:47 2007 +0200 x86_64: generalize calgary_increase_split_completion_timeout ... will be used by CalIOC2 later Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9596017e79cddb4f4fd4b896425a30f86946ce85 Author: Adrian Bunk Date: Sat Jul 21 17:10:46 2007 +0200 x86: remove support for the Rise CPU The Rise CPUs were only very short-lived, and there are no reports of anyone both owning one and running Linux on it. Googling for the printk string "CPU: Rise iDragon" didn't find any dmesg available online. If it turns out that against all expectations there are actually users reverting this patch would be easy. This patch will make the kernel images smaller by a few bytes for all i386 users. Signed-off-by: Adrian Bunk Acked-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ef3e28c5b956cbb3b17531c85b698a27e83d5cf2 Author: Eric W. Biederman Date: Sat Jul 21 17:10:45 2007 +0200 x86_64: check remote IRR bit before migrating level triggered irq On x86_64 kernel, level triggered irq migration gets initiated in the context of that interrupt(after executing the irq handler) and following steps are followed to do the irq migration. 1. mask IOAPIC RTE entry; // write to IOAPIC RTE 2. EOI; // processor EOI write 3. reprogram IOAPIC RTE entry // write to IOAPIC RTE with new destination and // and interrupt vector due to per cpu vector // allocation. 4. unmask IOAPIC RTE entry; // write to IOAPIC RTE Because of the per cpu vector allocation in x86_64 kernels, when the irq migrates to a different cpu, new vector(corresponding to the new cpu) will get allocated. An EOI write to local APIC has a side effect of generating an EOI write for level trigger interrupts (normally this is a broadcast to all IOAPICs). The EOI broadcast generated as a side effect of EOI write to processor may be delayed while the other IOAPIC writes (step 3 and 4) can go through. Normally, the EOI generated by local APIC for level trigger interrupt contains vector number. The IOAPIC will take this vector number and search the IOAPIC RTE entries for an entry with matching vector number and clear the remote IRR bit (indicate EOI). However, if the vector number is changed (as in step 3) the IOAPIC will not find the RTE entry when the EOI is received later. This will cause the remote IRR to get stuck causing the interrupt hang (no more interrupt from this RTE). Current x86_64 kernel assumes that remote IRR bit is cleared by the time IOAPIC RTE is reprogrammed. Fix this assumption by checking for remote IRR bit and if it still set, delay the irq migration to the next interrupt arrival event(hopefully, next time remote IRR bit will get cleared before the IOAPIC RTE is reprogrammed). Initial analysis and patch from Nanhai. Clean up patch from Suresh. Rewritten to be less intrusive, and to contain a big fat comment by Eric. [akpm@linux-foundation.org: fix comments] Acked-by: Ingo Molnar Cc: Nanhai Zou Acked-by: Suresh Siddha Cc: Asit Mallick Cc: Keith Packard Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 22293e5806f58a9682267139678a5cc117fd3dcf Author: Venki Pallipadi Date: Sat Jul 21 17:10:44 2007 +0200 x86: round_jiffies() for i386 and x86-64 non-critical/corrected MCE polling This helps to reduce the frequency at which the CPU must be taken out of a lower-power state. Signed-off-by: Venkatesh Pallipadi Acked-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 459029541d857258dfa9ad29e443d287a74c36fe Author: Andrew Morton Date: Sat Jul 21 17:10:43 2007 +0200 i386: add reference to the arguments Prevent stuff like this: mm/vmalloc.c: In function 'unmap_kernel_range': mm/vmalloc.c:75: warning: unused variable 'start' Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bb1995d52b05f7e671914454d0ae57bd4170ef47 Author: Alan Stern Date: Sat Jul 21 17:10:42 2007 +0200 x86: Make Alt-SysRq-p display the debug register contents This patch (as921) adds code to the show_regs() routine in i386 and x86_64 to print the contents of the debug registers along with all the others. Signed-off-by: Alan Stern Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 44bf4cea43816d43deab73c1c16361e899996eaa Author: Nigel Cunningham Date: Sat Jul 21 17:10:41 2007 +0200 x86: PM_TRACE support Signed-off-by: Nigel Cunningham Cc: Randy Dunlap Cc: "Rafael J. Wysocki" Cc: Pavel Machek Acked-by: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9ef231a436fddb34d806f599c97b479691b3c38b Author: Sam Ravnborg Date: Sat Jul 21 17:10:39 2007 +0200 i386: fix section mismatch warnings in mtrr Following section mismatch warnings were reported by Andrey Borzenkov: WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text:amd_init_mtrr from .text between 'mtrr_bp_init' (at offset 0x967a) and 'mtrr_attrib_to_str' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text:cyrix_init_mtrr from .text between 'mtrr_bp_init' (at offset 0x967f) and 'mtrr_attrib_to_str' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text:centaur_init_mtrr from .text between 'mtrr_bp_init' (at offset 0x9684) and 'mtrr_attrib_to_str' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text: from .text between 'get_mtrr_state' (at offset 0xa735) and 'generic_get_mtrr' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text: from .text between 'get_mtrr_state' (at offset 0xa749) and 'generic_get_mtrr' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text: from .text between 'get_mtrr_state' (at offset 0xa770) and 'generic_get_mtrr' It was tracked down to a few functions missing __init tag. Compile tested only. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8b93789808756bcc1e5c90c99f1b1ef52f839a51 Author: Truxton Fulton Date: Sat Jul 21 17:10:38 2007 +0200 i386: fix machine rebooting Commit 59f4e7d572980a521b7bdba74ab71b21f5995538 fixed machine rebooting on Truxton's machine (when no keyboard was present). But it broke it on Lee's machine. The patch reinstates the old (pre-59f4e7d572980a521b7bdba74ab71b21f5995538) code and if that doesn't work out, try the new, post-59f4e7d572980a521b7bdba74ab71b21f5995538 code instead. Cc: Lee Garrett Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bd78432c8f209a1028f4e5bada8b1da1d8e4da09 Author: Tim Hockin Date: Sat Jul 21 17:10:37 2007 +0200 x86_64: mcelog tolerant level cleanup Background: The MCE handler has several paths that it can take, depending on various conditions of the MCE status and the value of the 'tolerant' knob. The exact semantics are not well defined and the code is a bit twisty. Description: This patch makes the MCE handler's behavior more clear by documenting the behavior for various 'tolerant' levels. It also fixes or enhances several small things in the handler. Specifically: * If RIPV is set it is not safe to restart, so set the 'no way out' flag rather than the 'kill it' flag. * Don't panic() on correctable MCEs. * If the _OVER bit is set *and* the _UC bit is set (meaning possibly dropped uncorrected errors), set the 'no way out' flag. * Use EIPV for testing whether an app can be killed (SIGBUS) rather than RIPV. According to docs, EIPV indicates that the error is related to the IP, while RIPV simply means the IP is valid to restart from. * Don't clear the MCi_STATUS registers until after the panic() path. This leaves the status bits set after the panic() so clever BIOSes can find them (and dumb BIOSes can do nothing). This patch also calls nonseekable_open() in mce_open (as suggested by akpm). Result: Tolerant levels behave almost identically to how they always have, but not it's well defined. There's a slightly higher chance of panic()ing when multiple errors happen (a good thing, IMHO). If you take an MBE and panic(), the error status bits are not cleared. Alternatives: None. Testing: I used software to inject correctable and uncorrectable errors. With tolerant = 3, the system usually survives. With tolerant = 2, the system usually panic()s (PCC) but not always. With tolerant = 1, the system always panic()s. When the system panic()s, the BIOS is able to detect that the cause of death was an MC4. I was not able to reproduce the case of a non-PCC error in userspace, with EIPV, with (tolerant < 3). That will be rare at best. Signed-off-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e02e68d31e2d436197386997727b216fee9c4623 Author: Tim Hockin Date: Sat Jul 21 17:10:36 2007 +0200 x86_64: support poll() on /dev/mcelog Background: /dev/mcelog is typically polled manually. This is less than optimal for situations where accurate accounting of MCEs is important. Calling poll() on /dev/mcelog does not work. Description: This patch adds support for poll() to /dev/mcelog. This results in immediate wakeup of user apps whenever the poller finds MCEs. Because the exception handler can not take any locks, it can not call the wakeup itself. Instead, it uses a thread_info flag (TIF_MCE_NOTIFY) which is caught at the next return from interrupt or exit from idle, calling the mce_user_notify() routine. This patch also disables the "fake panic" path of the mce_panic(), because it results in printk()s in the exception handler and crashy systems. This patch also does some small cleanup for essentially unused variables, and moves the user notification into the body of the poller, so it is only called once per poll, rather than once per CPU. Result: Applications can now poll() on /dev/mcelog. When an error is logged (whether through the poller or through an exception) the applications are woken up promptly. This should not affect any previous behaviors. If no MCEs are being logged, there is no overhead. Alternatives: I considered simply supporting poll() through the poller and not using TIF_MCE_NOTIFY at all. However, the time between an uncorrectable error happening and the user application being notified is *the*most* critical window for us. Many uncorrectable errors can be logged to the network if given a chance. I also considered doing the MCE poll directly from the idle notifier, but decided that was overkill. Testing: I used an error-injecting DIMM to create lots of correctable DRAM errors and verified that my user app is woken up in sync with the polling interval. I also used the northbridge to inject uncorrectable ECC errors, and verified (printk() to the rescue) that the notify routine is called and the user app does wake up. I built with PREEMPT on and off, and verified that my machine survives MCEs. [wli@holomorphy.com: build fix] Signed-off-by: Tim Hockin Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f528e7ba28492e363a64c80c414ded4cadf48f89 Author: Tim Hockin Date: Sat Jul 21 17:10:35 2007 +0200 x86_64: O_EXCL on /dev/mcelog Background: /dev/mcelog is a clear-on-read interface. It is currently possible for multiple users to open and read() the device. Users are protected from each other during any one read, but not across reads. Description: This patch adds support for O_EXCL to /dev/mcelog. If a user opens the device with O_EXCL, no other user may open the device (EBUSY). Likewise, any user that tries to open the device with O_EXCL while another user has the device will fail (EBUSY). Result: Applications can get exclusive access to /dev/mcelog. Applications that do not care will be unchanged. Alternatives: A simpler choice would be to only allow one open() at all, regardless of O_EXCL. Testing: I wrote an application that opens /dev/mcelog with O_EXCL and observed that any other app that tried to open /dev/mcelog would fail until the exclusive app had closed the device. Caveats: None. Signed-off-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a5ba7971045a90a36cef8f7d5a3075600b475b74 Author: Aaron Durbin Date: Sat Jul 21 17:10:34 2007 +0200 i386: insert unclaimed MMCONFIG resources Insert the unclaimed MMCONFIG resources into the resource tree without the IORESOURCE_BUSY flag during late initialization. This allows the MMCONFIG regions to be visible in the iomem resource tree without interfering with other system resources that were discovered during PCI initialization. [akpm@linux-foundation.org: nanofixes] Signed-off-by: Aaron Durbin Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 08705b89ecb0f4b0ba5735630ef988bd9fd9dd95 Author: David Rientjes Date: Sat Jul 21 17:10:33 2007 +0200 x86_64: fake apicid_to_node mapping for fake numa When we are in the emulated NUMA case, we need to make sure that all existing apicid_to_node mappings that point to real node ID's now point to the equivalent fake node ID's. If we simply iterate over all apicid_to_node[] members for each node, we risk remapping an entry if it shares a node ID with a real node. Since apicid's may not be consecutive, we're forced to create an automatic array of apicid_to_node mappings and then copy it over once we have finished remapping fake to real nodes. Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3484d79813707bb6045773953a809abba443dc20 Author: David Rientjes Date: Sat Jul 21 17:10:32 2007 +0200 x86_64: fake pxm-to-node mapping for fake numa For NUMA emulation, our SLIT should represent the true NUMA topology of the system but our proximity domain to node ID mapping needs to reflect the emulated state. When NUMA emulation has successfully setup fake nodes on the system, a new function, acpi_fake_nodes() is called. This function determines the proximity domain (_PXM) for each true node found on the system. It then finds which emulated nodes have been allocated on this true node as determined by its starting address. The node ID to PXM mapping is changed so that each fake node ID points to the PXM of the true node that it is located on. If the machine failed to register a SLIT, then we assume there is no special requirement for emulated node affinity so we use the default LOCAL_DISTANCE, which is newly exported to this code, as our measurement if the emulated nodes appear in the same PXM. Otherwise, we use REMOTE_DISTANCE. PXM_INVAL and NID_INVAL are also exported to the ACPI header file so that we can compare node_to_pxm() results in generic code (in this case, the SRAT code). Cc: Len Brown Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3af044e0f832cfa3fcdce14dc30678b79dd36995 Author: David Rientjes Date: Sat Jul 21 17:10:31 2007 +0200 x86_64: extract helper function from e820_register_active_regions The logic in e820_find_active_regions() for determining the true active regions for an e820 entry given a range of PFN's is needed for e820_hole_size() as well. e820_hole_size() is called from the NUMA emulation code to determine the reserved area within an address range on a per-node basis. Its logic should duplicate that of finding active regions in an e820 entry because these are the only true ranges we may register anyway. [akpm@linux-foundation.org: cleanup] Cc: Mel Gorman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 34feb2c83beb3bdf13535a36770f7e50b47ef299 Author: Christoph Lameter Date: Sat Jul 21 17:10:30 2007 +0200 x86_64: Quicklist support for x86_64 This adds caching of pgds and puds, pmds, pte. That way we can avoid costly zeroing and initialization of special mappings in the pgd. A second quicklist is useful to separate out PGD handling. We can carry the initialized pgds over to the next process needing them. Also clean up the pgd_list handling to use regular list macros. There is no need anymore to avoid the lru field. Move the add/removal of the pgds to the pgdlist into the constructor / destructor. That way the implementation is congruent with i386. Signed-off-by: Christoph Lameter Cc: "David S. Miller" Cc: "Luck, Tony" Acked-by: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f0a7a5c93dfd1c0348dbbdb6f22cb82d99079c93 Author: Adrian Bunk Date: Sat Jul 21 17:10:29 2007 +0200 i386: timer_irq_works() static again timer_irq_works() needlessly became global. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3f9c8d19d26e016de31d1e59a573913edc64ce5c Author: Adrian Bunk Date: Sat Jul 21 17:10:28 2007 +0200 i386: arch/i386/kernel/i8253.c should #include Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 10079ae35fc91a0d5afa50eb4ccc82fb8f7124e9 Author: Adrian Bunk Date: Sat Jul 21 17:10:27 2007 +0200 i386: remapped_pgdat_init() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d5321abe6abd16e1749ccd89636415d39611e138 Author: Jan Beulich Date: Sat Jul 21 17:10:26 2007 +0200 i386: minor nx handling adjustment Constrain __supported_pte_mask and NX handling to just the PAE kernel. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 09488165d5cc795a90b789c5657b1cbd279beb16 Author: Jan Beulich Date: Sat Jul 21 17:10:25 2007 +0200 i386: smp-alt-once option is only useful with HOTPLUG_CPU Hence remove its handling in the opposite case. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d567b6a955c2c1a6b0e8fc13ecddc7d4ac4900a2 Author: Jan Beulich Date: Sat Jul 21 17:10:23 2007 +0200 x86_64: remove unused variable maxcpus .. and adjust documentation to properly reflect options that are x86-64 specific. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 74a1ddc597d83d5ca6541b15a15f80a3722e3a1e Author: Jan Beulich Date: Sat Jul 21 17:10:22 2007 +0200 x86_64: minor exception trace variables cleanup Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2f30c00702aca3229e1157718675f0ee56d2a931 Author: Jan Beulich Date: Sat Jul 21 17:10:21 2007 +0200 i386: allow debuggers to access the vsyscall page with compat vDSO Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit cdc1793ef7f5ccc47696e3d00b827e832e4c5bdb Author: Jan Beulich Date: Sat Jul 21 17:10:20 2007 +0200 x86_64: ia32entry adjustments Consolidate the three 32-bit system call entry points so that they all treat registers in similar ways. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit c3508f8f341f19f6b1c3f854f144540427668151 Author: Ravikiran G Thirumalai Date: Sat Jul 21 17:10:19 2007 +0200 x86_64: Avoid too many remote cpu references due to /proc/stat Too many remote cpu references due to /proc/stat. On x86_64, with newer kernel versions, kstat_irqs is a bit of a problem. On every call to kstat_irqs, the process brings in per-cpu data from all online cpus. Doing this for NR_IRQS, which is now 256 + 32 * NR_CPUS results in (256+32*63) * 63 remote cpu references on a 64 cpu config. /proc/stat is parsed by common commands like top, who etc, causing lots of cacheline transfers This statistic seems useless. Other 'big iron' arches disable this. AK: changed to remove for all SMP setups AK: add comment Signed-off-by: Ravikiran Thirumalai Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2618f86e0010fc6703e77af3613bac7ade46efc6 Author: Thomas Gleixner Date: Sat Jul 21 17:10:18 2007 +0200 x86_64: time.c white space wreckage cleanup Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 6935d1f922e5f676ebe98fac700da9c5bf6acfca Author: Thomas Gleixner Date: Sat Jul 21 17:10:17 2007 +0200 x86_64: apic.c coding style janitor work Fix coding style, white space wreckage and remove unused code. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0655d7c32bd21685a58fc4636f378d086396eb68 Author: Thomas Gleixner Date: Sat Jul 21 17:10:16 2007 +0200 x86: share hpet.h with i386 hpet.h in asm-i386 and asm-x86_64 contain tons of duplicated stuff. Consolidate into one shared header file. AK: Fix i386 compilation with !X86_IO_APIC Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit aec8148fda5686b671fbbd9ffd6f432a1f80ee3c Author: Thomas Gleixner Date: Sat Jul 21 17:10:15 2007 +0200 x86_64: fiuxp pt_reqs leftovers The hpet_rtc_interrupt handler still uses pt_regs. Fix it. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f40f31bfe104d50d4fceb760ec48d2effd0610aa Author: Thomas Gleixner Date: Sat Jul 21 17:10:14 2007 +0200 x86_64: Fix APIC typo Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7ff984785cf08e96bd46f7d9c7bf4d73f871599b Author: Thomas Gleixner Date: Sat Jul 21 17:10:13 2007 +0200 x86_64: Remove dead code and other janitor work in tsc.c Remove unused code and variables and do some codingstyle / whitespace cleanups while at it. Cc: john stultz Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ef81ab2c72e6979367612502fefbb18669e37879 Author: Thomas Gleixner Date: Sat Jul 21 17:10:12 2007 +0200 x86_64: Use generic xtime init xtime can be initialized including the cmos update from the generic timekeeping code. Remove the arch specific implementation. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit af74522ab782c718783b9d85d6d53b8cbf0c7b17 Author: Thomas Gleixner Date: Sat Jul 21 17:10:11 2007 +0200 x86_64: use generic cmos update Use the generic cmos update function in kernel/time/ntp.c Cc: john stultz Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 55f93afd89fe6b9b9e12cfb2d3eb1a68e21f529e Author: Chris Wright Date: Sat Jul 21 17:10:09 2007 +0200 x86_64: Untangle asm/hpet.h from asm/timex.h When making changes to x86_64 timers, I noticed that touching hpet.h triggered an unreasonably large rebuild. Untangling it from timex.h quiets the extra rebuild quite a bit. Cc: john stultz Signed-off-by: Chris Wright Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bef9f9de32ec201ea5372caf2c76e7c71f80ee35 Author: Chris Wright Date: Sat Jul 21 17:10:08 2007 +0200 i386: remove pit_interrupt_hook Remove pit_interrupt_hook as it adds just an extra layer. Signed-off-by: Chris Wright Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8180a550284bf2c8e13414082fc20b8983c2c401 Author: Thomas Gleixner Date: Sat Jul 21 17:10:07 2007 +0200 x86_64: hpet tsc calibration fix broken smi detection logic The current SMI detection logic in read_hpet_tsc() makes sure, that when a SMI happens between the read of the HPET counter and the read of the TSC, this wrong value is used for TSC calibration. This is not the intention of the function. The comparison must ensure, that we do _NOT_ use such a value. Fix the check to use calibration values where delta of the two TSC reads is smaller than a reasonable threshold. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e82f64e5bb0648a13630d752c35be1e7bd8bab96 Author: Björn Steinbrink Date: Sat Jul 21 17:10:06 2007 +0200 i386: Reserve the right performance counter for the Intel PerfMon NMI watchdog The Intel PerfMon NMI watchdog reserves the first performance counter, but uses the second one. Make it correctly reserve the second one. Signed-off-by: Björn Steinbrink Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d9c6d69145ec696128961204f755a3b01edc2ff6 Author: Andi Kleen Date: Sat Jul 21 17:10:05 2007 +0200 x86_64: Don't use softirq safe locks in smp_call_function It is not fully softirq safe anyways. Can't do a WARN_ON unfortunately because it could trigger in the panic case. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit af3e9a2e33952204e070bf5dfeebe293e90444b8 Author: Yinghai Lu Date: Sat Jul 21 17:10:04 2007 +0200 x86_64: remove extra extern declaring about dmi_ioremap Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 67cddd947992b02f01ad093ec814738c5827d17c Author: Andi Kleen Date: Sat Jul 21 17:10:03 2007 +0200 i386: Add L3 cache support to AMD CPUID4 emulation With that an L3 cache is correctly reported in the cache information in /sys With fixes from Andreas Herrmann and Dean Gaudet and Joachim Deguara Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2aae950b21e4bc789d1fc6668faf67e8748300b7 Author: Andi Kleen Date: Sat Jul 21 17:10:01 2007 +0200 x86_64: Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu This implements new vDSO for x86-64. The concept is similar to the existing vDSOs on i386 and PPC. x86-64 has had static vsyscalls before, but these are not flexible enough anymore. A vDSO is a ELF shared library supplied by the kernel that is mapped into user address space. The vDSO mapping is randomized for each process for security reasons. Doing this was needed for clock_gettime, because clock_gettime always needs a syscall fallback and having one at a fixed address would have made buffer overflow exploits too easy to write. The vdso can be disabled with vdso=0 It currently includes a new gettimeofday implemention and optimized clock_gettime(). The gettimeofday implementation is slightly faster than the one in the old vsyscall. clock_gettime is significantly faster than the syscall for CLOCK_MONOTONIC and CLOCK_REALTIME. The new calls are generally faster than the old vsyscall. Advantages over the old x86-64 vsyscalls: - Extensible - Randomized - Cleaner - Easier to virtualize (the old static address range previously causes overhead e.g. for Xen because it has to create special page tables for it) Weak points: - glibc support still to be written The VM interface is partly based on Ingo Molnar's i386 version. Includes compile fix from Joachim Deguara Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a586df067afe0580bb02b7a6312ca2afe49bba03 Author: Andi Kleen Date: Sat Jul 21 17:10:00 2007 +0200 x86: Support __attribute__((__cold__)) in gcc 4.3 gcc 4.3 supports a new __attribute__((__cold__)) to mark functions cold. Any path directly leading to a call of this function will be unlikely. And gcc will try to generate smaller code for the function itself. Please use with care. The code generation advantage isn't large and in most cases it is not worth uglifying code with this. This patch marks some common error functions like panic(), printk() as cold. This will longer term make many unlikely()s unnecessary, although we can keep them for now for older compilers. BUG is not marked cold because there is currently no way to tell gcc to mark a inline function told. Also all __init and __exit functions are marked cold. With a non -Os build this will tell the compiler to generate slightly smaller code for them. I think it currently only uses less alignments for labels, but that might change in the future. One disadvantage over *likely() is that they cannot be easily instrumented to verify them. Another drawback is that only the latest gcc 4.3 snapshots support this. Unfortunately we cannot detect this using the preprocessor. This means older snapshots will fail now. I don't think that's a problem because they are unreleased compilers that nobody should be using. gcc also has a __hot__ attribute, but I don't see any sense in using this in the kernel right now. But someday I hope gcc will be able to use more aggressive optimizing for hot functions even in -Os, if that happens it should be added. Includes compile fix from Thomas Gleixner. Cc: Jan Hubicka Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b520b85a963bf7b14b9614579aff14558d7ee264 Author: Andi Kleen Date: Sat Jul 21 17:09:59 2007 +0200 i386: Move all simple string operations out of line The compiler generally generates reasonable inline code for the simple cases and for the rest it's better for code size for them to be out of line. Also there they can be potentially optimized more in the future. In fact they probably should be in a .S file because they're all pure assembly, but that's for another day. Also some code style cleanup on them while I was on it (this seems to be the last untouched really early Linux code) This saves ~12k text for a defconfig kernel with gcc 4.1. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit aac57f81eb16d56afb5bd5a31ff325b5d1615580 Author: Andi Kleen Date: Sat Jul 21 17:09:58 2007 +0200 x86_64: Always use builtin memcpy on gcc 4.3 Jan asked to always use the builtin memcpy on gcc 4.3 mainline because it should generate better code than the old macro. Let's try it. Cc: Jan Hubicka Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 5b74e3abb3e9bd8a2f52a7b653941e3686c5df1a Author: Andi Kleen Date: Sat Jul 21 17:09:57 2007 +0200 x86_64: Use string instruction memcpy/memset on AMD Fam10 Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ae2c6dcf90c5a9ff9bd9a176cafd43a255fcc64b Author: David Rientjes Date: Sat Jul 21 17:09:56 2007 +0200 x86_64: various cleanups in NUMA scan node In acpi_scan_nodes(), we immediately return -1 if acpi_numa <= 0, meaning we haven't detected any underlying ACPI topology or we have explicitly disabled its use from the command-line with numa=noacpi. acpi_table_print_srat_entry() and acpi_table_parse_srat() are only referenced within drivers/acpi/numa.c, so we can mark them as static and remove their prototypes from the header file. Likewise, pxm_to_node_map[] and node_to_pxm_map[] are only used within drivers/acpi/numa.c, so we mark them as static and remove their externs from the header file. The automatic 'result' variable is unused in acpi_numa_init(), so it's removed. Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a2e212dae57071d4a4a6cbbc12d70c628fd47ad2 Author: David Rientjes Date: Sat Jul 21 17:09:55 2007 +0200 x86_64: Use LOCAL_DISTANCE and REMOTE_DISTANCE in x86_64 ACPI code Use LOCAL_DISTANCE and REMOTE_DISTANCE in x86_64 ACPI code Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 42ee2b74140b69fa24da1c671b03c9f8019e6f62 Author: Andi Kleen Date: Sat Jul 21 17:09:54 2007 +0200 x86_64: Report the pending irq if available in smp_affinity Otherwise smp_affinity would only update after the next interrupt on x86 systems. Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 78b599aed61a1098444558e74c93745f22eda6cb Author: Andi Kleen Date: Sat Jul 21 17:09:53 2007 +0200 x86_64: Don't rely on a unique IO-APIC ID Linux 64bit only uses the IO-APIC ID as an internal cookie. In the future there could be some cases where the IO-APIC IDs are not unique because they share an 8 bit space with CPUs and if there are enough CPUs it is difficult to get them that. But Linux needs the io apic ID internally for its data structures. Assign unique IO APIC ids on table parsing. TBD do for 32bit too Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9d531cc1193693f2d2e5ef2532a877481b118be6 Author: Jean Delvare Date: Sat Jul 21 17:09:52 2007 +0200 x86_64: asm/ptrace.h needs linux/compiler.h On x86_64, uses __user but doesn't include . This could lead to build failures. Signed-off-by: Jean Delvare Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 65d2f0bc65b0249a22a6c1f49ec29ee5e2980c7b Author: Andi Kleen Date: Sat Jul 21 17:09:51 2007 +0200 x86: Always flush pages in change_page_attr Fix a bug introduced with the CLFLUSH changes: we must always flush pages changed in cpa(), not just when they are reverted. Reenable CLFLUSH usage with that now (it was temporarily disabled for .22) Add some BUG_ONs Contains fixes from Mathieu Desnoyers Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ad386589676403eca4e8f52c944995db56e445c3 Author: Andi Kleen Date: Sat Jul 21 17:09:50 2007 +0200 i386: Update defconfig Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 56525597619ab93abc60a22a4ee53e51a0853749 Author: Andi Kleen Date: Sat Jul 21 17:09:49 2007 +0200 x86_64: Update defconfig Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 4440e0e11d2e9eb13e6edf44f89019e4f8a4dd58 Author: Haavard Skinnemoen Date: Sat Jul 21 04:38:02 2007 -0700 atmel_lcdfb: use spare bits in 32bpp mode as alpha channel Set var->transp.offset and var->transp.length in 32bpp mode to indicate that the 8 otherwise unused bits can be used for transparency. Signed-off-by: Haavard Skinnemoen Signed-off-by: Nicolas Ferre Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7cc90249ff0e21c526532ce5b5ba35c07c8b8389 Author: Adrian Bunk Date: Sat Jul 21 04:38:01 2007 -0700 rivafb_setup() must be __devinit WARNING: drivers/built-in.o(.text+0x57106): Section mismatch: reference to .init.text:rivafb_setup (between 'rivafb_init' and 'nv3Busy') Signed-off-by: Adrian Bunk Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 250a269da4e2afe815aeef97c3b115fbda4440ac Author: Nicolas Ferre Date: Sat Jul 21 04:37:59 2007 -0700 atmel_lcdfb: Fix STN LCD support Fixes STN LCD support for the atmel_lcdfb framebuffer driver. This patch is the result of a work from Jan Altenberg and has been tested on a Hitachi SP06Q002 on at91sam9261ek. It adds a Kconfig switch that enables the proper LCD in the board configuration file (STN or TFT). The switch is used in arch/arm/mach-at91/at91sam9261_devices.c & board-sam9261ek.c as an example. This patch includes the "Fix wrong line_length calculation" little one from Jan and Haavard (submitted earlier). AT91 platform informations are directly submitted trough the at91 maintainer, here : http://article.gmane.org/gmane.linux.kernel/543158 Signed-off-by: Nicolas Ferre Cc: "Antonino A. Daplas" Cc: Jan Altenberg Cc: Patrice Vilchez Cc: Andrew Victor Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 029641151bfede0930a79ecabb2572dc27a3c86f Author: Thomas Hommel Date: Sat Jul 21 04:37:58 2007 -0700 rtc: add support for STK17TA8 chip This patch adds support for the Simtek STK17TA8 timekeeping chip. The STK17TA8 is quite similar to the DS1553, but differs in register layout and in various control bits in the registers. I chose to make this a new driver to avoid confusion in the code and to not get lost in #ifdefs. Signed-off-by: Thomas Hommel Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a2601f6aa837903bfb385b138b50b1e305f3e04 Author: Dale Farnsworth Date: Sat Jul 21 04:37:57 2007 -0700 rtc: update and use the MAX6900 century byte We now read and write the century byte in the max6900 chip. We probably don't need to do so on Linux-only system, but it's necessary when the chip is shared by another OS that uses the century byte. Signed-off-by: Dale Farnsworth Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55ff1aba940ff46d4f6d4fd790ea3e1a47aaa84f Author: David Brownell Date: Sat Jul 21 04:37:56 2007 -0700 rtc kconfig: point out need for static linkage Various people have expressed surprise that their modular RTC drivers don't seem to work for initializing the system time at boot. To help avoid such unpleasantness, make the Kconfig text point out that the driver probably needs to be statically linked. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef154ec69c45aa052b1fa71ee5eeaca7e7f920a3 Author: Atsushi Nemoto Date: Sat Jul 21 04:37:55 2007 -0700 rtc: do not return void value This patch fixes these sparse warnings: drivers/rtc/rtc-ds1742.c:265:2: warning: returning void-valued expression drivers/rtc/rtc-ds1553.c:409:2: warning: returning void-valued expression Signed-off-by: Atsushi Nemoto Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8214b0832cb3c0b74198e5b22c0e070aeaa3dd20 Author: Jan Engelhardt Date: Sat Jul 21 04:37:54 2007 -0700 Use menuconfig objects: ISDN/Gigaset Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Cc: Tilman Schmidt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 857038d93adce6c1dfdb12c242d7fbee1ded370d Author: Jan Engelhardt Date: Sat Jul 21 04:37:54 2007 -0700 Use menuconfig objects: ISDN Unclutter the ISDN menu a tiny bit by moving ISDN4Linux and the CAPI2.0 layers into their own menu. Signed-off-by: Jan Engelhardt Cc: Tilman Schmidt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f67c5cc855d5a189fc542da3921868ca87fc274 Author: Tilman Schmidt Date: Sat Jul 21 04:37:53 2007 -0700 Use menuconfig objects - CONFIG_ISDN_I4L Remove a menu statement and several dependencies from the Kconfig files in the drivers/isdn tree as they have become unnecessary by the transformation of CONFIG_ISDN from "menu, config" into "menuconfig". (Modified version of a patch originally proposed by Jan Engelhardt.) Signed-off-by: Tilman Schmidt Cc: Jan Engelhardt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 149a6501f90df457d75a1954dd5a29434a182e6a Author: Adrian Bunk Date: Sat Jul 21 04:37:52 2007 -0700 spi.c:scan_boardinfo() mustn't be __init_or_module WARNING: drivers/built-in.o(.text+0x889735): Section mismatch: reference to .init.text:scan_boardinfo (between 'spi_register_master' and '__unregister') Signed-off-by: Adrian Bunk Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b6f50ef1d5cc86b278eb42bc91630fad455fb10 Author: Jeremy Kerr Date: Sat Jul 21 04:37:51 2007 -0700 spufs: make signal-notification files readonly for NOSCHED contexts Reading from the signal{1,2} files requires a spu_acquire_saved, so make these files write-only for contexts created with SPU_CREATE_NOSCHED. Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfd13af6270c25e8089e9c5b59ffb55d39ae74a0 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:51 2007 -0700 ps3fb: Set FBINFO_READS_FAST to speed up text console scrolling ps3fb: Set FBINFO_READS_FAST to speed up text console scrolling (on average 50%, according to my tests) Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Cc: Paul Mackerras Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50b2529e38eb1f954bbadec93961aabe8c801904 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:50 2007 -0700 ps3fb: Shrink default virtual frame buffer size from 18 to 9 MiB ps3fb: Shrink the default virtual frame buffer size from 18 to 9 MiB, as nobody really uses the double buffering feature and Linux can use an additional 9 MiB. It can still be overridden on the kernel command line using `ps3fb=18M'. Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Cc: Paul Mackerras Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23e9c94caf134cb36a22b91043796057111f6ef3 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:49 2007 -0700 ps3fb: Enable VT_HW_CONSOLE_BINDING for proper kexec ps3fb: VT_HW_CONSOLE_BINDING must be enabled to make console unbinding work, which is needed to give up all hypervisor resources before reboot or kexec. Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Cc: Paul Mackerras Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24ed8559c7e8205eb94088532b9dbdf2e290dfa2 Author: Geoff Levand Date: Sat Jul 21 04:37:49 2007 -0700 PS3: Fix build with 32-bit toolchains The PS3 bootwrapper files use instructions only available on 64-bit CPUs. Add the code generation directive '.machine "ppc64"' for toolchains configured for 32-bit CPUs. Signed-off-by: Geoff Levand Acked-by: Grant Likely Cc: Geert Uytterhoeven Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f96526354bb0824f3ce550a028606d2f94435b92 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:48 2007 -0700 ps3: FLASH ROM Storage Driver Add a FLASH ROM Storage Driver for the PS3: - Implemented as a misc character device driver - Uses a fixed 256 KiB buffer allocated from boot memory as the hypervisor requires the writing of aligned 256 KiB blocks Cc: Geoff Levand Signed-off-by: Geert Uytterhoeven Cc: Jens Axboe Cc: James Bottomley Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9aea8cbf2866c5680e30ff473341b7c5e93f7442 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:47 2007 -0700 ps3: BD/DVD/CD-ROM Storage Driver Add a BD/DVD/CD-ROM Storage Driver for the PS3: - Implemented as a SCSI device driver - Uses software scatter-gather with a 64 KiB bounce buffer as the hypervisor doesn't support scatter-gather Cc: Geoff Levand Signed-off-by: Geert Uytterhoeven Cc: Jens Axboe Cc: James Bottomley Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6131fa528c4fc57605c474bf8c83821aff164c0 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:45 2007 -0700 ps3: Disk Storage Driver Add a Disk Storage Driver for the PS3: - Implemented as a block device driver with a dynamic major - Disk names (and partitions) are of the format ps3d%c(%u) - Uses software scatter-gather with a 64 KiB bounce buffer as the hypervisor doesn't support scatter-gather Cc: Geoff Levand Signed-off-by: Geert Uytterhoeven Acked-by: Jens Axboe Cc: James Bottomley Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d22d26b4a5aefc5a18ac81ef4e7b46da451426 Author: Mariusz Kozlowski Date: Sat Jul 21 04:37:44 2007 -0700 powerpc: tlb_32.c build fix allnoconfig results in this: CC arch/powerpc/mm/tlb_32.o In file included from include/asm/tlb.h:60, from arch/powerpc/mm/tlb_32.c:30: include/asm-generic/tlb.h: In function 'tlb_flush_mmu': include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages' include/asm-generic/tlb.h: In function 'tlb_remove_page': include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release' Signed-off-by: Mariusz Kozlowski Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fccdb5ae7e453eb7de5592bc4ed17d10d4d90125 Author: Oliver Neukum Date: Sat Jul 21 04:37:43 2007 -0700 Documentation:reference notifiers.txt in freezing-of-tasks.txt freezing-of-tasks.txt mentions firmware issues without mentioning the use of the new notifier API to overcome them. Here's an update. Signed-off-by: Oliver Neukum Acked-by: Rafael J. Wysocki Acked-by: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6269543ef24aa012aa228c27af3adb074f7b36b Author: Matt Mackall Date: Sat Jul 21 04:37:40 2007 -0700 slob: reduce list scanning The version of SLOB in -mm always scans its free list from the beginning, which results in small allocations and free segments clustering at the beginning of the list over time. This causes the average search to scan over a large stretch at the beginning on each allocation. By starting each page search where the last one left off, we evenly distribute the allocations and greatly shorten the average search. Without this patch, kernel compiles on a 1.5G machine take a large amount of system time for list scanning. With this patch, compiles are within a few seconds of performance of a SLAB kernel with no notable change in system time. Signed-off-by: Matt Mackall Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41f9dc5c871600f53c8912b2975971d2a11c1c25 Author: Christoph Hellwig Date: Sat Jul 21 04:37:40 2007 -0700 remove handle_mm_fault export Now that arch/powerpc/platforms/cell/spufs/fault.c is always built in the kernel there is no need to export handle_mm_fault anymore. Signed-off-by: Christoph Hellwig Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61d488da9bad8d1511d18291006bd2dd728f173d Author: Adrian Bunk Date: Sat Jul 21 04:37:39 2007 -0700 i386: intel_cacheinfo.c:find_num_cache_leaves() should be __cpuinit WARNING: arch/i386/kernel/built-in.o(.text+0xb6a7): Section mismatch: reference to .init.text:find_num_cache_leaves (between 'init_intel_cacheinfo' and 'cache_shared_cpu_map_setup') It could be __init_refok, but gcc >= 4.0 anyway inlines it into the __cpuinit init_intel_cacheinfo(), and IMHO it's too small for "noinline __init". Signed-off-by: Adrian Bunk Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7671988b9cd31daf53fd38f8e75c8b881324842b Author: Thomas Gleixner Date: Sat Jul 21 04:37:38 2007 -0700 i386: PIT stop only, when in periodic or oneshot mode The patch is necessary on one of my boxen, where programming the stop sequence twice leads to PIT malfunction. Sigh ! Signed-off-by: Thomas Gleixner Cc: Andi Kleen Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82644459c592a28a3eab682f9b88d81019ddfe8b Author: Thomas Gleixner Date: Sat Jul 21 04:37:37 2007 -0700 NTP: move the cmos update code into ntp.c i386 and sparc64 have the identical code to update the cmos clock. Move it into kernel/time/ntp.c as there are other architectures coming along with the same requirements. [akpm@linux-foundation.org: build fixes] Signed-off-by: Thomas Gleixner Cc: Chris Wright Cc: Ingo Molnar Cc: john stultz Cc: David Miller Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99bc2fcb283852931fb6bbef40f3df8316b59000 Author: Ingo Molnar Date: Sat Jul 21 04:37:36 2007 -0700 hrtimer: speedup hrtimer_enqueue Speedup hrtimer_enqueue by evaluating the rbtree insertion result. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 820de5c39ef7f6866d2c9e6c7d208bcd2a6e1942 Author: Ingo Molnar Date: Sat Jul 21 04:37:36 2007 -0700 highres: improve debug output Add some more debug information to the hrtimer and clock events code. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3704540b48295253bd9c87a5e7ff545f9d47a3b8 Author: john stultz Date: Sat Jul 21 04:37:35 2007 -0700 tick management: spread timer interrupt After discussing w/ Thomas over IRC, it seems the issue is the sched tick fires on every cpu at the same time, causing extra lock contention. This smaller change, adds an extra offset per cpu so the ticks don't line up. This patch also drops the idle latency from 40us down to under 20us. Signed-off-by: john stultz Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5590a536c0bc403fc73908c66c1c88cbed735ecb Author: Thomas Gleixner Date: Sat Jul 21 04:37:35 2007 -0700 clockevents: fix device replacement When a device is replaced by a better rated device, then the broadcast mode needs to be evaluated again. When the new device has no requirement for broadcasting, then the broadcast bits for the CPU must be cleared. Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18de5bc4c1f1f1fa5e14f354a7603bd6e9d4e3b6 Author: Thomas Gleixner Date: Sat Jul 21 04:37:34 2007 -0700 clockevents: fix resume logic We need to make sure, that the clockevent devices are resumed, before the tick is resumed. The current resume logic does not guarantee this. Add CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock event devices before resuming the tick / oneshot functionality. Fixup the existing users. Thanks to Nigel Cunningham for tracking down a long standing thinko, which affected the jinxed VAIO. [akpm@linux-foundation.org: xen build fix] Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93da56efcf8c6a111f0349f6b7651172d4745ca0 Author: Thomas Gleixner Date: Sat Jul 21 04:37:33 2007 -0700 clockevents: remove prototypes of removed functions Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4e3cc387ea1b74c3ad2ef2f6f5c05fd6fc314b8 Author: Andrew Morton Date: Sat Jul 21 04:37:32 2007 -0700 revert "PIE randomization" There are reports of this causing userspace failures (http://lkml.org/lkml/2007/7/20/421). Revert. Cc: Jan Kratochvil Cc: Jiri Kosina Cc: Ingo Molnar Cc: Roland McGrath Cc: Jakub Jelinek Cc: Ulrich Kunitz Cc: "H. Peter Anvin" Cc: "Bret Towe" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80e27982a66ea8306a704ba8bdf634ed480d4b46 Author: Sam Ravnborg Date: Sat Jul 21 04:37:31 2007 -0700 console: fix section mismatch warning in vgacon.c Fix following section mismatch warning: WARNING: vmlinux.o(.text+0x121e62): Section mismatch: reference to .init.text:__alloc_bootmem (between 'vgacon_startup' and 'vgacon_scrolldelta') Browsing the code it seems that vgacon_scrollback_startup() is only called during the init phase so the reference to the .init.text section is OK. Teach modpost not to warn using ___init_refok. Signed-off-by: Sam Ravnborg Acked-by: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e63516c826454c964eefdd24d33e188064c6679 Author: J. Bruce Fields Date: Sat Jul 21 04:37:30 2007 -0700 knfsd: fix typo in export display, print uid and gid as unsigned For display purposes, treat uid's and gid's as unsigned ints for now. Also fix a typo. Signed-off-by: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 601e625587bf92c9f370d74a15c4e43bc6468f9f Author: Konrad Rzeszutek Date: Sat Jul 21 04:37:29 2007 -0700 i386: touch_nmi_watchdog() in print_trace_address() Prevent NMI watchdog triggering during long sysrq-T outputs. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80b16c192e469541263d6bfd9177662ceb632ecc Author: Milan Broz Date: Sat Jul 21 04:37:27 2007 -0700 dm io: fix panic on large request Flush workqueue before releasing bioset and mopools in dm-crypt. There can be finished but not yet released request. Call chain causing oops: run workqueue dec_pending bio_endio(...); mempool_free(io, cc->io_pool); This usually happens when cryptsetup create temporary luks mapping in the beggining of crypt device activation. When dm-core calls destructor crypt_dtr, no new request are possible. Signed-off-by: Milan Broz Cc: Chuck Ebbert Cc: Patrick McHardy Acked-by: Alasdair G Kergon Cc: Christophe Saout Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3fec424b23c47686efcf3f2004c3f1c1cee4d9c Author: Jan Harkes Date: Sat Jul 21 04:37:26 2007 -0700 coda: remove CODA_STORE/CODA_RELEASE upcalls This is an variation on the patch sent by Christoph Hellwig which kills file_count abuse by the Coda kernel module by moving the coda_flush functionality into coda_release. However part of reason we were using the coda_flush callback was to allow Coda to pass errors that occur during writeback from the userspace cache manager back to close(). As Al Viro explained on linux-fsdevel, it is impossible to guarantee that such errors can in fact be returned back to the caller. There are many cases where the last reference to a file is not released by the close system call and it is also impossible to pick some close as a 'last-close' and delay it until all other references have been destroyed. The CODA_STORE/CODA_RELEASE upcall combination is clearly a broken design, and it is better to remove it completely. Signed-off-by: Jan Harkes Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b50731732f926d6c49fd0724616a7344c31cd5cf Author: Paul Mundt Date: Sat Jul 21 04:37:25 2007 -0700 nommu: vmalloc_32_user()/vm_insert_page() and symbol exports. Trying to survive an allmodconfig on a nommu platform results in many screen lengths of module unhappiness. Many of the mmap related things that binfmt_flat hooks in to are never exported despite being global, and there are also missing definitions for vmalloc_32_user() and vm_insert_page(). I've implemented vmalloc_32_user() trying to stick as close to the mm/vmalloc.c implementation as possible, though we don't have any need for VM_USERMAP, so groveling for the VMA can be skipped. vm_insert_page() has been stubbed for now in order to keep the build happy. Signed-off-by: Paul Mundt Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df336d1c7b6fd510fa6d3a028f999e7586c7026e Author: Keir Fraser Date: Sat Jul 21 04:37:24 2007 -0700 Fix swiotlb_sync_single_range() If the swiotlb maps a multi-slab region, swiotlb_sync_single_range() can be invoked to sync a sub-region which does not include the first slab. Unfortunately io_tlb_orig_addr[] is only initialised for the first slab, and hence the call to sync_single() will read a garbage orig_addr in this case. This patch fixes the issue by initialising all mapped slabs in io_tlb_orig_addr[]. It also correctly adjusts the buffer pointer in sync_single() to handle the case that the given dma_addr is not aligned on a slab boundary. Signed-off-by: Keir Fraser Cc: "Luck, Tony" Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28de7948a896763bc97ccd416bba5b9422158350 Author: Cyrill Gorcunov Date: Sat Jul 21 04:37:18 2007 -0700 UDF: coding style conversion - lindent fixups This patch fixes up sources after conversion by Lindent. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71133027febfabd501fde7583b30008224f4d799 Author: Nick Piggin Date: Sat Jul 21 04:37:17 2007 -0700 x86_64: wbinvd macro fix Too many semicolons in this macro. Signed-off-by: Nick Piggin Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df468820b6881fc14e50f6b2fcffd3e945417d68 Author: FUJITA Tomonori Date: Sat Jul 21 13:23:25 2007 +0900 [SCSI] bsg: fix bsg_unregister_queue scsi_sysfs_add_sdev ignores the bsg_register_queue failure, so bsg_unregister_queue must check whether the queue has a bsg device. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 39dca558a5b52b63e49bc234a7e887be092aa690 Author: James Bottomley Date: Fri Jul 20 18:22:17 2007 -0500 [SCSI] bsg: make class backlinks Currently, bsg doesn't make class backlinks (a process whereby you'd get a link to bsg in the device directory in the same way you get one for sg). This is because the bsg device is uninitialised, so the class device has nothing it can attach to. The fix is to make the bsg device point to the cdevice of the entity creating the bsg, necessitating changing the bsg_register_queue() prototype into a form that takes the generic device. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 0e78d158b67fba3977f577f293c323359d80dd0e Author: adam radford Date: Fri Jul 20 15:28:28 2007 -0700 [SCSI] 3w-9xxx: add support for 9690SA The attached patch updates the 3ware 9000 driver: - Fix dma mask setting to fallback to 32-bit if 64-bit fails. - Add support for 9690SA controllers. Signed-off-by: Adam Radford Signed-off-by: James Bottomley commit 6826ee4fdbe24c7aab56ce833ef94be81d190587 Author: James Bottomley Date: Fri Jul 20 16:50:10 2007 -0500 [SCSI] bsg: fix bsg_register_queue error path unfortunately, if IS_ERR(class_dev) is true, that means class_dev isn't null and the check in the error leg is pointless ... it's also asking for trouble to request unregistration of a device we haven't actually created (although it works currently). Fix by using explicit gotos and unregisters. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c4d198d5183ec7bbf8b53216cfc5ded7ebb0ec0c Author: Avi Kivity Date: Sat Jul 21 09:06:46 2007 +0300 KVM: MMU: Fix cleaning up the shadow page allocation cache __free_page() wants a struct page, not a virtual address. Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit e2f81daf23efde23d8cac1fc253d41838f0347cf Author: Stefan Roscher Date: Fri Jul 20 16:04:17 2007 +0200 IB/ehca: Support small QP queues eHCA2 supports QP queues that can be as small as 512 bytes. This greatly reduces memory overhead for consumers that use lots of QPs with small queues (e.g. RDMA-only QPs). Apart from dealing with firmware, this code needs to manage bite-sized chunks of kernel pages, making sure that no kernel page is shared between different protection domains. Signed-off-by: Hoang-Nam Nguyen commit 0c10f7b79b5bb07a37aa5927072abdc3f45ac8d3 Author: Joachim Fenkes Date: Thu Jul 19 21:40:00 2007 +0200 IB/ehca: Make internal_create/destroy_qp() static They're only used in ehca_qp.c, so make them static to that file. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 51d2bfbddb33dc59786a3a41f7eeb59e30fa561c Author: Hoang-Nam Nguyen Date: Fri Jul 20 16:02:46 2007 +0200 IB/ehca: Move ehca2ib_return_code() out of line ehca2ib_return_code() is not used in any fast path, and making it non-inline saves ~1.5K of code. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 633a5aedaee1c96347b8a6c2ae7dceb47d0c910f Author: Hoang-Nam Nguyen Date: Fri Jul 20 16:02:18 2007 +0200 IB/ehca: Generate async event when SRQ limit reached Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 5bb7d9290cd23a55906e4fe7a7fedecf29468c81 Author: Hoang-Nam Nguyen Date: Fri Jul 20 16:01:51 2007 +0200 IB/ehca: Support large page MRs Add support for MR pages larger than 4K on eHCA2. This reduces firmware memory consumption. If enabled via the mr_largepage module parameter, the MR page size will be determined based on the MR length and the hardware capabilities -- if the MR is >= 16M, 16M pages are used, for example. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 23f1b38481596ad77e5f51562977b12c8418eee3 Author: Roland Dreier Date: Fri Jul 20 21:19:43 2007 -0700 IB/mlx4: Fix error path in create_qp_common() The error handling code at err_wrid in create_qp_common() does not handle a userspace QP attached to an SRQ correctly, since it ends up in the else clause of the if statement. This means it tries to kfree() the uninitialized qp->sq.wrid and qp->rq.wrid pointers. Fix this so we only free the wrid arrays for kernel QPs. Pointed out by Michael S. Tsirkin . Signed-off-by: Roland Dreier commit 0981582dbfae86ba0306406f1af329bb702752d2 Author: Roland Dreier Date: Fri Jul 20 21:19:43 2007 -0700 mlx4_core: Change command token on timeout The FW command token is currently only updated on a command completion event. This means that on command timeout, the same token will be reused for new command, which results in a mess if the timed out command *does* eventually complete. This is the same change as the patch for mthca from Michael S. Tsirkin that was just merged. It seems sensible to avoid gratuitous differences in FW command processing between mthca and mlx4. Signed-off-by: Roland Dreier commit c1f74958dbd19f6a837d887ed416688c063af529 Author: Michael S. Tsirkin Date: Thu Jul 19 14:28:49 2007 +0300 IB/mthca: Change command token on timeout The FW command token is currently only updated on a command completion event. This means that on command timeout, the same token will be reused for new command, which results in a mess if the timed out command *does* eventually complete. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit bd631048116df40837667a72c578b170c906dd30 Author: Arthur Jones Date: Thu Jul 19 11:32:49 2007 -0700 IB/ipath: Remove ipath_layer dead code The ipath_layer.[ch] code was an attempt to provide a single interface for the ipath verbs and ipath_ether code to use. As verbs functionality increased, the layer's functionality became insufficient and the verbs code broke away to interface directly to the driver. The failed attempt to get ipath_ether upstream was the final nail in the coffin and now it sits quietly in a dark kernel.org corner waiting for someone to notice the smell and send it along to it's final resting place. Roland Dreier was that someone -- this patch expands on his work... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit f5b404317b79823ec643dfbb71d62f65a48cc178 Author: Florin Malita Date: Thu Jul 19 15:58:09 2007 -0400 IB/mlx4: Fix leaks in __mlx4_ib_modify_qp Temporarily allocated struct mlx4_qp_context *context is leaked by several error paths. The patch takes advantage of the return value 'err' being preinitialized to -EINVAL. Spotted by Coverity (CID 1768). Signed-off-by: Florin Malita Signed-off-by: Roland Dreier commit 31ce72a6b1c7635259cf522459539c0611f2c50c Author: Patrick McHardy Date: Fri Jul 20 19:45:45 2007 -0700 [NET]: Fix loopback crashes when multiqueue is enabled. From: Patrick McHardy Signed-off-by: David S. Miller commit fc7b93800b48324667e218a4b6b784b853cf4dd7 Author: Patrick McHardy Date: Fri Jul 20 19:39:17 2007 -0700 [IPV4]: Fix inetpeer gcc-4.2 warnings CC net/ipv4/inetpeer.o net/ipv4/inetpeer.c: In function 'unlink_from_pool': net/ipv4/inetpeer.c:297: warning: the address of 'stack' will always evaluate as 'true' net/ipv4/inetpeer.c:297: warning: the address of 'stack' will always evaluate as 'true' net/ipv4/inetpeer.c: In function 'inet_getpeer': net/ipv4/inetpeer.c:409: warning: the address of 'stack' will always evaluate as 'true' net/ipv4/inetpeer.c:409: warning: the address of 'stack' will always evaluate as 'true' "Fix" by checking for != NULL. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d73f5222a618a91452d41c29f5996ce3d9c63673 Author: David Miller Date: Fri Jul 20 17:32:45 2007 -0700 [SCSI] ESP: Increase ESP_BUS_TIMEOUT to 275. This matches the original driver's value and seems to be necessary for some disks on sun4c systems. Reported by Mark Fortescue Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit 1256efd5519a8eca2dfa6039ce5cf58f44d1626d Author: Sam Ravnborg Date: Fri Jul 20 17:20:56 2007 -0700 [SPARC64]: fix section mismatch warning in mdesc.c Fix following warning: WARNING: vmlinux.o(.text+0x35264): Section mismatch: reference to .init.text:__alloc_bootmem (between 'mdesc_bootmem_alloc' and 'mdesc_bootmem_free') Rename mdesc_mem_ops to *_ops so modpost ignores __init references and declare mdesc_bootmem_alloc __init since it is only used during __init context. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit f0429bf7a099c28b4806b68812b821ef6d1ddbcb Author: Sam Ravnborg Date: Fri Jul 20 17:19:56 2007 -0700 [SPARC64]: fix section mismatch warning in pci_sunv4 Fix following warning: WARNING: vmlinux.o(.text+0x3cf50): Section mismatch: reference to .init.text:page_in_phys_avail (between 'pci_sun4v_pbm_init' and 'sun4v_pci_init') pci_sun4v_pbm_init and sun4v_pci_init was only used under __init context so declare them _init. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit cdee99d7461d928815db6219fb14d37f99241d44 Author: David S. Miller Date: Thu Jul 19 13:59:58 2007 -0700 [SPARC64]: Stop using drivers/char/rtc.c The existing sparc64 mini_rtc driver can handle CMOS based rtcs trivially with just a few lines of code and the simplifies things tremendously. Tested on SB1500. Signed-off-by: David S. Miller commit 0fe85d504b47267bcdb25a563c535aa2ae075ff4 Author: David S. Miller Date: Wed Jul 18 23:15:04 2007 -0700 [SPARC64]: Convert parport to of_platform_driver. Signed-off-by: David S. Miller commit 3adf55ad5c0fcabf1c53bb274f39953cb1d6698f Author: David S. Miller Date: Wed Jul 18 22:03:58 2007 -0700 [SPARC]: Implement fb_is_primary_device(). Signed-off-by: David S. Miller commit 93b3238ef8b04f1383b2aa7704487fb3c0e44193 Author: David S. Miller Date: Fri Jul 20 02:58:28 2007 -0700 [SPARC64]: Fix virq decomposition. The dev_handle and dev_ino fields don't match up exactly to the traditional IMAP_IGN and IMAP_INO masks. So store them away in a table and look them up directly. Signed-off-by: David S. Miller commit e83fb17f9ba6ea0c64d084cca0c557d7e7dc9693 Author: David S. Miller Date: Fri Jul 20 02:39:04 2007 -0700 [SPARC64]: Use KERN_ERR in IRQ manipulation error printks. Signed-off-by: David S. Miller commit afd69ed142a3aa8df81ea54e5e78d77dbcf08467 Author: David S. Miller Date: Fri Jul 20 02:34:41 2007 -0700 [SPARC64]: Do not flood log with failed DS messages. When booting up a control node it's quite common to not be able to register several service types. And likewise on guests at least one or two are going to not be there. Signed-off-by: David S. Miller commit 028ebff26915df18ab0cda664e2f0582650af155 Author: David S. Miller Date: Fri Jul 20 02:30:25 2007 -0700 [SPARC64]: Add proper multicast support to VNET driver. Signed-off-by: David S. Miller commit 5fc986100cb253897b4e16992e805343d30a819e Author: David S. Miller Date: Thu Jul 19 23:25:35 2007 -0700 [SPARC64]: Handle multiple domain-services-port nodes properly. Signed-off-by: David S. Miller commit 58fb666643acee28d347de0b59bb938844c22f83 Author: David S. Miller Date: Thu Jul 19 22:51:07 2007 -0700 [SPARC64]: Improve VIO device naming further. The best scheme to get uniqueness seems to be: FOO -- If node lacks "id" property FOO-$(ID) -- If node has "id" but parent lacks "cfg-handle" FOO-$(ID)-$(CFG_HANDLE) -- If node has both Signed-off-by: David S. Miller commit 3d6e470236bc759f43c9f2377899b526a50e2e63 Author: David S. Miller Date: Wed Jul 18 22:03:25 2007 -0700 [SPARC]: Make sure dev_archdata is filled in for all devices. Signed-off-by: David S. Miller commit e865f3e6f4ef2d2617f5003c7c819ed15b5a511b Author: David S. Miller Date: Wed Jul 18 20:59:54 2007 -0700 [SPARC]: Define minimal struct dev_archdata, similarly to sparc64. Signed-off-by: David S. Miller commit c73fcc846c91f53fd2c67fd9c6c04888a9e5892e Author: David S. Miller Date: Fri Jul 20 16:59:26 2007 -0700 [SPARC]: Fix serial console device detection. The current scheme works on static interpretation of text names, which is wrong. The output-device setting, for example, must be resolved via an alias or similar to a full path name to the console device. Paths also contain an optional set of 'options', which starts with a colon at the end of the path. The option area is used to specify which of two serial ports ('a' or 'b') the path refers to when a device node drives multiple ports. 'a' is assumed if the option specification is missing. This was caught by the UltraSPARC-T1 simulator. The 'output-device' property was set to 'ttya' and we didn't pick upon the fact that this is an OBP alias set to '/virtual-devices/console'. Instead we saw it as the first serial console device, instead of the hypervisor console. The infrastructure is now there to take advantage of this to resolve the console correctly even in multi-head situations in fbcon too. Thanks to Greg Onufer for the bug report. Signed-off-by: David S. Miller commit eaf729c8a8bfc9c7a5ff5659e3b2584bf2ef22e1 Author: Linus Torvalds Date: Fri Jul 20 14:53:52 2007 -0700 Un-ignore "vmlinux.lds.S" in .gitignore We ignore all the generated files called "vmlinux*" from the top-level gitignore, but that also ends up catching a few files that we track, and that people do edit. Notably the "vmlinux.lds.S" file, that each architecture has. You can always use "git add -f" to override the ignore file, but we might as well just make it explicit for this file. Bitten-by-and-tested-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 110dd8f19df534b5e464bd1d8f491195a7e62a26 Author: James Bottomley Date: Fri Jul 20 13:11:44 2007 -0500 [SCSI] libsas: fix scr_read/write users and update the libata documentation This fixes up the usage in libsas (which are easy to miss, since they're only in the scsi-misc tree) ... and also corrects the documentation on the point of what these two function pointers actually return. Signed-off-by: James Bottomley commit 11179d8ca28d669e3d4cc7573a5f5fdda3e6f02d Author: Catalin Marinas Date: Fri Jul 20 11:42:24 2007 +0100 [ARM] 4497/1: Only allow safe cache configurations on ARMv6 and later Currently, Linux doesn't generate correct page tables for ARMv6 and later cores if the cache policy is different from the default one (it may lead to strongly ordered or shared device mappings). This patch disallows cache policies other than writeback and the CPU_[ID]CACHE_DISABLE options only affect the CP15 system control register rather than the page tables. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 2eb8c82bc492d5f185150e63eba5eac4dff24178 Author: Catalin Marinas Date: Fri Jul 20 11:43:02 2007 +0100 [ARM] 4503/1: nommu: Add noMMU support for ARMv7 This patch adds the necessary ifdef's to the proc-v7.S code and defines the v7wbi_tlb_fns macro in pgtable-nommu.h Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 7092fc38ee770251aed361572bf6bed05fcf3ee2 Author: Catalin Marinas Date: Fri Jul 20 11:42:29 2007 +0100 [ARM] 4498/1: ARMv7: Remove the L2 cache configuration via the aux ctrl register The auxiliary control and the L2 auxiliary control registers are Cortex-A8 specific. They need to be removed from the generic ARMv7 support code. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 1b2232ab879993fcf5b9391c3febf6ab5d78201e Author: Hans Verkuil Date: Fri Jul 20 06:25:22 2007 -0300 V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module State struct was never freed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2fc9e2f78acd06d0a76a05abb2802cc4616453e3 Author: Trent Piepho Date: Fri Jul 20 04:11:36 2007 -0300 V4L/DVB (5877): radio-gemtek-pci: remove unused structure member The drivers reads the PCI subsystem ID into its state structure, but it's never used anywhere. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 32b78de7fee70a0bdb2081b23fc2b676ec566814 Author: Cyrill Gorcunov Date: Thu Jul 19 11:44:11 2007 -0300 V4L/DVB (5871): Conexant 2388x: check for kthread_run The patch adds checking of kthread_run return code and issues a message if it fails. Signed-off-by: Cyrill Gorcunov Signed-off-by: Mauro Carvalho Chehab commit a46c5fbc6912c4e34cb7ded314249b639dc244a6 Author: Hans Verkuil Date: Thu Jul 19 04:53:36 2007 -0300 V4L/DVB (5869): Add check for valid control ID to v4l2_ctrl_next. If v4l2_ctrl_next is called without the V4L2_CTRL_FLAG_NEXT_CTRL then it should check whether the passed control ID is valid and return 0 if it isn't. Otherwise a for-loop over the control IDs will never end. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3d58ffe2aa107df6db57f875dba5368960b17cde Author: Hans Verkuil Date: Wed Jul 18 18:41:08 2007 -0300 V4L/DVB (5867): videodev2.h: add missing for userspace When videodev2.h is included by an application, it needs to include for the timeval struct. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dd1e729d63f74a0b6290ca417bafd3fd8665db50 Author: Hans Verkuil Date: Wed Jul 18 13:22:06 2007 -0300 V4L/DVB (5866): ivtv: fix DMA timeout when capturing VBI + another stream The VBI DMA is handled in a special way and is marked with a bit. However, that bit was set at the wrong time and could be cleared by mistake if a PCM (or other) DMA request would arrive before the VBI DMA was completed. So on completion of the VBI DMA the driver no longer knew that that DMA transfer was for VBI data. And this in turn caused havoc with the card's DMA engine. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 201700d3544c653d453716a60976efe1987110af Author: Mauro Carvalho Chehab Date: Thu Jul 19 11:21:04 2007 -0300 V4L/DVB (5865): Remove usage of HZ on ivtv driver, replacing by msecs_to_jiffies Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fe06fe0a4d0f781f8ae0570e4d7e517a81878c1d Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:36:20 2007 -0300 V4L/DVB (5861): Use msecs_to_jiffies instead of HZ on bttv, cx88 and saa7134 Signed-off-by: Mauro Carvalho Chehab commit 818ca4711eb8ec064c1cd5d7657f95ed6bc2bbed Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:29:07 2007 -0300 V4L/DVB (5860): Use msecs_to_jiffies instead of HZ on some webcam drivers Signed-off-by: Mauro Carvalho Chehab commit f7518bd2d9ecad8c404c300e7872f7c2ab4961ad Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:27:30 2007 -0300 V4L/DVB (5859): use msecs_to_jiffies on InfraRed RC5 timeout Signed-off-by: Mauro Carvalho Chehab commit 09df5cbe46511611410274f09571ada229231ddb Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:25:38 2007 -0300 V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers Signed-off-by: Mauro Carvalho Chehab commit a2d66a37c743ba201e85c93c4ec29d58ca94b728 Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:15:58 2007 -0300 V4L/DVB (5857): Use msecs_to_jiffies instead of HZ on radio drivers Signed-off-by: Mauro Carvalho Chehab commit 7809b4cba2bc0165c804ab4eaf10308aad14fc8e Author: Hans Verkuil Date: Tue Jul 17 13:50:46 2007 -0300 V4L/DVB (5855): ivtv: fix Kconfig typo and refer to the driver homepage. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ae38d93bd710d8014925f1cb9b689dc89c13d778 Author: Hans Verkuil Date: Tue Jul 17 13:42:43 2007 -0300 V4L/DVB (5854): ivtv: cleanup of driver messages Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 11d28766deedc8bcadc87db8a65775a41c15789a Author: Hans Verkuil Date: Tue Jul 17 12:47:38 2007 -0300 V4L/DVB (5853): ivtv: add support to suppress high volume i2c debug messages. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4b9bc014bf4c65e1da86fbc9721f04e2763feca9 Author: Alexey Dobriyan Date: Tue Jul 17 09:03:14 2007 -0300 V4L/DVB (5852): ivtv: don't recompile needlessly Driver prints banner including kernel version. Was a leftover from when the driver was standalone. Signed-off-by: Alexey Dobriyan Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c9b9a5817afc8f969b1ae834f88af6929f70de41 Author: Hans Verkuil Date: Tue Jul 17 06:45:42 2007 -0300 V4L/DVB (5851): ivtv: fix missing I2C_ALGOBIT config option I2C_ALGOBIT must also be selected when ivtv is selected. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 67632e17da1e90a0c43283823f94080c0ee07088 Author: Hans Verkuil Date: Tue Jul 17 06:38:43 2007 -0300 V4L/DVB (5850): ivtv: improve API command debugging Turn off debugging of API commands that occur during encoding or decoding, unless they are explicitly requested. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8f40a9f5325cdceddb1610cb3dfd8cb532f5a618 Author: Yoann Padioleau Date: Mon Jul 16 16:54:49 2007 -0300 V4L/DVB (5848): Av7110: fix typo Parse error in ifdef or bad use of macro. Signed-off-by: Yoann Padioleau Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 69ebb22277a53f612ccd632ceb73ed87c9093412 Author: Kristoffer Ericson Date: Fri Jul 20 18:22:57 2007 +0100 [ARM] 4506/1: HP Jornada 7XX: Addition of SSP Platform Driver These patches add full SSP/MCU support for the HP Jornada 720 machine. Its needed to handle keyboard, touchscreen, battery and backlight/lcd. The main driver exports functions and the header file exports the command values. When talking to the MCU the general procedure is to start MCU, send command (using ssp_inout(command)), the proper reply is always TXDUMMY. After receiving TXDUMMY you can send the value you wish pushed (for example brightness level). End with ssp_end() so the spinlock gets unlocked. Drivers using this havent been implemented yet, but will shortly. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 2008220879af095d00ca27eb168a55c8595fbc0b Author: Linus Torvalds Date: Fri Jul 20 13:28:54 2007 -0700 Revert "sys_time() speedup" This basically reverts commit 4e44f3497d41db4c3b9051c61410dee8ae4fb49c, while waiting for it to be re-done more completely. There are cases of people mixing "time()" with higher-resolution time sources, and we need to take the nanosecond offsets into account. Ingo has a patch that does that, but it's still under some discussion. In the meantime, just revert back to the old simple situation of just doing the whole exact timesource calculations. But rather than using do_gettimeofday(), use the internal nanosecond resolution getnstimeofday(), which at least avoids one unnecessary conversion (since we really don't care about whether the fractional seconds are nanoseconds or microseconds - we'll just throw them away). Signed-off-by: Linus Torvalds commit 7b4c965a0b74748269d05185a394c9dc121dd558 Author: Catalin Marinas Date: Fri Jul 20 11:42:57 2007 +0100 [ARM] 4504/1: nommu: Fix the ARMv6 support for MMU-less platforms With this patch, Kconfig only selects CPU_HAS_ASID for the MMU case. It also corrects the typo in the v6wbi_tlb_fns definition in pgtable-nommu.h. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 2a0cc6885f34a8f1de195f718b9f51ece6923b80 Author: Catalin Marinas Date: Fri Jul 20 11:42:46 2007 +0100 [ARM] 4502/1: nommu: Do not export the copy/clear user page functions The __cpu_{clear|copy}_user_page functions are not defined for the MMU-less case and therefore should not be exported. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 367afaf83b0a8886ea566638a865701c54710af9 Author: Catalin Marinas Date: Fri Jul 20 11:42:51 2007 +0100 [ARM] 4501/1: nommu: Select TLS register emulation if ARMv6 and not v6K If not MMU and not v6K, access to the TLS register has to be emulated. MMU-less systems do not provide a high page for kuser helpers. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 0762097625711e829a008b64f42dc0ec74abb284 Author: Catalin Marinas Date: Fri Jul 20 11:42:40 2007 +0100 [ARM] 4500/1: Add locking around the background L2x0 cache operations The background operations of the L2x0 cache controllers are aborted if another operation is issued on the same or different core. This patch protects the maintenance operation issuing/polling with a spinlock. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 13a63ab289627e977a045864b36792cf0b61364a Author: Russell King Date: Fri Jul 20 10:44:02 2007 +0100 [ARM] rpc: convert an outb() to writeb() Signed-off-by: Russell King commit 8b801ead3d7ab3cce991ea3a2d00c7336215fc7d Author: Russell King Date: Fri Jul 20 10:38:54 2007 +0100 [ARM] rpc: update Acorn SCSI drivers to modern ecard interfaces Signed-off-by: Russell King commit 13d5fadf45d12786b90916e95e97f593e91aaf0a Author: Russell King Date: Fri Jul 20 10:36:05 2007 +0100 [ARM] Make 'i' and 'zi' targets work The 'i' and 'zi' targets short-circuit the dependencies for 'install' and 'zinstall' targets; these are useful for installing the kernel on platforms which have make but no compiler installed. Signed-off-by: Russell King commit cdcb81f7d99f3d525003068b84445dd4acc63266 Author: Russell King Date: Fri Jul 20 10:32:46 2007 +0100 [ARM] Allow neponset to build again Signed-off-by: Russell King commit f393e99d9e9540d9c5b3ebc42dfb0ff9a77827fe Author: Dan Williams Date: Fri Jul 20 02:07:36 2007 +0100 [ARM] 4496/1: elf_hwcap: fix up #include misplacement While bisecting an iop13xx compile failure I noticed that include/asm-arm/hwcap.h should be included from include/asm-arm/elf.h outside #ifndef __ASSEMBLY__ since hwcap.h has its own __ASSEMBLY__ protections. Cc: Catalin Marinas Signed-off-by: Dan Williams Signed-off-by: Russell King commit 48da78bc93b087eadd8fa840ba661b9442846dee Author: Catalin Marinas Date: Wed Jul 11 11:29:28 2007 +0100 [ARM] 4471/1: Compile the uncompressing code with -fno-builtin This is to avoid a compiler warning for overriding the built-in "putc" function. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit fbc9a5727401442f6972bbddaeb0650f2bf2ebe2 Author: Gwendal Grignou Date: Fri Jul 20 12:38:36 2007 -0700 [SCSI] mpt fusion: update Kconfig help Update help in Kconfig for mptfc driver to indicate the driver supports Brocade FC 4G HBA. signed-off-by: Gwendal Grignou Acked-by: Eric Moore Signed-off-by: James Bottomley commit 486acd4850dde6d2f8c7f431432f3914c4bfb5f5 Author: Christoph Hellwig Date: Fri Jul 20 21:39:54 2007 +0200 [CELL] spufs: rework list management and associated locking This sorts out the various lists and related locks in the spu code. In detail: - the per-node free_spus and active_list are gone. Instead struct spu gained an alloc_state member telling whether the spu is free or not - the per-node spus array is now locked by a per-node mutex, which takes over from the global spu_lock and the per-node active_mutex - the spu_alloc* and spu_free function are gone as the state change is now done inline in the spufs code. This allows some more sharing of code for the affinity vs normal case and more efficient locking - some little refactoring in the affinity code for this locking scheme Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 1474855d0878cced6f39f51f3c2bd7428b44cb1e Author: Bob Nelson Date: Fri Jul 20 21:39:53 2007 +0200 [CELL] oprofile: add support to OProfile for profiling CELL BE SPUs From: Maynard Johnson This patch updates the existing arch/powerpc/oprofile/op_model_cell.c to add in the SPU profiling capabilities. In addition, a 'cell' subdirectory was added to arch/powerpc/oprofile to hold Cell-specific SPU profiling code. Exports spu_set_profile_private_kref and spu_get_profile_private_kref which are used by OProfile to store private profile information in spufs data structures. Also incorporated several fixes from other patches (rrn). Check pointer returned from kzalloc. Eliminated unnecessary cast. Better error handling and cleanup in the related area. 64-bit unsigned long parameter was being demoted to 32-bit unsigned int and eventually promoted back to unsigned long. Signed-off-by: Carl Love Signed-off-by: Maynard Johnson Signed-off-by: Bob Nelson Signed-off-by: Arnd Bergmann Acked-by: Paul Mackerras commit 36aaccc1e96481e8310b1d13600096da0f24ff43 Author: Bob Nelson Date: Fri Jul 20 21:39:52 2007 +0200 [CELL] oprofile: enable SPU switch notification to detect currently active SPU tasks From: Maynard Johnson This patch adds to the capability of spu_switch_event_register so that the caller is also notified of currently active SPU tasks. Exports spu_switch_event_register and spu_switch_event_unregister so that OProfile can get access to the notifications provided. Signed-off-by: Maynard Johnson Signed-off-by: Carl Love Signed-off-by: Bob Nelson Signed-off-by: Arnd Bergmann Acked-by: Paul Mackerras commit 2414059420311e5384de646eebfd529c184afd3c Author: Christoph Hellwig Date: Fri Jul 20 21:39:51 2007 +0200 [CELL] spu_base: locking cleanup Sort out the locking mess in spu_base and document the current rules. As an added benefit spu_alloc* and spu_free don't block anymore. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 9e7cbcbb6ede4299d52c839e352aae527c06124a Author: Arnd Bergmann Date: Fri Jul 20 21:39:50 2007 +0200 [CELL] cell: indexing of SPUs based on firmware vicinity properties This patch links spus according to their physical position using information provided by the firmware through a special vicinity device-tree property. This property is present in current version of Malta firmware. Example of vicinity properties for a node in Malta: Node: Vicinity property contains phandles of: spe@0 [ spe@100000 , mic-tm@50a000 ] spe@100000 [ spe@0 , spe@200000 ] spe@200000 [ spe@100000 , spe@300000 ] spe@300000 [ spe@200000 , bif0@512000 ] spe@80000 [ spe@180000 , mic-tm@50a000 ] spe@180000 [ spe@80000 , spe@280000 ] spe@280000 [ spe@180000 , spe@380000 ] spe@380000 [ spe@280000 , bif0@512000 ] Only spe@* have a vicinity property (e.g., bif0@512000 and mic-tm@50a000 do not have it). Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit cbc23d3e7cb3c9fd3c9fce0bc3f44f687a9517c0 Author: Arnd Bergmann Date: Fri Jul 20 21:39:49 2007 +0200 [CELL] spufs: integration of SPE affinity with the scheduller This patch makes the scheduller honor affinity information for each context being scheduled. If the context has no affinity information, behaviour is unchanged. If there are affinity information, context is schedulled to be run on the exact spu recommended by the affinity placement algorithm. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit c5fc8d2a92461fcabd00dfd678204cba36b93119 Author: Arnd Bergmann Date: Fri Jul 20 21:39:48 2007 +0200 [CELL] cell: add placement computation for scheduling of affinity contexts This patch provides the spu affinity placement logic for the spufs scheduler. Each time a gang is going to be scheduled, the placement of a reference context is defined. The placement of all other contexts with affinity from the gang is defined based on this reference context location and on a precomputed displacement offset. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit 8e68e2f248332a9c3fd4f08258f488c209bd3e0c Author: Arnd Bergmann Date: Fri Jul 20 21:39:47 2007 +0200 [CELL] spufs: extension of spu_create to support affinity definition This patch adds support for additional flags at spu_create, which relate to the establishment of affinity between contexts and contexts to memory. A fourth, optional, parameter is supported. This parameter represent a affinity neighbor of the context being created, and is used when defining SPU-SPU affinity. Affinity is represented as a doubly linked list of spu_contexts. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit 3ad216cae837d90415c605e1149e6fd88f51c973 Author: Arnd Bergmann Date: Fri Jul 20 21:39:46 2007 +0200 [CELL] cell: add hardcoded spu vicinity information for QS20 This patch allows the use of spu affinity on QS20, whose original FW does not provide affinity information. This is done through two hardcoded arrays, and by reading the reg property from each spu. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit 9d92af621f193c1c889ac8b6fd8c987ccd8aae1f Author: Arnd Bergmann Date: Fri Jul 20 21:39:45 2007 +0200 [CELL] cell: add vicinity information on spus This patch adds affinity data to each spu instance. A doubly linked list is created, meant to connect the spus in the physical order they are placed in the BE. SPUs near to memory should be marked as having memory affinity. Adjustments of the fields acording to FW properties is done in separate patches, one for CPBW, one for Malta (patch for Malta under testing). Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit aa6d5b20254a21b69092dd839b70ee148303ef25 Author: Arnd Bergmann Date: Fri Jul 20 21:39:44 2007 +0200 [CELL] cell: add per BE structure with info about its SPUs Addition of a spufs-global "cbe_info" array. Each entry contains information about one Cell/B.E. node, namelly: * list of spus (both free and busy spus are in this list); * list of free spus (replacing the static spu_list from spu_base.c) * number of spus; * number of reserved (non scheduleable) spus. SPE affinity implementation actually requires only access to one spu per BE node (since it implements its own pointer to walk through the other spus of the ring) and the number of scheduleable spus (n_spus - non_sched_spus) However having this more general structure can be useful for other functionalities, concentrating per-cbe statistics / data. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit 7e90b74967ea54dbd6eb539e1cb151ec37f63d7f Author: Masato Noguchi Date: Fri Jul 20 21:39:43 2007 +0200 [CELL] spufs: use find_first_bit() instead of sched_find_first_bit() spu_sched->bitmap has MAX_PRIO(=140) width in bits.However, since ff80a77f20f811c0cc5b251d0f657cbc6f788385, sched_find_first_bit() only supports 100-bit bitmaps. Thus, spu_sched->bitmap should be treated by generic find_first_bit(). Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 50af32a94beef566664022254d677504e51b6139 Author: Jeremy Kerr Date: Fri Jul 20 21:39:42 2007 +0200 [CELL] spufs: remove unused file argument from spufs_run_spu() From: Sebastian Siewior The 'file' argument is unused in spufs_run_spu(). This change removes it. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit ca53da3abb1d49748931ff2acb66d5a6eeeba2a1 Author: Masato Noguchi Date: Fri Jul 20 21:39:41 2007 +0200 [CELL] spufs: change decrementer restore timing The SPU decrementer should be restored after the LSCSA DMA has completed. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit cf17df223c8cd56a92f34162f2a362eec9f4b157 Author: Masato Noguchi Date: Fri Jul 20 21:39:40 2007 +0200 [CELL] spufs: dont halt decrementer at restore step 47 No need to halt the SPE decrementer at context restore step 47, it will be done in step 7. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit a103f347a5ae2735b9bf0a725a36c34be3f24c88 Author: Masato Noguchi Date: Fri Jul 20 21:39:39 2007 +0200 [CELL] spufs: limit saving MFC_CNTL bits At save step 8, the mfc control register in the CSA should be written _only_ with Sc and Sm bits (at least MFC_CNTL[Dh] should be set to 0) Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit d40a01d4f4f205d0645beb371edc153d9ec8fb9f Author: Masato Noguchi Date: Fri Jul 20 21:39:38 2007 +0200 [CELL] spufs: fix read and write for decr_status file The decr_status in the LSCSA is valid only in the sequence of context restore. Thus, it's nonsense to read and/or write it through spufs. This patch changes decr_status node to access MFC_CNTL[Ds] in the CSA. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 1cfc0f86eb0348dd04ace8c2171642ebe9cd87bb Author: Masato Noguchi Date: Fri Jul 20 21:39:37 2007 +0200 [CELL] spufs: fix decr_status meanings The decr_status in the LSCSA is confusedly used as two meanings: * SPU decrementer was running * SPU decrementer was wrapped as a result of adjust and the code to set decr_status is missing. This patch fixes these problems by using the decr_status argument as a set of flags. This requires a rebuild of the shipped spu_restore code. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit cfd529b25d9b1d48423b85d76066348e2459e646 Author: Masato Noguchi Date: Fri Jul 20 21:39:36 2007 +0200 [CELL] spufs: remove needless context save/restore code The following steps are not needed in the SPE context save/restore paths: Save Step 12: save_mfc_decr() save suspend_time to CSA (It will be done by step 14) save ch 7 (decrementer value will be saved in LSCSA by spe-side step 10) Restore Step 59: restore_ch_part1() restore ch 1 (it will be done by spe-side step 15) This change removes the unnecessary steps. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit daced0f718b92b0bcdb9790622c255d4660f51ce Author: Jeremy Kerr Date: Fri Jul 20 21:39:35 2007 +0200 [CELL] spufs: fix array size of channel index Based on a fix from Masato Noguchi . Remove the (incorrect) array size declarations in the spufs channel arrays, and use ARRAY_SIZE rather than hardcoded values. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 27b1ea091f0c088ecad0d492f37fbe7b8d54d7dc Author: Christoph Hellwig Date: Fri Jul 20 21:39:34 2007 +0200 [CELL] spufs: make sure context are scheduled again after spu_acquire_saved Currently a process is removed from the physical spu when spu_acquire_saved is saved but never put back. This patch adds a new spu_release_saved that is to be paired with spu_acquire_saved and put the process back if it has been in RUNNABLE state before. Niether Jeremy not be are entirely happy about this exact patch because it adds another spu_activate call outside of the owner thread, but I feel this is the best short-term fix we can come up with. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 27ec41d3a1d4df2b7cd190e93aad22ab86a72aa1 Author: Andre Detsch Date: Fri Jul 20 21:39:33 2007 +0200 [CELL] spufs: add spu stats in sysfs and ctx stat file in spufs This patch exports per-context statistics in spufs as long as spu statistics in sysfs. It was formed by merging: "spufs: add spu stats in sysfs" From: Christoph Hellwig "spufs: add stat file to spufs" From: Christoph Hellwig "spufs: fix libassist accounting" From: Jeremy Kerr "spusched: fix spu utilization statistics" From: Luke Browning And some adjustments by myself, after suggestions on cbe-oss-dev. Having separate patches was making the review process harder than it should, as we end up integrating spus and ctx statistics accounting much more than it was on the first implementation. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit e840cfe6814d6f13ecb86cff7097ad7259df502e Author: Jeremy Kerr Date: Fri Jul 20 21:39:32 2007 +0200 [CELL] spufs: Remove spurious WARN_ON for spu_deactivate for NOSCHED contexts In 6cbf93960e64f313f6e247cbca7afaa50e3ee2c we added a WARN_ON for calling spu_deactivate on contexts created with the SPU_CREATE_NOSCHED flag. However, all NOSCHED contexts will need to be deactivated when the context is destroyed, so this gives a spurious warning when any NOSCHED context is closed. This change removes the WARN_ON. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit d054b36ffd302ec65aabec16a0c60ddd9e6b5a62 Author: Jeremy Kerr Date: Fri Jul 20 21:39:31 2007 +0200 [CELL] spufs: Make signal-notification files readonly for NOSCHED contexts Reading from the signal{1,2} files requires a spu_acquire_saved, so make these files write-only for contexts created with SPU_CREATE_NOSCHED. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 49776d30aea903fb2f9966c8e9b6f23ae5f7c937 Author: Kazunori Asayama Date: Fri Jul 20 21:39:30 2007 +0200 [CELL] spufs: Avoid unexpectedly restaring MFC during context save The current SPU context saving procedure in SPUFS unexpectedly restarts MFC when halting decrementer, because MFC_CNTL[Dh] is set without MFC_CNTL[Sm]. This bug causes, for example, saving broken DMA queues. Here is a patch to fix the problem. Signed-off-by: Kazunori Asayama Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit d1450317554d52e0e4a454806c4d05bb2a834f00 Author: Sebastian Siewior Date: Fri Jul 20 21:39:29 2007 +0200 [CELL] spufs: remove section mismatch warning WARNING: arch/powerpc/platforms/cell/spufs/spufs.o(.init.text+0x158): Section mismatch: reference to .exit.text:.spu_sched_exit (between '.init_module' and '.spu_sched_init') was introduced by c99c1994a2bb9493b4ac372b2b6ee2606d291171 This patch removes the warning. Cc: Christoph Hellwig Signed-off-by: Sebastian Siewior Signed-off-by: Arnd Bergmann commit ce21b3c9648ae55181787bf25ee00cf91dfd5c91 Author: Michael Ellerman Date: Fri Jul 20 21:39:28 2007 +0200 [CELL] add support for MSI on Axon-based Cell systems This patch adds support for the setup and decoding of MSIs on Axon-based Cell systems, using the MSIC mechanism. This involves setting up an area of BE memory which the Axon then uses as a FIFO for MSI messages. When one or more MSIs are decoded by the MSIC we receive an interrupt on the MPIC, and the MSI messages are written into the FIFO. At the moment we use a 64KB FIFO, one per MSIC/BE. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 8d2655e621bfc3c3f925016f881a36739d479f69 Author: Andre Detsch Date: Fri Jul 20 21:39:27 2007 +0200 [CELL] saving spus information for kexec crash This patch adds support for investigating spus information after a kernel crash event, through kdump vmcore file. Implementation is based on xmon code, but the new functionality was kept independent from xmon. Signed-off-by: Lucio Jose Herculano Correia Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit dbdf04c40161f81d74e27f04e201acb3a5dfad69 Author: Maxim Shchetynin Date: Fri Jul 20 21:39:26 2007 +0200 [CELL] driver for DDR2 memory on AXON The Axon bridge chip used on new Cell/B.E. based blade servers comes with a DDR2 memory controller that can be used to attach cheap memory modules, as opposed to the high-speed XDR memory that is used by the CPU itself. Since the memory controller does not participate in the cache coherency protocol, we can not use the memory direcly for Linux applications, but by providing a block device it can be used for swap space, temporary file storage and through the use of the direct_access block device operation for mapping into user addresses, when it is mounted with an appropriate file system. Signed-off-by: Maxim Shchetynin Signed-off-by: Arnd Bergmann commit b86ce01c7700cfc74665799355a46dcadf920ebd Author: Jean-Christophe DUBOIS Date: Fri Jul 20 21:39:25 2007 +0200 [CELL] allow linux to map Cell regs on legacy SLOF tree. The platforms missing the "cpus" property in the "be" node are mono-Cell platforms such as CAB or Getaway. Therefore it is possible to assume that if there is no "cpus" properties under the "be" node then we can safely return the "device node" without more checking. This is a bit hacky but ... it allows it to work on these platforms. Signed-off-by: Jean-Christophe DUBOIS Acked-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 827e3648dc2c31e01db7cd2e4498061cf78a97a9 Author: Jean-Christophe DUBOIS Date: Fri Jul 20 21:39:24 2007 +0200 [CELL] fix cbe_thermal for legacy SLOF tree. Previous patch changed based on Christian Krafft's comment. On some legacy SLOF tree the generic code is unable to ioremap some Cell BE registers. Therefore the "generic" functions are returning a NULL pointer, triggering a crash on such platforms. Let's handle this more gracefully. Signed-off-by: Jean-Christophe DUBOIS Acked-by: Christian Kraff Signed-off-by: Arnd Bergmann commit 64bafa9db7e92d5a46402613188b71800924ca1f Author: Jean-Christophe DUBOIS Date: Fri Jul 20 21:39:23 2007 +0200 [CELL] fix cbe_cpufreq for legacy SLOF tree. Previous patch changed based on Christian Krafft's comment. On some legacy SLOF tree the generic code is unable to ioremap some Cell BE registers. Therefore the "generic" functions are returning a NULL pointer, triggering a crash on such platforms. Let's handle this more gracefully. Signed-off-by: Jean-Christophe DUBOIS Acked-by: Christian Kraff Signed-off-by: Arnd Bergmann commit 74889e41d9a1f80928130a02af9b010673bc5ba7 Author: Christian Krafft Date: Fri Jul 20 21:39:22 2007 +0200 [CELL] cbe_cpufreq: reorganize code This patch reorganizes the code of the driver into three files. Two cbe_cpufreq_pmi.c and cbe_cpufreq_pervasive.c care about hardware. cbe_cpufreq.c contains the logic. There is no changed behaviour, except that the PMI related function is now located in a seperate module cbe_cpufreq_pmi. This module will be required by cbe_cpufreq, if CONFIG_CBE_CPUFREQ_PMI has been set. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 1e21fd5af3797a2c322e1723c69732e77aa74f48 Author: Christian Krafft Date: Fri Jul 20 21:39:21 2007 +0200 [CELL] cbe_cpufreq: fix minor issues Minor issues have been fixed: * added a missing call to of_node_put() * signedness of a function parameter * added some line breaks * changed global pmi_frequency_limit to a per node pmi_slow_mode_limit array Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit e5ecc8719212e2566440818491ec5741689f3743 Author: Christian Krafft Date: Fri Jul 20 21:39:20 2007 +0200 [CELL] cbe_cpufreq: fix initialization This patch fixes the initialization of the cbe_cpufreq driver. The code that initializes the PMI related functions was called per cpu: * registering cpufreq notifier block * registering a pmi handler This ends in a bug that the notifier block gets called in an endless loop. The initialization code is being put to the module init code path by this patch. This way it only gets called once. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit a964b9be3e475f30aee334654b4ff200bcdc0092 Author: Christian Krafft Date: Fri Jul 20 21:39:19 2007 +0200 [CELL] cbe_cpufreq: fix latency measurement This patch fixes the debug code that calculates the transition time when changing the slow modes on a Cell BE cpu. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 813f90728e7d74e9b753e6ef6c6915cd2a047adb Author: Christian Krafft Date: Fri Jul 20 21:39:18 2007 +0200 [CELL] pmi: remove support for mutiple devices. The pmi driver got simplified by removing support for multiple devices. As there is no more than one pmi device per maschine, there is no need to specify the device for listening and sending messages. This way the caller (cbe_cpufreq) doesn't need to scan the device tree. When registering the handler on a board without a pmi interface, pmi.c will just return -ENODEV. The patch that fixed the breakage of cell_defconfig has been broken out of the earlier version of this patch. So this is the version that applies cleanly on top of it. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 1d4ec7b1d6f130818f9b62dea3411d9ee2ff6ff6 Author: Roland Dreier Date: Fri Jul 20 12:13:20 2007 -0700 Fix ZERO_OR_NULL_PTR(ZERO_SIZE_PTR) The comparison with ZERO_SIZE_PTR in ZERO_OR_NULL_PTR() needs to be <= (not just <) so that ZERO_OR_NULL_PTR(ZERO_SIZE_PTR) is 1. Signed-off-by: Roland Dreier [ Duh! - Linus ] Signed-off-by: Linus Torvalds commit 0b1937ac0ef1541c0ea44e6f81c33d2f59803957 Author: David Howells Date: Fri Jul 20 17:02:04 2007 +0100 FRV: Fix linkage problems Make it possible to use __start_notes and __stop_notes without getting a GPREL overflow error from the FRV linker. Small variables that would otherwise be in .data or .bss may, depending on the arch, be placed in special sections (.sdata or .sbss) that permit single instruction references on fixed instruction width machines. __start_notes and __stop_notes aren't really char variables, and certainly don't refer to data in .data or .bss. Making them type "void" fools the compiler into not assuming anything about them. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 03ce11048b3832f5f0c471ccdb3363a870a14ac1 Author: Reiner Sailer Date: Fri Jul 20 10:03:02 2007 -0400 Fix memory leak in tpm_binary_bios_measurements_open() The same problem that was fixed for tpm_ascii_bios_measurements_open() in commit 178554ae75739e91dc4d7c3e42a3db95448cc5bf also occurs in tpm_binary_bios measurements(). Thanks for noticing this Satyam! I tested the attached patch to fix tpm_binary_bios_measurments as well. Signed-off-by: Reiner Sailer Signed-off-by: Linus Torvalds commit bd807f9c5b90c236c3d173a5815d620bc1b1316d Author: Robert P. J. Day Date: Wed Jul 18 07:33:08 2007 -0400 [IA64] Prevent people from directly including . Signed-off-by: Robert P. J. Day Signed-off-by: Tony Luck commit 1f564ad6d4182859612cbae452122e5eb2d62a76 Author: Bob Picco Date: Wed Jul 18 15:51:28 2007 -0700 [IA64] remove time interpolator Remove time_interpolator code (This is generic code, but only user was ia64. It has been superseded by the CONFIG_GENERIC_TIME code). Signed-off-by: Bob Picco Signed-off-by: John Stultz Signed-off-by: Peter Keilty Signed-off-by: Tony Luck commit 0aa366f351d044703e25c8425e508170e80d83b1 Author: Tony Luck Date: Fri Jul 20 11:22:30 2007 -0700 [IA64] Convert to generic timekeeping/clocksource This is a merge of Peter Keilty's initial patch (which was revived by Bob Picco) for this with Hidetoshi Seto's fixes and scaling improvements. Acked-by: Bob Picco Signed-off-by: Tony Luck commit 941091024ef0f2f7e09eb81201d293ac18833cc8 Author: Franck Bui-Huu Date: Thu Jul 19 14:04:21 2007 +0200 [MIPS] User stack pointer randomisation Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit c55757b261038d17c729068fcdaef646a665385f Author: Yoichi Yuasa Date: Tue Jul 17 23:07:44 2007 +0900 [MIPS] Remove unused include/asm-mips/gfx.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ca002ba8be889f882d5e31cb5f2a9a0bf2b2d7b1 Author: Yoichi Yuasa Date: Tue Jul 17 23:06:24 2007 +0900 [MIPS] Remove unused include/asm-mips/ds1216.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 5a81299928f3d9abfaced60bedd85214cf9921a4 Author: Ralf Baechle Date: Tue Jul 17 18:49:48 2007 +0100 [MIPS] Workaround for RM7000 WAIT instruction aka erratum 38 Signed-off-by: Ralf Baechle commit 17099b1142f6c0359fca60a3464dea8fb30badea Author: Ralf Baechle Date: Sat Jul 14 13:24:05 2007 +0100 [MIPS] Make support for weakly ordered LL/SC a config option. None of weakly ordered processor supported in tree need this but it seems like this could change ... Signed-off-by: Ralf Baechle commit ed203dadcd1373e80e95b04075e1eefc554a914b Author: Ralf Baechle Date: Fri Jul 13 18:58:25 2007 +0100 [MIPS] Disable UserLocal runtime detection on platforms which never have it. Signed-off-by: Ralf Baechle commit 798d9023e440085f00b352f1c1af8894959ff63e Author: Ralf Baechle Date: Fri Jul 13 18:54:10 2007 +0100 [MIPS] Disable MT runtime detection on platforms which never support MT. Signed-off-by: Ralf Baechle commit b6aff66953a29e40e0683be9b39c369ade143a5b Author: James Bottomley Date: Fri Jul 20 11:10:05 2007 -0500 [SCSI] scsi_transport_sas: add destructor for bsg There's currently no destructor for the bsg components. If you insert and remove the module, you see the bsg devices building up and up. This patch adds the destructor in the correct place in the transport class so that the bsg and request queue are removed just before the device destruction. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c1158e63dfeb3928e94c768f0a403b3e0e799f70 Author: Avi Kivity Date: Fri Jul 20 08:18:27 2007 +0300 KVM: MMU: Fix oopses with SLUB The kvm mmu uses page->private on shadow page tables; so does slub, and an oops result. Fix by allocating regular pages for shadows instead of using slub. Tested-by: S.Çağlar Onur Signed-off-by: Avi Kivity commit 35f3f28613bc7263949db23a4c7078e425810c8c Author: Avi Kivity Date: Tue Jul 17 14:20:30 2007 +0300 KVM: x86 emulator: implement rdmsr and wrmsr Allow real-mode emulation of rdmsr and wrmsr. This allows smp Windows to boot, presumably for its sipi trampoline. Signed-off-by: Avi Kivity commit 90cb0529dd230548a7f0d6b315997be854caea1b Author: Avi Kivity Date: Tue Jul 17 13:04:56 2007 +0300 KVM: Fix memory slot management functions for guest smp The memory slot management functions were oriented against vcpu 0, where they should be kvm-wide. This causes hangs starting X on guest smp. Fix by making the functions (and resultant tail in the mmu) non-vcpu-specific. Unfortunately this reduces the efficiency of the mmu object cache a bit. We may have to revisit this later. Signed-off-by: Avi Kivity commit d55e2cb20123cdb5020ec4a2b2f1eace5038c292 Author: Avi Kivity Date: Tue Jul 10 17:50:55 2007 +0300 KVM: MMU: Store nx bit for large page shadows We need to distinguish between large page shadows which have the nx bit set and those which don't. The problem shows up when booting a newer smp Linux kernel, where the trampoline page (which is in real mode, which uses the same shadow pages as large pages) is using the same mapping as a kernel data page, which is mapped using nx, causing kvm to spin on that page. Signed-off-by: Avi Kivity commit 964f9ce2ff42dc47cf40fbd2f5c81cd60689e384 Author: Pierre Ossman Date: Fri Jul 20 18:20:36 2007 +0200 sdhci: make sure to clear the error interrupt The controller has a bit indicating that one of the higher bits (the error bits) are set. A previous bug caused this bit to be masked, but since that bug has been fixed we have to clear it explicictly. Signed-off-by: Pierre Ossman commit 63b66438860f246f25f5563cde4978cf255cb810 Author: Marc Pignat Date: Mon Jul 16 11:07:02 2007 +0200 mmc: at91_mci: wakeup on card insertion (or removal) This piece of code enable the system to be wake-up by a card insertion or removal. Signed-off-by: Marc Pignat Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 81764fa9a472dd72b93385f30f718ed4f98ec129 Author: Pierre Ossman Date: Sun Jul 15 18:47:38 2007 +0200 mmc: add maintainer for at91 Nicolas Ferre has taken it upon himself to look after the AT91 MMC host driver. Signed-off-by: Pierre Ossman commit 3d50527bbf1b68e5206263ade414f0d966b00f74 Author: Mike Rapoport Date: Wed Jul 18 11:31:46 2007 +0100 [ARM] 4475/2: EM-x270 board support Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit fe885fa2372b1d255974e71d5b7c51b1e9673835 Author: Arnaud Patard Date: Wed Jul 18 21:04:00 2007 +0100 [ARM] 4491/1: em7210 rtc clock The commit d815461c7a73903d0a926b3cace6f69e144c54a3 in linus tree converts the rtc-rs5c372 driver to a "new style" i2c driver. Like commit c00593f6f816e5cfa6d193a2561ca77541f71424, this patch register the rtc i2c device for the em7210 board. Signed-off-by: Arnaud Patard Signed-off-by: Russell King commit b750a09385d7c464113ae8915e63541a163fbac8 Author: Eric Miao Date: Wed Jul 18 11:40:13 2007 +0100 [ARM] 4489/1: pxa: split pxa_cpu_suspend to processor specific ones 1. split pxa_cpu_suspend to pxa25x_cpu_suspend and pxa27x_cpu_suspend and make pxa25x_cpu_pm_enter() and pxa27x_cpu_pm_enter() to invoke the corresponding _suspend functions, thus remove all those ugly #ifdef .. #endif out of sleep.S 2. move the declarations of those suspend functions to pm.h note: this is not a clean enough solution until all the pxa25x and pxa27x specific part is further removed out of sleep.S, sleep.S is supposed to contain generic code only Signed-off-by: eric miao Signed-off-by: Russell King commit 711be5ccfe9a02ba560aa918a008c31ea4760163 Author: Eric Miao Date: Wed Jul 18 11:38:45 2007 +0100 [ARM] 4488/1: pxa: move pxa25x/pxa27x specific code out of pm.c 1. introduce a structure pxa_cpu_pm_fns for pxa25x/pxa27x specific operations as follows: struct pxa_cpu_pm_fns { int save_size; void (*save)(unsigned long *); void (*restore)(unsigned long *); int (*valid)(suspend_state_t state); void (*enter)(suspend_state_t state); } 2. processor specific registers saving and restoring are performed by calling the corresponding (*save) and (*restore) 3. pxa_cpu_pm_fns->save_size should be initialized to the required size for processor specific registers saving, the allocated memory address will be passed to (*save) and (*restore) memory allocation happens early in pxa_pm_init(), and save_size should be assigned prior to this (which is usually true, since pxa_pm_init() happens in device_initcall() 4. there're some redundancies for those SLEEP_SAVE_XXX and related macros, will be fixed later, one way possible is for the system devices to handle the specific registers saving and restoring Signed-off-by: eric miao Signed-off-by: Russell King commit 8c6b065b792061c2e471d530127f2348fd9d243d Author: Alan Cox Date: Fri Jul 20 15:36:31 2007 +0100 pata_cs5520: Fix probe bug regression introduced in 2.6.22 Signed-off-by: Alan Cox Signed-off-by: Linux Torvalds commit 6a860c979b35469e4d77da781a96bdb2ca05ae64 Author: Jens Axboe Date: Fri Jul 20 15:18:12 2007 +0200 splice: fix bad unlock_page() in error case If add_to_page_cache_lru() fails, the page will not be locked. But splice jumps to an error path that does a page release and unlock, causing a BUG() in unlock_page(). Fix this by adding one more label that just releases the page. This bug was actually triggered on EL5 by gurudas pai using fio. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 9d1ca6f13cfedfd127f3be7e447bd6d922806a65 Author: Rusty Russell Date: Fri Jul 20 22:15:01 2007 +1000 lguest: override sched_clock Guests currently use the default scheduler clock: this means they always use jiffies even if TSC is actually available. It doesn't make any noticeable difference here, but it's a better thing to do. Also remove commented-out asm/sched-clock.h from -mm tree. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 876be9d89e9c8a007577e6372e331042edf4020b Author: Rusty Russell Date: Fri Jul 20 22:12:56 2007 +1000 lguest: trivial: We now have asm/processor-flags.h, so use it. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit e5faff45b381e053c31214713ed783d97f49177b Author: Rusty Russell Date: Fri Jul 20 22:11:13 2007 +1000 lguest: fix sense if IF flag on interrupt injection The sense of the IF bit is backwards in the host interrupt handling. This means we always save "IF=1" on the stack when injecting an interrupt. It turns out this is almost always correct (unless the guest is taking a page fault in an interrupt due to an unpopulated vmalloc mapping), so went unnoticed. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit e7cbff13ec1f236a3f8341c503a2e1bd0cf692e5 Author: Al Viro Date: Fri Jul 20 16:03:40 2007 +0100 [SCSI] iscsi_tcp: buggered kmalloc() Signed-off-by: Al Viro Cc: Mike Christie Signed-off-by: James Bottomley commit bd6dc742a4b1945861795a66dc27c65365c5f28e Author: David Howells Date: Fri Jul 20 10:59:41 2007 +0100 AFS: Use patched rxrpc_kernel_send_data() correctly Fix afs_send_simple_reply() to accept a greater-than-zero return value from rxrpc_kernel_send_data() as being a successful return rather than thinking it an error and aborting the call. rxrpc_kernel_send_data() previously returned zero incorrectly when it worked successfully, but has been patched to return the number of bytes it transmitted. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 5c72fc5cad68f5e1bfe0910cca9f63723e4a5c4a Author: Nick Piggin Date: Fri Jul 20 09:21:06 2007 +0200 arm: fix up handle_mm_fault changes Update arm to use bitwise types for its VM_FAULT_ constants. Signed-off-by: Nick Piggin Cc: Russell King Signed-off-by: Linus Torvalds commit e609ccc3161ead8a685b15533d9b6958ed368358 Author: Matthew Wilcox Date: Fri Jul 20 09:29:50 2007 -0600 Fix Lindent to not indent preprocessor comments so far I recently ran Lindent over the AdvanSys driver and it moved the comments on #else and #endif lines way over to the right: #else /* ADVANSYS_DEBUG */ This doesn't match what I expect from kernel style, but it is documented. We just need another flag to indent to make this look like: #else /* ADVANSYS_DEBUG */ Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit 178554ae75739e91dc4d7c3e42a3db95448cc5bf Author: Jesper Juhl Date: Fri Jul 20 00:31:48 2007 -0700 Memory leak in tpm_ascii_bios_measurements_open() Coverity found a memory leak in tpm_ascii_bios_measurements_open(). If "read_log(log)" fails, then we may leak 'log' and 'log->bios_event_log'. Signed-off-by: Jesper Juhl Cc: Seiji Munetoh Cc: Stefan Berger Cc: Reiner Sailer Cc: Kylene Hall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22982a5687d8abf7bafe6d307585464f47089f18 Author: Greg Ungerer Date: Fri Jul 20 00:31:47 2007 -0700 m68knommu: reformat show_cpuinfo() Reformat show_cpuinfo() to be consistent with normal coding style (and rest of this file). Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3bbb3f05339de438faf54124f25c92e6fe4ac2e Author: Jesper Juhl Date: Fri Jul 20 00:31:47 2007 -0700 cr_backlight_probe() allocates too little storage for struct cr_panel The Coverity checker noticed that we allocate too little storage for "struct cr_panel *crp" in cr_backlight_probe(). Signed-off-by: Jesper Juhl Cc: Thomas Hellstrom Cc: Alan Hourihane Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb0645a8b1f14da300f40bb9f424640cd1181fbf Author: Dan Williams Date: Fri Jul 20 00:31:46 2007 -0700 async_tx: fix kmap_atomic usage in async_memcpy Andrew Morton: [async_memcpy] is very wrong if both ASYNC_TX_KMAP_DST and ASYNC_TX_KMAP_SRC can ever be set. We'll end up using the same kmap slot for both src add dest and we get either corrupted data or a BUG. Evgeniy Polyakov: Btw, shouldn't it always be kmap_atomic() even if flag is not set. That pages are usual one returned by alloc_page(). So fix the usage of kmap_atomic and kill the ASYNC_TX_KMAP_DST and ASYNC_TX_KMAP_SRC flags. Cc: Andrew Morton Cc: Evgeniy Polyakov Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c6129c68fe90a61166800b40217a850b8faee98 Author: Stephen Rothwell Date: Fri Jul 20 00:31:45 2007 -0700 dpt_i2o depends on virt_to_bus Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1833633803c7ef4d8f09877d3f1549cbd252f477 Author: Nick Piggin Date: Fri Jul 20 00:31:45 2007 -0700 fix some conversion overflows Fix page index to offset conversion overflows in buffer layer, ecryptfs, and ocfs2. It would be nice to convert the whole tree to page_offset, but for now just fix the bugs. Signed-off-by: Nick Piggin Cc: Michael Halcrow Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e228929bc257b963523ed75aa60d2ad77ece2189 Author: Paul Mundt Date: Fri Jul 20 00:31:44 2007 -0700 mm: fix memory hotplug oops from ZONE_MOVABLE changes. zone_movable_pfn is presently marked as __initdata and referenced from adjust_zone_range_for_zone_movable(), which in turn is referenced by zone_spanned_pages_in_node(). Both of these are __meminit annotated. When memory hotplug is enabled, this will oops on a hot-add, due to zone_movable_pfn having been freed. __meminitdata annotation gives the desired behaviour. This will only impact platforms that enable both memory hotplug and ARCH_POPULATES_NODE_MAP. Signed-off-by: Paul Mundt Acked-by: Mel Gorman Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d1b87530e7df5c9541a69910ef7f786f034eca0 Author: Adrian Bunk Date: Fri Jul 20 00:31:44 2007 -0700 arch/i386/xen/events.c should #include Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Acked-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2eea68e7db759ce67807b42b7407236cccfde71 Author: Roland McGrath Date: Fri Jul 20 00:31:43 2007 -0700 xen: disable vdso "nosegneg" on native boot One of the nice ideas behind paravirt is that CONFIG_XEN=y can be included in a standard configuration and be no worse for native booting than as a Xen guest. The glibc feature that supports the vDSO "nosegneg" note is designed specifically to make this easy. You just have to flip one bit at boot time. This patch makes Xen flip the bit, so a CONFIG_XEN=y kernel on bare hardware does not make glibc use the less-optimized library builds. Signed-off-by: Roland McGrath Acked-by: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d046943cbaf332f75284ad99f4b3e60bae7ffff2 Author: Al Viro Date: Fri Jul 20 16:18:06 2007 +0100 fix gfp_t annotations for slub Since we have use like ~SLUB_DMA, we ought to have the type set right in both cases. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8d4bc5b6b0ce030f51a2db836caeaf687b986791 Author: Al Viro Date: Fri Jul 20 16:15:28 2007 +0100 ANSIfy a couple of functions in netfilter It's C, not C++... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6d14bfe77b8246a45670b7158d3a49bfe55662c7 Author: Al Viro Date: Fri Jul 20 16:10:24 2007 +0100 Fix lguest misannotation It's void __user *, not void * __user... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 25cccecce8e29f92eb5a0445bc97ee01ef2da379 Author: Al Viro Date: Fri Jul 20 16:07:33 2007 +0100 Fix up sky2 breakage Doing |= 1 << 19 to 16bit unsigned is not particulary useful; that register is 32bit, unlike the ones dealt with in the rest of function, so we need u32 variable here. Signed-off-by: Al Viro Acked-by: Stephen Hemminger Signed-off-by: Linus Torvalds commit a9204879b4242c2bed3a172399906acd371a8081 Author: Al Viro Date: Fri Jul 20 16:03:40 2007 +0100 Fix buggered kmalloc() call argument order Wrong order of arguments Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit dfedfaf55a452637d72bfc482c80f902a470ebb7 Author: Al Viro Date: Fri Jul 20 04:33:58 2007 +0100 m68k: exclude more unbuildable drivers anything that wants working dma-mapping won't work parport_pc won't work on m68k unless we have ISA Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 446df4c1e5f56cb68ec0cd9c29bbb2c7b04a513e Author: Al Viro Date: Fri Jul 20 04:33:48 2007 +0100 mac89x0: missing __init Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f6ea2090e08abf3b95e1b692f1eec596bce69e9c Author: Al Viro Date: Fri Jul 20 04:33:38 2007 +0100 m68k: remove empty ->setup is several consoles Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 66a3f820cb6a88ef0481e042d4b48b2299deab7e Author: Al Viro Date: Fri Jul 20 04:33:28 2007 +0100 m68k: missing __init Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 88f8bb780e13fd31f207e1752ee8624dc786381f Author: Al Viro Date: Fri Jul 20 04:33:18 2007 +0100 m68k: missing exports Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7e5de05169b766b86b4bc7c196f53d57e1952bff Author: Al Viro Date: Fri Jul 20 04:33:08 2007 +0100 m68k: use .text.head i.e. tell modpost that entry point code (that has to be outside of .init.text for external reasons) is OK to refer to .init.* Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f9569e1d1540791f664aeb935b1ec11b6e56507c Author: Al Viro Date: Fri Jul 20 04:32:58 2007 +0100 m68k iomem (based on Geert's tree + memcpy_... stuff) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 3a5df1d451cfe3a3d6d63f144554cac286eecba1 Author: Al Viro Date: Fri Jul 20 04:32:48 2007 +0100 m68k: teach modpost about .m68_fixup Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8a0236743ecd591f16a749f5c06670c6ae9661be Author: Al Viro Date: Fri Jul 20 00:24:22 2007 +0100 more isa/eisa/pci-only drivers marked as such Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6585c1b3e2e6fe78701980686139f9599be07d66 Author: Andrew Vasquez Date: Thu Jul 19 15:06:04 2007 -0700 [SCSI] qla2xxx: Update version number to 8.02.00-k2. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c3a2f0dfe1cecac76950f340f540c1a887dd2500 Author: Andrew Vasquez Date: Thu Jul 19 20:37:34 2007 -0700 [SCSI] qla2xxx: Add ISP25XX support. Large code-reuse from ISP24xx, consolidate RISC memory extraction routines during firmware-dump. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit af6177d88d76834b4d05499482d471d64559a6af Author: Andrew Vasquez Date: Thu Jul 19 15:06:02 2007 -0700 [SCSI] qla2xxx: Use pci_try_set_mwi(). As the "must-check" return-value of pci_set_msi() is never really checked. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f85ec187dcd65c76dcb29f70ff3b5c7f2ae37cc8 Author: Andrew Vasquez Date: Thu Jul 19 15:06:01 2007 -0700 [SCSI] qla2xxx: Use PCI-X/PCI-Express read control interfaces. Original from Peter Oruba . Additional cleanups included. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fd34f55694a784052981977cb84c50ea369ffc68 Author: Andrew Vasquez Date: Thu Jul 19 15:06:00 2007 -0700 [SCSI] qla2xxx: Re-factor isp_operations to static structures. In preparation for new ISP types. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8084fe168a5252548cdddf2ed181c337fecd0523 Author: Shyam Sundar Date: Thu Jul 19 15:05:59 2007 -0700 [SCSI] qla2xxx: Validate mid-layer 'underflow' during check-condition handling. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 5881569bb33cdb0d4cdcd44d9ca2551ab04fb811 Author: Andrew Vasquez Date: Thu Jul 19 15:05:58 2007 -0700 [SCSI] qla2xxx: Correct setting of 'current' and 'supported' speeds during FDMI registration. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c76f2c013f7fce83d54acd9d414af7e989e0a1dd Author: Andrew Vasquez Date: Thu Jul 19 15:05:57 2007 -0700 [SCSI] qla2xxx: Generalize iIDMA support. In preparation for new ISP types. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e428924ccdf4644c58e23c2314ab970ff3afc607 Author: Andrew Vasquez Date: Thu Jul 19 15:05:56 2007 -0700 [SCSI] qla2xxx: Generalize FW-Interface-2 support. In preparation for new ISP types. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 5ddf24c5ea9d715dc4f5d5d5dd1c9337d90466dc Author: Tejun Heo Date: Mon Jul 16 14:29:41 2007 +0900 libata: implement EH fast drain In most cases, when EH is scheduled, all in-flight commands are aborted causing EH to kick in immediately. However, in some cases (especially with PMP), it's unclear which commands are affected by the error condition and although aborting all in-flight commands work, it isn't optimal and may cause unnecessary disruption. On the other hand, waiting for in-flight commands to drain themselves can take up to 30seconds. This patch implements EH fast drain to handle such situations. It gives in-flight commands some time to finish up but doesn't wait for too long. After EH is scheduled, fast drain timer is started and if no other completion occurs in ATA_EH_FASTDRAIN_INTERVAL all in-flight commands are aborted. If any completion occurred in the interval, the port is given another interval to finish up itself. Currently ATA_EH_FASTDRAIN_INTERVAL is 3 secs which should be enough for finishing up most commands. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4e57c517b3cbaceb7438eeec879ca129fc17442c Author: Tejun Heo Date: Mon Jul 16 14:29:41 2007 +0900 libata: schedule probing after SError access failure during autopsy If SError isn't accessible, EH can't tell whether hotplug has happened or not. Report SError read failure with AC_ERR_OTHER and schedule probing with hardreset. This will be mainly useful for PMPs. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fccb6ea5c240b9f29baa55448488fd6aee49f5a5 Author: Tejun Heo Date: Mon Jul 16 14:29:41 2007 +0900 libata: clear HOTPLUG flag after a reset ATA_EHI_HOTPLUGGED is a hint for reset functions indicating the the port might have gone through hotplug/unplug just before entering EH. Reset functions modify their behaviors a bit to handle the situation better - e.g. using longer debouncing delay. Currently, once HOTPLUG is set, it isn't cleared till the end of EH. This is unnecessary and makes EH take longer. Clear the HOTPLUGGED flag after a reset try (successful or not). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f8f1e1cc0cd4d75c73e9a55a0ede8958e4fa14f1 Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: reorganize ata_ehi_hotplugged() __ata_ehi_hotplugged() now has no users. Regorganize ata_ehi_hotplugged() such that a new function ata_ehi_schedule_probe() deals with scheduling probing. ata_ehi_hotplugged() calls it and additionally marks hotplug specific flags. ata_ehi_schedule_probe() will be used laster. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1ae463171cc1b1ea6dad7bcb298e96c073e7373e Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: improve SCSI scan failure handling SCSI scan may fail due to memory allocation failure even if EH is not in progress. Due to use of GFP_ATOMIC in SCSI scan path, allocation failure isn't too rare especially while probing multiple devices at once which is the case when a bunch of devices are connected to PMP. This patch moves SCSI scan failure detetion logic from ata_scsi_hotplug() to ata_scsi_scan_host() and implement synchronous scan behavior. The synchronous path sleeps briefly and repeats SCSI scan if some devices aren't attached properly. It contains robust retry loop to minimize the chance of device misdetection during boot and falls back to async retry if everything fails. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f1545154a5c96590b1992aac8ee1e2c445e301ed Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: quickly trigger SATA SPD down after debouncing failed Debouncing failure is a good indicator of basic link problem. Use -EPIPE to indicate debouncing failure and make ata_eh_reset() invoke sata_down_spd_limit() if the error occurs during reset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 008a78961ec72990d09d7625ef9499d7317d040d Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: improve SATA PHY speed down logic sata_down_spd_limit() first reads the current SPD from SStatus and limit the speed to the lower one of one below the current limit or one below the current SPD in SStatus. SPD may not be accessible or valid when SPD down is requested making sata_down_spd_limit() fail when it's most needed. This patch makes the current SPD cached after each successful reset and forces GEN I speed (1.5Gbps) if neither of SStatus or the cached value is valid, so sata_down_spd_limit() is now guaranteed to lower the speed limit if lower speed is available. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit badc2341579511a247f5993865aa68379e283c5c Author: su henry Date: Fri Jul 20 08:07:46 2007 -0400 The SATA controller device ID is different according to the onchip SATA type set in the system BIOS: Device Device ID SATA in IDE mode 0x4390 SATA in AHCI mode 0x4391 SATA in non-raid5 driver 0x4392 SATA in raid5 driver 0x4393 Although the device ID is different, they use the same AHCI driver .The attached file is the patch for adding these device IDs for ATI SB700. Signed-off-by: henry.su.ati@gmail.com Signed-off-by: Jeff Garzik commit 203ef6c456ad70e660cca67921d3d872b13aa516 Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 ahci: implement SCR_NOTIFICATION r/w Make ahci_scr_read/write() handle SCR_NOTIFICATION if the controller supports it. Also, print "sntf" in the cap line if supported. While at it, convert eight space into a tab in ahci_print_info(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 274c1fde5c775a53331427d454745b9ecc5c783b Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 ahci: make NO_NCQ handling more consistent ahci_save_initial_config() is responsible for reading, screening the host CAP register and storing the modified result into hpriv->cap for the rest of the driver. Move ATA_FLAG_NO_NCQ handling into ahci_save_initial_config(). It's more consistent this way and the rest of the driver can always refer to hpriv->cap to determine configured capability. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit da3dbb17a0e9a9ec7f5aed95f1fddadb790edc9d Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: make ->scr_read/write callbacks return error code Convert ->scr_read/write callbacks to return error code to better indicate failure. This will help handling of SCR_NOTIFICATION. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5335b729064e03319cd2d5219770451dbb1d7f67 Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: implement AC_ERR_NCQ When an NCQ command fails, all commands in flight are aborted and the offending one is reported using log page 10h. Depending on controller characteristics and LLD implementation, all commands may appear as having a device error due to shared TF status making it hard to determine what's actually going on. This patch adds AC_ERR_NCQ, marks the command reported by log page 10h with it and print extra "" after the error report for the command to help distinguishing the offending command. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b64bbc39f2122a2276578e40144af69ef01decd4 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 libata: improve EH report formatting Requiring LLDs to format multiple error description messages properly doesn't work too well. Help LLDs a bit by making ata_ehi_push_desc() insert ", " on each invocation. __ata_ehi_push_desc() is the raw version without the automatic separator. While at it, make ehi_desc interface proper functions instead of macros. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 975530e8a33fdeb1ad80d82fde11d56bf9ed2760 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 sata_sil24: separate out sil24_do_softreset() Separate out sil24_do_softreset() which takes @pmp as its last argument. This will be used to implement sil24_pmp_softreset(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 37b99cba8c2a3fd05a3a9f652cc2b3e48d1b9197 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 sata_sil24: separate out sil24_exec_polled_cmd() Separate out sil24_exec_polled_cmd() from sil24_softreset(). This will be used to implement sil24_pmp_read/write(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e59f0dad33176a13803ff8a41cc639a06c43d381 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 sata_sil24: replace sil24_update_tf() with sil24_read_tf() Replace sil24_update_tf() to sil24_read_tf() which reads TF into passed int result TF argument and can read TFs of PMP links. This will be used by PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a9cf5e858100b2f82ad61028c26a1a3de11c4839 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 ahci: separate out ahci_do_softreset() Separate out ahci_do_softreset() which takes @pmp as its last argument. This will be used to implement ahci_pmp_softreset(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 91c4a2e09267b0ddc8e59d121e3748cd18675739 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 ahci: separate out ahci_exec_polled_cmd() Separate out ahci_exec_polled_cmd() from ahci_softreset(). This will be used to implement ahci_pmp_read/write(). ahci_exec_polled_cmd() performs reset_engine before returning if the command fails (times out). This is to improve robustness. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d2e75dfffbe9e86e1d646264792ac9bcd2cc4267 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 ahci: separate out ahci_kick_engine() Separate out stop_engine - CLO - start_engine sequence from ahci_softreset() and ahci_clo() into ahci_reset_engine() and use it in ahci_softreset() and ahci_post_internal_cmd(). The function will also be used to prepare for and clean up after PMP register access commands. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2cbb79ebbd4be07041368da5379a64f89f8ad518 Author: Tejun Heo Date: Mon Jul 16 14:29:38 2007 +0900 ahci: use deadline instead of fixed timeout for 1st FIS for SRST Use deadline instead of fixed timeout for 1st FIS for SRST to improve robustness of SRST. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9977126c4b65c1396b665f7a0eeb8c7dede336f9 Author: Tejun Heo Date: Mon Jul 16 14:29:38 2007 +0900 libata: add @is_cmd to ata_tf_to_fis() Add @is_cmd to ata_tf_to_fis(). This controls bit 7 of the second byte which tells the device whether this H2D FIS is for a command or not. This cleans up ahci a bit and will be used by PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fe36cb53cfd82f3c0796a0826e1c9caf198c8f97 Author: Petr Vandrovec Date: Fri Jul 20 07:44:44 2007 -0400 [libata] Fix reported task file values in sense data ata_tf_read was setting HOB bit when lba48 command was submitted, but was not clearing it before reading "normal" data. As it is only place which sets HOB bit in control register, and register reads should not be affected by other bits, let's just clear it when we are done with reading upper bytes so non-48bit commands do not have to touch ctl at all. pata_scc suffered from same problem... Signed-off-by: Petr Vandrovec Signed-off-by: Jeff Garzik commit f3a03b0934fb83a030ccd3e6f1fbe845a9c44d49 Author: Dave Jones Date: Mon Jul 16 11:23:03 2007 -0400 Correct comment in libata-sff.c The filename in the file header is incorrect. Signed-off-by: Dave Jones Signed-off-by: Jeff Garzik commit dcd0344775c1c0bf8ff3b9541863beea5088a7c9 Author: Akira Iguchi Date: Tue Jul 17 12:10:17 2007 +0900 pata_scc.c: small fixes (Workaround for errata A308) This patch fixes some issues of the previous patch: - Use mode_filter() hook to limit ATAPI UDMA mode - "data loss" warning message - handling of udma_mask Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Signed-off-by: Jeff Garzik commit 028a2596336b19a7e3713cfa9fe04d0d32e95876 Author: Alexey Dobriyan Date: Tue Jul 17 23:48:48 2007 +0400 ahci.c: fix CONFIG_PM=n compilation Commit df69c9c5438b4e396a64d42608b2a6c48a3e7475 moved only prototype of out of CONFIG_PM. Move function out as well. Box seems to boot fine. Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 3fb6589ceaf06d9c65bdf2382249d818771e913b Author: Tejun Heo Date: Fri Jul 20 12:49:38 2007 +0900 libata: add ST9160821AS 3.CLF to NONCQ blacklist Yay, the first one from Seagate. 3.ALC firmware is okay. This was reported by Sam Freed on bugzilla bug 8759. Signed-off-by: Tejun Heo Signed-off-by: Sam Freed Signed-off-by: Jeff Garzik commit 83b6839ec33becca78ebf6035489733a62e750bb Author: Magnus Damm Date: Fri Jul 20 12:50:58 2007 +0900 pata_platform: Fix NULL pointer dereference pata_platform: Fix NULL pointer dereference pata_platform currently dereferences a NULL pointer in pata_platform_probe() if pdev->dev.platform_data is set to NULL. This breakage was most likely introduced by commit 5f45bc50976ee1f408f7171af155aec646655a37. Signed-off-by: Magnus Damm Signed-off-by: Jeff Garzik commit 0ea9e179f436f153fc19fdaef7abbc1e0da20762 Author: Jeff Garzik Date: Fri Jul 13 17:06:45 2007 -0400 [libata] sata_mv: minor cleanups * trim trailing whitespace * document some flags, registers, and register bits * fix locking around EDMA on/off and configuration * continue replacing "constant OP var" with "var OP constant" * use new pci_try_set_mwi() Signed-off-by: Jeff Garzik commit 6c1153e00af8de755ec278d873a97c9ce2a72d10 Author: Jeff Garzik Date: Fri Jul 13 15:20:15 2007 -0400 [libata] sata_mv: Micro-optimization and cleanups * Micro-optimization in the EDMA interrupt handling code * s/EDMA_ERR_CRBQ_PAR/EDMA_ERR_CRQB_PAR/ * Document EDMA Error Interrupt Cause register bits Signed-off-by: Jeff Garzik commit 56386f6424f242cff46e2cfd7be44624cd37dce1 Author: Magnus Damm Date: Fri Jul 20 18:44:49 2007 +0900 sh: intc - add support for SH7750 and its variants This patch converts the cpu specific 7750 setup code to use the new intc controller. Many new vectors are added and multiple processor variants including 7091, 7750, 7750s, 7750r, 7751 and 7751r should all have the correct vectors hooked up. IRLM interrupts can be enabled using ipr_irq_enable_irlm() which now is marked as __init. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 53555eb758388fff3982875129ca96080caed147 Author: Jaroslav Kysela Date: Fri Jul 20 11:13:35 2007 +0200 [ALSA] version 1.0.14 Signed-off-by: Jaroslav Kysela commit 1f6268e982c7d35adee34d8f92a17644c7b3f78a Author: Jaroslav Kysela perex@suse.cz Date: Fri Jul 20 10:42:56 2007 +0200 [ALSA] remove duplicate Logitech Quickcam USB ID in usbquirks.h Signed-off-by: Jaroslav Kysela commit aafc03398baefaac380b34a1ee6356e7eed8e663 Author: Takashi Iwai Date: Tue May 29 18:01:06 2007 +0200 [ALSA] hda-codec - Fix input with STAC92xx The recent fix for STAC92xx surround outputs broke the input pin setting for shared line-in and mic jacks. This patch fixes the breakage. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c54728d8aa59283ece86cb745e5085ece8b4eedb Author: Nicola Fagnani Date: Thu Jul 19 23:28:52 2007 +0200 [ALSA] hda-intel: support for iMac 24'' released on 09/2006 Basic audio support for the iMac 24'' model released on 09/2006, including headphone jack detection with automatic speaker muting. This iMac uses the Realtek ALC885 codec, not a Sigmatel one as in other models. Functionality has been tested for internal speakers, headphone and microphone. Signed-off-by: Nicola Fagnani Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c5d9f1cdbf067b5500886c5171159e99657341ce Author: Claudio Matsuoka Date: Thu Jul 19 23:18:32 2007 +0200 [ALSA] hda-codec - Add quirk for Asus P5LD2 Without the proper model setting, the Asus P5LD2 rear outputs remain completely silent unlike other systems where the front speakers usually work. This patch adds the P5LD2 to the quirk table. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8632649b1c991aab883a8538e493c33e362d077a Author: James Courtier-Dutton Date: Fri May 18 20:35:50 2007 +0100 [ALSA] snd-ca0106: Add support for X-Fi Extreme Audio. This card is just a normal SB Live 24bit, but under a different marketing name. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit d9e8a552d486eff3281e58754d126500782dcd74 Author: James Courtier-Dutton Date: Sat Jul 14 10:24:49 2007 +0100 [ALSA] snd-emu10k1:Enable E-Mu 1616m notebook firmware loading. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 3663d845e557989d09e856c1e9e708e80a976dd4 Author: James Courtier-Dutton Date: Sat Jul 14 02:18:26 2007 +0100 [ALSA] snd-emu10k1: Initial support for E-Mu 1616 and 1616m. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 89f157d9e6bf08b65f93dcb1dca1de037079885f Author: Takashi Iwai Date: Thu Jul 19 11:23:21 2007 +0200 [ALSA] cs46xx - Fix PM resume Fixed PM resume of cs46xx devices. It now restores properly the DSP image and kick-off the DSP. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 87d483630a4bd5af2beb2155c7ae8c408729a1a6 Author: Matthew Ranostay Date: Tue Jul 17 11:52:24 2007 +0200 [ALSA] hda: Enable SPDIF in/out on some stac9205 boards Added support for some boards with SPDIF in/out, and cleaned up the GPIO enable function. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7c64ec343a7d7b2d73b19e6bb8d9fd15f0462890 Author: Clemens Ladisch Date: Mon Jul 16 11:01:30 2007 +0200 [ALSA] timer: check for incorrect device state in non-debug compiles, too Convert the snd_assert()s to simple if()s to prevent crashes when one of the timer instance ioctls is called before the file is bound to a timer device. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c28054d4b31d78272f65c0d11db0796f50fb9569 Author: Yoann Padioleau Date: Sat Jul 14 00:33:15 2007 +0200 [ALSA] snd-aoa-codec-onyx: fix typo Parse error in ifdef or bad use of macro. Signed-off-by: Yoann Padioleau Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ef64adbbba1b215e8b523b50ef9d568b4bf2e1e3 Author: Claudio Matsuoka Date: Sat Jul 14 00:26:16 2007 +0200 [ALSA] hda-codec - Add quirks for HP dx2200/dx2250 HP dx2200 and dx2250 use Micro-Star International (MSI) motherboards (models MS-7254 and MS-7297 respectively) with an ALC862 codec in threestack configuration. Adding this quirk allows correct 5.1 sound output in these systems. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4723c022e1960abb5608b37ef61443da7d6296bb Author: Claudio Matsuoka Date: Fri Jul 13 14:36:19 2007 +0200 [ALSA] hda-codec - Rename HP model-specific quirks Rename ALC888_HP_NETTLE and ALC888_HP_LUCKNOW models to the more generic names ALC888_6ST_HP and ALC888_3ST_HP since HP seems to be consistent in the wiring of their 3stack and 6stack ALC888-based systems. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e87f97a3e842a816f30f087d5bfac68ef2afaef2 Author: Claudio Matsuoka Date: Fri Jul 13 11:51:32 2007 +0200 [ALSA] hda-codec - Add quirk for HP Samba This patch fixes 5.1 surround output for the HP Samba using the same quirk as the HP Lucknow. If HP machines are uniform in their wiring, we should rename ALC888_HP_NETTLE to ALC888_6ST_HP and ALC888_HP_LUCKNOW to ALC888_3ST_HP for generic HP 6stack and 3stack configurations. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e4f41da9e5f03e67ebe6067aad40c6a79443c3ae Author: Claudio Matsuoka Date: Fri Jul 13 11:51:06 2007 +0200 [ALSA] hda-codec - Add LG LW20 line-in capture source Add line-in to the list of LG LW20 capture sources. Also fix the LG LW pin assignment list comment. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cac19c3ba123369b7c1199e20bb01fb265004ff5 Author: Thibault Le Meur Date: Fri Jul 13 11:50:23 2007 +0200 [ALSA] usb-audio - Fix AC3 with M-Audio Audiophile USB Fixed AC3 interface in device_setup=0x00 mode thanks to Hakan Lennestal and updated documentation Signed-off-by: Thibault Le Meur Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1b290a510c12be91b6a2f7d6a07ef61b8ee9f06a Author: Matthew Ranostay Date: Thu Jul 12 15:17:34 2007 +0200 [ALSA] hda: stac9202 mixer fix Added support for line out controls for STAC9202 cards, and fixed issue where master mixer control was being created twice for headphone and speaker outs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 82fb159aa3d187aac0fce076739d7d8884e7a0af Author: Matt Reimer Date: Thu Jul 12 12:27:24 2007 +0200 [ALSA] Make s3c24xx_i2s_set_clkdiv() change the correct bits Make s3c24xx_i2s_set_clkdiv() change the correct bits. Signed-off-by: Matt Reimer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ef2ec0dd65bc542f9ab45ea2fac6920cb1afa13b Author: Claudio Matsuoka Date: Thu Jul 12 11:27:37 2007 +0200 [ALSA] hda-codec - Add LG LW20 si3054 modem id Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f8c78b82b9e47d933629e7060e4a83a277b15ffe Author: Thibault Le Meur Date: Thu Jul 12 11:26:35 2007 +0200 [ALSA] usb-audio - Fix audiophile-USB quirk for little-endian Audiophile-usb fix (corrects little-endianness in 16bit modes, resets interfaces at device initialization, and updates the documentation). Signed-off-by: Thibault Le Meur Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit be38114a49853e441e694d690e631937de5fc524 Author: Claudio Matsuoka Date: Wed Jul 11 10:31:08 2007 +0200 [ALSA] hda-codec - Add VIA HDA to si3054 Add VIA HDA identification to use the HDA-based Motorola modem of the Clevo m540 laptop. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2dcd522f89d17936d08665c22ab0ee415b8c5d56 Author: Tobin Davis Date: Tue Jul 10 17:04:57 2007 +0200 [ALSA] HDA-Intel - Add support for MSI K9AGM2-FIH motherboard This patch adds support for the MSI K9AGM2-FIH on-board audio. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cfc24ec89b488eeb5dfe4189761205fca38eb58e Author: Ritesh Raj Sarraf Date: Tue Jul 10 13:03:57 2007 +0200 [ALSA] USB ID for intergrated quickcam on dell xps m1210 This patch adds Logitech QuickCam USB ID for Dell's XPS M1210 notebooks. Signed-off-by: Ritesh Raj Sarraf Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 706568967c7d99a5975b2a21aacd791dc838ea8c Author: Adrian Bunk Date: Tue Jul 10 11:34:32 2007 +0200 [ALSA] fix SND_CS5530=y, ISA=n compilation This patch fixes the following compile error with CONFIG_SND_CS5530=y, CONFIG_ISA=n: <-- snip --> ... LD .tmp_vmlinux1 sound/built-in.o: In function 'snd_sb16_capture_trigger': sb16_main.c:(.text+0x212ad): undefined reference to 'snd_sbdsp_command' sb16_main.c:(.text+0x212cc): undefined reference to 'snd_sbdsp_command' sb16_main.c:(.text+0x212f7): undefined reference to 'snd_sbdsp_command' sound/built-in.o: In function 'snd_sb16_playback_trigger': sb16_main.c:(.text+0x2136d): undefined reference to 'snd_sbdsp_command' sb16_main.c:(.text+0x2138c): undefined reference to 'snd_sbdsp_command' ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f95474ec05106a2af46220fbf8624adc17fcb3e7 Author: Takashi Iwai Date: Tue Jul 10 00:47:43 2007 +0200 [ALSA] hda-codec - Fix default pin config of Abit AW9D-MAX Fix the default pin configuration of Abit AW9D-MAX. The board has a broken BIOS that doesn't set the correct pin default configs, which screws up the auto-configuration of snd-hda-intel driver. The patch enables the override of default pin config values. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 341d4eb0cffdcd5fbdbd696dc26671f91e7c418c Author: Takashi Iwai Date: Mon Jul 9 17:53:18 2007 +0200 [ALSA] hda-codec - Fix Toshiba A100 with ALC861 One of the newly added model entries causes a regression on Toshiba A100. It works fine with model=auto. So, let's deselect the entry again. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c34532da91c208bd5567419984ea6a4bf60dad60 Author: George Shapovalov Date: Mon Jul 9 10:42:35 2007 +0200 [ALSA] usb-audio: another Logitech camera/microphone ID match From: George Shapovalov Another case of ALSA ticket #3040: we need an explicit USB ID match for another Logitech camera/microphone device. Signed-off-by: Daniel Drake Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f167684a6454183d41588982ed26e4c6ee6feb48 Author: Takashi Iwai Date: Mon Jul 9 10:39:44 2007 +0200 [ALSA] usbaudio - Add quirk for Roland EXR series Added a quirk for Roland EXR series. Reported by Andre Coetzee. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d20b9b20e5f3bb82a6f38583154cb2f163d465d7 Author: Takashi Iwai Date: Mon Jul 9 10:36:22 2007 +0200 [ALSA] aica - fix behaviour in poor resource conditions Fix behaviour in poor resource conditions. With this new patch, tidied with indent and with SNDRV_PCM_TRIGGER_STOP being used. Signed-off by: Adrian McMenamin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 43bbb6ccc67775b432c31d5fd2e1050329ffdcbf Author: Takashi Iwai Date: Fri Jul 6 20:22:05 2007 +0200 [ALSA] hda-intel - Show the last command in warning messages Show the last issued command in warning messages when any communication error with CORB/RIRB occurs. Also, a bit code clean-up for composing the command value in *_send_cmd(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a4eed138add1018846d17e813560b0c7c0ae8e01 Author: Takashi Iwai Date: Fri Jul 6 18:17:04 2007 +0200 [ALSA] hda-codec - Fix number of pin widgets with STAC codecs Use ARRAY_SIZE() to calculate the number of pin widgets for each codec chip. This also fixes a typo in STAC9205 code that gives a wrong number (14 instead of 12), which resulted in fatal communication errors. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 47a2327eac01fa944ab935fc5bb03c3032b2ec37 Author: Robert P. J. Day Date: Fri Jul 6 13:27:16 2007 +0200 [ALSA] Remove unreferenced header file include/sound/wavefront_fx.h Signed-off-by: Robert P. J. Day Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1a7fa543cb5d8185d293a03842b33136d8dcc04c Author: Takashi Iwai Date: Fri Jul 6 12:27:25 2007 +0200 [ALSA] Fix substream to check in PCM drain The check of a substream in snd_pcm_drain() might not be always correct since runtime can point a different substream (although the PCM state of each linked substream should be same, in theory). This patch fixes it. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 940d244851f8a204b5aedae678d9ab96c20b2fec Author: Takashi Iwai Date: Fri Jul 6 12:24:55 2007 +0200 [ALSA] Add missing model entries for HD-audio codecs Added missing model entries for HD-audio codecs in the module option list. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0f40502e0b5300a37c4cfc7bf93f84c2702dbbe9 Author: Takashi Iwai Date: Fri Jul 6 12:24:11 2007 +0200 [ALSA] hda-codec - Add missing model parameter strings for ALC262 Added the missing model option values for ALC262. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cdb0e9a7af3ad34f3f879fda9251039c4cad3403 Author: Claudio Matsuoka Date: Fri Jul 6 12:11:22 2007 +0200 [ALSA] Update Claudio's CREDITS information Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8341de60c76c400eaa453c91810ba6995d2fdb57 Author: Claudio Matsuoka Date: Fri Jul 6 12:10:45 2007 +0200 [ALSA] hda-codec - Add HP Lucknow 5.1 support Added HP Lucknow (ALC888) 5.1 surround support based on ALC883 6-channel threestack with changes in channel routing. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cd1e3b40429c172b29c04a9c777be2ca1ac012e0 Author: Claudio Matsuoka Date: Fri Jul 6 12:10:01 2007 +0200 [ALSA] hda-codec - Fix HP Nettle 5.1 output Fixed HP Nettle 6ch/8ch channel routing based on ALC883 sixstack and swapping rear and center/LFE in verbs and mixer settings. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1624cb9a35d4276c8ea0d939d580a6945ac72ac1 Author: Takashi Iwai Date: Thu Jul 5 13:10:51 2007 +0200 [ALSA] hda-codec - Fix the recording selection on VAIO laptop Fix the mismatch of init verb and capture mux with VAIO STAC9872. Also, changed the item names to be more intuitive. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 067b5a844c7b9703b0bdcd8cf003a621734c3bae Author: Kailang Yang Date: Thu Jul 5 12:35:15 2007 +0200 [ALSA] hda-codec - Fix ALC662 auto mode Fixed ALC662 auto mode, wrong NIDs were chosen. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 83c34218a867085f7108438408c8323b46dbfc4a Author: Kailang Yang Date: Thu Jul 5 11:43:05 2007 +0200 [ALSA] hda-codec - Some fixes for Realtek codec supports - Added BenQ T31-16 AMD Turion64x2 (ALC262) support - Added models for ASUS machines with ALC861 Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0a8c5da3c066a1e92a66a493e6fe04d5ce7a206d Author: Claudio Matsuoka Date: Wed Jul 4 15:17:38 2007 +0200 [ALSA] hda-codec - Fix 5.1 output in LG LW20 Implemented LG LW20 5.1 support based on ALC880 threestack modes. It was previously set to use one DAC and 2 jack modes, giving 2-channel output only. Analog CD playing support is still missing. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4210861964145617cf27b2b9c45860bff3e8290c Author: Paul Vojta Date: Wed Jul 4 10:35:29 2007 +0200 [ALSA] nm256 - Add mention of opl3sa2 to a diagnostic message Adds mention of opl3sa2 driver to a diagnostic message for NeoMagic nm256 driver. Signed-off-by: Paul Vojta Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4700418cfc045296ee453342dc2fb142dc752aed Author: Paul Vojta Date: Wed Jul 4 10:34:22 2007 +0200 [ALSA] opl3sa2 - Add Neomagic MagicWave 3D ISA PnP ID Add Neomagic MagicWave 3D to list of supported devices for opl3sa2 driver. Signed-off-by: Paul Vojta Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8f41b56645f03e6f50407211d6f0f0627ae95e4e Author: Claudio Matsuoka Date: Tue Jul 3 20:02:49 2007 +0200 [ALSA] hda-codec - Add support for HP Nettle Added the model for HP Nettle mobo with ALC883. From: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8481da5a8d009d9bbac3d1483b579940e6dd9d59 Author: Claudio Matsuoka Date: Tue Jul 3 20:05:19 2007 +0200 [ALSA] hda-codec - Add support for HP Spartan Added the model for HP Spartan with Conexant codec chip. From: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 95093a23b9090025f8a6be0ac93859210fbba678 Author: Claudio Matsuoka Date: Tue Jul 3 20:07:39 2007 +0200 [ALSA] usb-audio - Add quirk for Roland Juno-G Added a quirk for Roland Juno-G. It's simply a copy of Fantom-X with the IDs changed. From: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c454fd4e888dc2b1423b6a65106a619e99a2deb4 Author: Masakazu Mokuno Date: Tue Jul 3 12:54:49 2007 +0200 [ALSA] Add PS3 sound driver The patch adds the support for the sound feature of PS3 - the digital output of HDMI and SPDIF optical, and the analog output of AV multi. Signed-off-by: Masakazu Mokuno Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 87823090a8bd373f34bdb6f1d5cdc5f2f4da4905 Author: Carlo Beccaria Date: Tue Jul 3 08:04:25 2007 +0200 [ALSA] usb-audio: add Roland SH-201 support Add quirks to detect the Roland SH-201. Signed-off-by: Carlo Beccaria Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit df802952b723cdb08f2f8a3cba396c357290850b Author: Takashi Iwai Date: Mon Jul 2 19:18:00 2007 +0200 [ALSA] hda-codec - Fix the error in DAC assignment of STAC codec The STAC codec support code has the automatic recognition of additional side-output pins, and this may result in an error when the assigned pin has no corresponding DAC connection. The patch fixes the problem -- it corrects the line_outs again without such additional pins. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d10ad1a26da03fe089c02846a95fa5938c3ca3ce Author: Adrian Bunk Date: Mon Jul 2 16:03:12 2007 +0200 [ALSA] sound/pci/hda/patch_realtek.c: remove dead code This patch removes some dead code spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3c2b576d58b4542b1adc56cbfb92dbfa5eef89ee Author: Randy Dunlap Date: Wed Jun 27 11:52:39 2007 +0200 [ALSA] portman2x4 section mismatch FIx section mismatch when CONFIG_HOTPLUG=n: WARNING: sound/built-in.o(.exit.text+0x271): Section mismatch: reference to .init.text:snd_p ortman_unregister_all (between 'snd_portman_module_exit' and 'alsa_mpu401_uart_exit') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 076c0e4fd80a43f64710fe9aabdc4c463b7f8621 Author: Randy Dunlap Date: Tue Jun 26 11:43:52 2007 +0200 [ALSA] fix ensoniq section mismatch Fix ensoniq driver sections when HOTPLUG=n, but code is used during resume, so it cannot be discarded: WARNING: sound/pci/snd-ens1371.o(.text+0x5c0): Section mismatch: reference to .init.text: (between 'snd_ensoniq_chip_init' and 'snd_ensoniq_free') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f8f794ab27dd3c6d9965ec5434775ead23d3d7a2 Author: Tobin Davis Date: Mon Jun 25 12:14:25 2007 +0200 [ALSA] HDA - Change default configuration for Fujitsu Si3515 This patch changes the default configuration for the Fujitsu Siemens Si3515 Laptop to the correct model=laptop. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6963f84c428ecd31780c97224004c2462b0664f7 Author: Mike Crash Date: Mon Jun 25 12:12:51 2007 +0200 [ALSA] hda: support for S/PDIF out on ASUS M2V Added support for S/PDIF digital output on ASUS M2V motheboard - added new model '3stack-660-digout' and ALC660VD_3ST_DIG Signed-off-by: Mike Crash Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e65365de5ba280e058bd6b8b80c8790253268887 Author: Takashi Iwai Date: Mon Jun 25 12:09:32 2007 +0200 [ALSA] Fix invalid schedule_timeout_interruptible() Fixed the invalid use of schedule_timeout_interruptible() without checking pending signals. Simply replaced with schedule_timeout(). Suggestions thanks to Jeff Garzik. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c12aad6efbee1d937438f1deabbef695add0628b Author: Randy Dunlap Date: Mon Jun 25 12:08:01 2007 +0200 [ALSA] more section mismatches Something about __init_or_module isn't working as expected (?). CONFIG_HOTPLUG=y CONFIG_MODULES=n Fix shared init/exit code helper: WARNING: sound/built-in.o(.exit.text+0x243): Section mismatch: reference to .init.text: (between 'alsa_card_mpu401_exit' and 'ac97_bus_exit') WARNING: sound/built-in.o(.exit.text+0x21b): Section mismatch: reference to .init.text: (between 'alsa_card_dummy_exit' and 'alsa_card_serial_exit') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bdec0c728256e1a3739820e244a5138bcfae5a91 Author: Randy Dunlap Date: Mon Jun 25 12:07:38 2007 +0200 [ALSA] fix section mismatch Fix shared init/exit function attributes: WARNING: sound/built-in.o(.exit.text+0x4a1): Section mismatch: reference to .init.text: (between 'alsa_card_virmidi_exit' and 'alsa_card_serial_exit') WARNING: sound/built-in.o(.exit.text+0x4c1): Section mismatch: reference to .init.text: (between 'alsa_card_serial_exit' and 'ac97_bus_exit') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0ac8551ea08e655fc6f35874803f091a17dacf90 Author: Takashi Iwai Date: Wed Jun 20 15:46:13 2007 +0200 [ALSA] hda-codec - Add AD1882 codec support Added AD1882 codec support. It has currently two models, 3stack and 6stack. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e25c05f1d5cf4e332db88b15e9daa1cabd6e17e0 Author: Jonathan Phenix Date: Tue Jun 19 18:31:28 2007 +0200 [ALSA] hda-codec - Output MFG information for HDA devices This patch output information about the MFG (Modem Function Group) to the /proc/asound/card?/codec#? file. This information is important to identify if a HDA device has a modem or not. Signed-off-by: Jonathan Phenix Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 92a22beb756c53985e8ba98d39f2c8fc834557a4 Author: Matthew Ranostay Date: Tue Jun 19 16:48:28 2007 +0200 [ALSA] hda: add eapd support to additional idt codecs Added support for EAPD on the 927x, and 9227-8 IDT HDA codecs. Enabling EAPD powers the internal speaker amp otherwise there is no sound on systems with an internal amp. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 76c08828709129bdce6c6a325e0342ba73f2618f Author: Takashi Iwai Date: Tue Jun 19 12:17:42 2007 +0200 [ALSA] hda-codec - Add model dell for Dell XPS M1210 Added a new model 'dell' for Dell XPS M1210 with STAC922x codec chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b69f3748400517d1023337b97456a0a1cdc74a79 Author: Tobin Davis Date: Tue Jun 19 12:13:32 2007 +0200 [ALSA] hda-codec - Add Fujitsu Siemens v3515 support to patch_conexant This patch adds support for the Fujitsu Seimens Amilo Pro v3515 notebook. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2723f2a46823465f24b91cca0ace1e1389fe3507 Author: Graeme Gregory Date: Tue Jun 19 12:12:33 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - lm4857-h missing patch Somewhere when dealing with the s3c24xx patches and requested changes I managed to miss this file on re-submission. Its a header file required for compilation of neo1973-wm8573.c and should be a no brainer. Signed-off-by: Graeme Gregory Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c87286fdcb67f796cc9477a9bc1a2f1e173d99f Author: Takashi Iwai Date: Tue Jun 19 12:11:16 2007 +0200 [ALSA] hda-codec - Fix ALC662 auto-configuration code The auto-configuration code didn't initialize the verbs correctly. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a18519e1e4783628182743e6cca5f9dfa6a9e3bd Author: Takashi Iwai Date: Thu Jun 14 12:58:23 2007 +0200 [ALSA] hda-codec - Add model for Toshiba A135 Added model=lenovo for Toshiba A135 with ALC861VD codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit febe3375ea690a6cf544c33fa0fea1a06ff451ee Author: Tobin Davis Date: Tue Jun 12 11:27:46 2007 +0200 [ALSA] hda-codec - Add HP Pavillion quirk to Realtek code This patch adds the HP Pavillion a1589L desktop system to the ALC883 configuration table. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1c3973240b94a48766b7bfe743a4fcaad4eab3eb Author: Andrew Morton Date: Mon Jun 11 12:23:31 2007 +0200 [ALSA] ali5451 warning fix sound/pci/ali5451/ali5451.c: In function 'snd_ali_prepare': sound/pci/ali5451/ali5451.c:716: warning: 'R2' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 13d457094bc364e942884266036fd1b2ab74308b Author: Pavel Hofman Date: Mon Jun 11 12:21:20 2007 +0200 [ALSA] emu10k1 - EMU 1212 with 16 capture channels * adding 8 more 32-bit capture channels (total of 16) for emu1010 cards * adding some code comments and card details description Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 15cc4458c5c93bd5a616410815d5d165f0fe0900 Author: Peer Chen Date: Fri Jun 8 13:55:10 2007 +0200 [ALSA] Add the MCP73/77 support to hda_intel driver Add the MCP73/MCP77 support to hda driver. The patch base on kernel 2.6.22-rc4 Signed-off-by: Peer Chen Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b959d1f83fc9cb707aef86ccb3f65e20f9572428 Author: Takashi Iwai Date: Fri Jun 8 12:25:25 2007 +0200 [ALSA] hda-codec - Fix Thinkpad X61/T61 outputs Enable EAPD bit on Thinkpad X61/T61. The recent model requires it explicitly to make any sounds. In future, it should be toggled automatically on demand. Also, added a beep volume/switch. Some people like it although I don't understand why :) Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bc55197d5a19a58c63f826dbd326da70e97b88f8 Author: Manuel Lauss Date: Fri Jun 8 11:41:34 2007 +0200 [ALSA] soc/sh: let SND_SOC_PCM_SH7760 depend on SH_DMABRG Let SND_SOC_PCM_SH7760 depend on SH_DMABRG rather than select'ing it. Gets rid of the Kbuild warning about SH_DMABRG being undefined on non-sh builds. Signed-off-by: Manuel Lauss Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6f3bf657edf9c592cf9d92e07ab385bb0ede48c5 Author: Daniel T Chen Date: Fri Jun 8 11:39:35 2007 +0200 [ALSA] hda-codec - Add quirk for another MSI laptop to alc883_cfg_tbl[] This hg commit adds the SSID of another MSI laptop to the alc883_cfg_tbl[] quirk list. Verified in #alsa/Freenode on Thu, Jun 7, 2007. Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 35739bb179386cf52c13d0779a42ecfe18dedf7e Author: Dave Jones Date: Wed Jun 6 14:48:52 2007 +0200 [ALSA] Yet another Uniwill laptop with ALC861 codec From: Dave Jones Rediffed version of the patch from .. http://bugzilla.kernel.org/show_bug.cgi?id=8016 that seems to be lingering for some time. Original patch by: Andy Shevchenko Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a361d84bfcd938208dea6c84aa19994b3d69e15d Author: Kailang Yang Date: Tue Jun 5 12:30:55 2007 +0200 [ALSA] hda-codec - Add support of ALC268 codec Added the support of new ALC268 codec chip. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7d87de2db2213e6e9413532445b14c92dae42c85 Author: Kailang Yang Date: Tue Jun 5 12:17:21 2007 +0200 [ALSA] hda-codec - Add proper model for HP xw series Set the proper model for HP xw4550, xw4600, xw6600 and xw8600. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 538c49c41bf5a0a739ad2a5417ec25e060ee9d9e Author: Takashi Iwai Date: Tue Jun 5 12:13:34 2007 +0200 [ALSA] hda-codec - Fix AD1984 basic model Fix the amp direction of digital mic capture volume mixer, which resulted in -EINVAL. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1919de0a9e939ef4f9453ef1630ca1345991e144 Author: Alan Horstmann Date: Mon Jun 4 23:11:23 2007 +0200 [ALSA] More description on duplex streams with OSS emulation Add paragraph to the OSS document to clarify correct use of duplex streams. Signed-off-by: Alan Horstmann Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3b194401a31b8df9a07a1850e3fe44fc7ba832a4 Author: Takashi Iwai Date: Mon Jun 4 18:32:23 2007 +0200 [ALSA] hda-codec - Fix Oops with AD1984 thinkpad model Fixed Oops with AD1984 thinkpad model. Also fixed the wrong init verbs for NID 0x03 and 0x04, which have apparently no mute bit. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 304e3bb7a15d839cef64b24a1bcc1230b2ae6fa6 Author: Takashi Iwai Date: Wed May 30 12:46:21 2007 +0200 [ALSA] rme9652 - Fix the hw_pointer check The negative check in hw_pointer callback doesn't work because the value is unsigned. Cast to int in the comparison to fix this. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ba8c3c37db0d6bf5e6de25016975ebfb558d2aba Author: Takashi Iwai Date: Wed May 30 12:42:31 2007 +0200 [ALSA] ali5451 - Fix invalid type of codec->irq field The irq field of struct snd_ali shouldn't be unsigned since it's uninitialized value is -1. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 807a463603a2e014f36e88317aa5e07c15887fcd Author: Takashi Iwai Date: Tue May 29 19:01:37 2007 +0200 [ALSA] hda-codec - Fix STAC922x capture boost level STAC922x provides the capture boost level up to 4, but actually it works only up to 2. Since the range of the mixer is automatically defined from amp-capability bits, we need to override the value beforehand. snd_hda_override_amp_caps() is introduced for this purpose. The function patch_stac922x() calls this for NID 0x12 (Mux Capture Volume). This should fix another recording problem on Intel Macs. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5d5d3bc3eddf2ad97b2cb090b92580e7fed6cee1 Author: Ivan N. Zlatev Date: Tue May 29 16:03:00 2007 +0200 [ALSA] hda-codec - Fix pin configs for Intel Macs * adds the pinconfigs for all 5 Apple boards and 14 Subsystem IDs (support for possibly all iMac, Mac, MacMini etc etc) * adds 'intel-mac-v1' to v5 models which replace the current * reflects changes in Alsa-Configuration.txt Signed-off-by: Ivan N. Zlatev Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 65ff2357a7e40bf4b42858516861c3d0e19f512b Author: Ash Willis Date: Tue May 29 14:34:17 2007 +0200 [ALSA] Disable debugging output for the ALS300 driver Disables debugging output in the ALS300 driver. Also contains a whitespace cleanup and a fix for a potential bug. Signed-off-by: Ash Willis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dda369cf2022fb767b158c4ba2fe2f1ca1fba29c Author: Takashi Iwai Date: Fri May 25 11:50:33 2007 +0200 [ALSA] Fix SB-module dependency with PCI drivers A few PCI drivers like ALS4000 and CS5530 require the SB16-codes. This patch fixes / improves the dependency between SB modules and PCI drivers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 621887aee9c7b4b613c12b82b83df7e56877f303 Author: Takashi Iwai Date: Thu May 24 18:46:54 2007 +0200 [ALSA] Add support for Cyrix/NatSemi Geode CS5530 (VSA1) Add support for Cyrix/NatSemi Geode SC5530 (VSA1). The driver is snd-cs5530. Signed-off-by Ash Willis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0ba7962b9f06c02dd1af93002e8d757805d16758 Author: Takashi Iwai Date: Wed May 23 16:27:32 2007 +0200 [ALSA] hda-codec - Fix wrong mixer controls for AD1984 thinkpad model Fixed the wrong mixer controls for AD1984 thinkpad model. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0dae0f83cd9956d0959f6d6de9f5391da6483274 Author: Takashi Iwai Date: Mon May 21 12:41:29 2007 +0200 [ALSA] hda-codec - Add support of newer version of Intel iMac Added the pin configs for newer version of Intel iMac. The information provided by Ivan N. Zlatev . Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ea7cfcdfe6439cd98816da9d339a6bc9032d2084 Author: Pavel Hofman Date: Sat May 19 17:21:04 2007 +0200 [ALSA] ice1724 - Add PCM Playback Switch to Revo 7.1 This patch adds the support of mute for front channels of M-Audio Revolution 7.1 (the DAC AK4381 features a mute bit). Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 959047431a9e65f6ae25705e77a8e460a1aa04c0 Author: Takashi Iwai Date: Sat May 19 17:06:42 2007 +0200 [ALSA] Add description about probe_mask option for snd-hda-intel Added a brief description about probe_mask option for snd-hda-intel. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2bac647c45ed9b397ace9109e6935c1364690f8a Author: Takashi Iwai Date: Fri May 18 18:21:41 2007 +0200 [ALSA] hda-codec - Add AD1884 / AD1984 codec support Added the support of AD1884 and AD1984 codec chips. Also experimental quirks for Thinkpad T61/X61 laptops with AD1984. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 198de43d758ca2700e2b52b49c0b189b4931466c Author: Adrian McMenamin Date: Fri May 18 14:26:59 2007 +0200 [ALSA] Add ALSA support for the SEGA Dreamcast PCM device ALSA support for the SEGA Dreamcast Yamaha AICA sound device (pcm) This patch adds ALSA sound support for pcm playback on two channels on the SEGA Dreamcast built-in sound device (the Yamaha AICA) Add driver for the AICA sound device built into the SEGA Dreamcast Hook it all up with the build system. Signed-off-by: Adrian McMenamin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit aef3b06ac69783d6a6d1e4357c62bab46dd16141 Author: Manuel Lauss Date: Mon May 14 18:40:07 2007 +0200 [ALSA] SH7760 ASoC support ALSA ASoC support for SH7760 This patch adds ALSA ASoC drivers for the Audio interfaces of the SH7760 SoC: Add driver for the SH7760 DMA engine (dmabrg) Add AC97 driver for HAC unit(s) found on SH7760/SH7780 Add I2S driver for SSI unit(s) found on SH7760/SH7780 Add a generic SH7760-AC97 machine driver. Hook it all up with the build system. Signed-off-by: Manuel Lauss Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 80ab1c0e9ea90467e34dd3187b1d8162e8be314b Author: Graeme Gregory Date: Mon May 14 11:06:11 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - Kconfig This patch adds Kconfig and build support for the Neo1973, SMDK2443 and S3C2443 AC97 ALSA audio drivers. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7a05f067c0da139613cbe74583bb7d208a5f87b9 Author: Liam Girdwood Date: Mon May 14 11:05:09 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - I2C ID for LM4857 This patch adds I2C ID for the LM4857 audio amp and corrects the spacing of the WM8731, WM8750 and WM8753 ID's. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 438b76ad816ef7d8e523d7b10d113eeb0b9932b2 Author: Graeme Gregory Date: Mon May 14 11:04:34 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - SMDK 2443 This patch adds ALSA support for the SMDK2443 reference board. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 74930bb6db56bcc9899723c6c79fe681524e5b62 Author: Graeme Gregory Date: Mon May 14 11:03:52 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - Openmoko Neo1973 This patch adds ALSA support for the Openmoko Neo1973 phone. Features:- * HiFi Playback and capture. * Phone calls supported. * Support for BT PCM in WM8753 voice interface. * Support for LM4857 audio amp. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 050f05eaec1c7c5434c78d010ada3cfeb7d0b3b3 Author: Graeme Gregory Date: Mon May 14 11:02:51 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - s3c2443-AC97 This patch adds AC97 support to the Samsung S3C2443 CPU. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c111b8de975a357ff58e73047e9af48afacf2347 Author: Richard Knutsson Date: Mon May 14 10:38:57 2007 +0200 [ALSA] usbusx2yaudio: kfree(NULL) is valid if (!x) kfree(x); is not needed since kfree(NULL) is valid. Signed-off-by: Richard Knutsson Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 500bec3d2ba4787e6ab110d159b2926093c27304 Author: Daniel Drake Date: Thu May 10 08:52:19 2007 +0200 [ALSA] usb-audio: another Logitech QuickCam ID This patch adds the ID for another quickcam microphone, reported by freqmod on ALSA ticket #0003040 I'm going to submit a USB patch separately to provide a macro to simplify these entries, as suggested by Alan Stern. We could switch to using that in future. Signed-off-by: Daniel Drake Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 101f6f4ba7109aafd7b3f2eafd7124f854dda451 Author: Takashi Iwai Date: Wed Jun 20 12:03:09 2007 +0200 [ALSA] Fix unfreed pnp driver in opti9xx ISA driver - Added the missing pnp_unregister_card_driver() in the case ISA PnP isn't found, which caused an error at kobject_add with -EEXIST Jun 11 09:07:31 rain kernel: kobject_add failed for opti9xx with -EEXIST, don't try to register things with the same name in the same directory. Jun 11 09:07:31 rain kernel: [] kobject_shadow_add+0x12a/0x1c0 Jun 11 09:07:31 rain kernel: [] kobject_register+0x21/0x50 Jun 11 09:07:31 rain kernel: [] bus_add_driver+0x72/0x1b0 Jun 11 09:07:31 rain kernel: [] pnp_register_card_driver+0x4f/0xc0 Jun 11 09:07:31 rain kernel: [] alsa_card_opti9xx_init+0xa/0x25 [snd_opti92x_ad1848] Jun 11 09:07:31 rain kernel: [] sys_init_module+0x157/0x1610 Jun 11 09:07:31 rain kernel: [] syscall_call+0x7/0xb - Fixed the probe behavior when no PnP is set up. Now it behaves like the former version. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 26c671c6b7c02bc9f9c42331e6ecbeccdf67164c Author: Uwe Kleine-König Date: Thu Jul 19 22:13:05 2007 +0100 [ARM] 4493/1: ns9xxx: disable a non-reloading timer before ack'ing its irq The HRM states that is must be done this way ... Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 3945a567d0c1d6721994a88f58f028c27d8249d2 Author: Uwe Kleine-König Date: Tue Jul 17 22:36:09 2007 +0100 [ARM] 4487/1: ns9xxx: complete definition of GPIO related registers I changed the naming to be more obvious---unfortunately the HRM doesn't specify these. Moreover the numbering is changed to be zero indexed as this is more natural. Adjust all callers. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit f4ae6413f4d4889c8bf3fb90939d967ced65ece7 Author: Uwe Kleine-König Date: Tue Jul 17 22:35:52 2007 +0100 [ARM] 4486/1: ns9xxx: fix a typo in the register definitions. Fixed all users. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit cebfaf5f1c4dcf9456463c8411ae869f3c03619f Author: Uwe Kleine-König Date: Tue Jul 17 22:35:34 2007 +0100 [ARM] 4485/1: ns9xxx: pass the correct irq number to the interrupt handlers Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 70ca7d55e1e10a5b654295b04dc8854e245a352f Author: Uwe Kleine-König Date: Tue Jul 17 22:35:14 2007 +0100 [ARM] 4484/1: ns9xxx: fix definition of SYS_TCx_TEN_DIS Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit aa4db079f7c4cf389fc25f78b943589b4a6401de Author: Uwe Kleine-König Date: Tue Jul 17 22:34:28 2007 +0100 [ARM] 4483/1: ns9xxx: fix three sparse warnings: symbol 'xyz' was not declared. make ns9xxx_ack_irq_functions static and add one include to get declarations for ns9xxx_map_io and ns9xxx_init_machine. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 3f20246bb67594acae5a82a8b859f21579b0ff07 Author: Uwe Kleine-König Date: Tue Jul 17 22:33:18 2007 +0100 [ARM] 4482/1: ns9xxx: fix compilation for mach-type CC9P9360JS I must have written the patch introducing support for this machine deep in the night... Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit e09d02e123fb6944af23a0697369ebcfc15acf73 Author: Eric Miao Date: Tue Jul 17 10:45:58 2007 +0100 [ARM] 4480/1: pxa: change the pxa device naming scheme 1. for common devices across all the pxa variants, the names are changed to be: "pxa_device_xxx" 2. for pxa25x or pxa27x specific devices, the names are changed to be: "pxa25x_device_xxx", or "pxa27x_device_xxx" Signed-off-by: eric miao Signed-off-by: Russell King commit 4b300c362d690c8e0788f69ed91c22a0a76f7ce2 Author: Sascha Hauer Date: Tue Jul 17 13:35:46 2007 +0100 [ARM] 4481/1: Fix a bug when i.MX is compiled as a module Fix the unregistration order in the i.MX serial driver Signed-off-by: Sreekrishnan Venkateswaran Acked-by: Sascha Hauer Signed-off-by: Russell King commit 5c9b9123b35e28dd7cb3012f3f8d4ea13a30631c Author: Tim Harvey Date: Sat Jul 14 11:15:05 2007 +0200 [ARM] ixp4xx: fix IRQ GPIO direction configuration for GPIOs >= 8 I believe that the following patch is necessary to properly configure GPIO line configuration for IRQ's which are mapped to a GPIO line >= 8 (without this patch the wrong GPIO is configured as an input.) Signed-off-by: Tim Harvey Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 3be20cad15107adc423ac812ac7b3330ca195c74 Author: Russell King Date: Sun Jul 15 12:21:37 2007 +0100 [ARM] ks8695: no need to include linux/ptrace.h arch/arm/mach-ks8695/irq.c doesn't need to include linux/ptrace.h so remove it. Signed-off-by: Russell King commit fad9e7d95769ff6c0918b79d58a7ba03615c3ff9 Author: Paul Mundt Date: Fri Jul 20 17:46:42 2007 +0900 sh64: Flag sh64_get_page() as __init_refok. sh64_get_page() wraps in to regular allocators as well as the bootmem allocator for fetching pages, it carefully checks to see which one it can use depending on the system state, so the access is safe. Signed-off-by: Paul Mundt commit 56982002a359533d471834f4398e3002aeb6fbbc Author: Paul Mundt Date: Fri Jul 20 17:45:05 2007 +0900 sh64: Move entry point code to .text.head. Follow the sh and m68k changes to silence the modpost warnings. Signed-off-by: Paul Mundt commit ed54fcfd785e8fecfbd8b129466235fc4ab0a402 Author: Andrew Victor Date: Mon Jul 16 11:55:42 2007 +0100 [ARM] 4479/1: AT91: Define new MMC register bits Add definitions for RDPROOF, WRPROOF and PDCFBYTE bits of the Mode Register in the updated MMC controller found on the AT91SAM9260 and AT91SAM9263 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c06911c00b2af93e498ba45200ad903929e71529 Author: Andrew Victor Date: Mon Jul 16 11:35:40 2007 +0100 [ARM] 4478/1: AT91: Convert AT91RM9200 to use atmel_spi driver Convert the AT91RM9200 platform-setup code to use the new atmel_spi driver (and manually-driven chip-selects), instead of the legacy AT91-only SPI stack. The AT91SAM9 processors are already using the atmel_spi driver. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 339547bf5de1212c9c7b89b0e0d69620709729d2 Author: Paul Mundt Date: Fri Jul 20 17:40:03 2007 +0900 sh: Move entry point code to .text.head. Follow Al Viro's m68k change from l-k: i.e. tell modpost that entry point code (that has to be outside of .init.text for external reasons) is OK to refer to .init.* Shuts up some section mismatch warnings from modpost. Signed-off-by: Paul Mundt commit 6a4d0287c7418b24dd776d8977edff2bfa706539 Author: Kristoffer Ericson Date: Sat Jul 7 17:45:10 2007 +0100 [ARM] 4459/1: Changing email in MAINTAINERS file Updating email adress in MAINTAINER file. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 228adef16d6e7b7725ef6b9ba760810d5966afa5 Author: Russell King Date: Wed Jul 18 09:37:10 2007 +0100 [ARM] vfp: make fpexc bit names less verbose Use the fpexc abbreviated names instead of long verbose names for fpexc bits. Signed-off-by: Russell King commit 21d1ca04532005c50ed57c2b2948e465b2e90720 Author: Russell King Date: Sun Jul 15 14:52:16 2007 +0100 [ARM] avoid floppy warnings by using fd_dma_setup() Avoid the virt_to_bus()/bus_to_virt() warnings in floppy.c caused by the (useless) double conversion to/from bus addresses. Signed-off-by: Russell King commit 1ad2cdbd0eaf0ddb3f634d10d01a2710b00b2051 Author: Russell King Date: Sun Jul 15 13:01:59 2007 +0100 [ARM] remove asm/ptrace.h from asm/thread_info.h asm/thread_info.h doesn't need asm/ptrace.h, remove it. Signed-off-by: Russell King commit 07ed31319422e82d50dfae7aebf88514d258b8f3 Author: Russell King Date: Sun Jul 15 12:51:41 2007 +0100 [ARM] rpc: silence two section mismatch warnings WARNING: drivers/built-in.o(.text+0x3fd54): Section mismatch: reference to .init.data: (between 'ether3_probe' and 'ether1_setmulticastlist') WARNING: drivers/built-in.o(.text+0x40380): Section mismatch: reference to .init.data: (between 'ether1_probe' and 'ether1_interrupt') Signed-off-by: Russell King commit 40c3a578a76ce0b20d1716e03b5a4b407ca9ca51 Author: Russell King Date: Sun Jul 15 12:48:57 2007 +0100 [ARM] shut up "warning: "__IGNORE_sync_file_range" redefined" Signed-off-by: Russell King commit 6accc0575c6b2105bf9b00bfc8cfee2cead3df6d Author: Russell King Date: Sun Jul 15 12:33:16 2007 +0100 [ARM] rpc: remove linux/ptrace.h from ARM ether?.c drivers Signed-off-by: Russell King commit 70c14ff0e9f5e1f5456587b827620e636ba70a09 Author: Dan Williams Date: Fri Jul 20 02:07:26 2007 +0100 [ARM] 4495/1: iop: combined watchdog timer driver for iop3xx and iop13xx In order for this driver to be shared across the iop architectures the iop3xx and iop13xx header files are modified to present a common interface for the iop_wdt driver. Details: * iop13xx supports disabling the timer while iop3xx does not. This requires a few 'compatibility' definitions in include/asm-arm/hardware/iop3xx.h to preclude adding #ifdef CONFIG_ARCH_IOP13XX blocks to the driver code. * The heartbeat interval is derived from the internal bus clock rate, so this this patch also exports the tick rate to the iop_wdt driver. Cc: Curt Bruns Cc: Peter Milne Signed-off-by: Dan Williams Acked-by: Wim Van Sebroeck Signed-off-by: Russell King commit bf73af2314702fcf44fb2a098244e3927f459531 Author: Paul Mundt Date: Fri Jul 20 17:35:42 2007 +0900 sh: heartbeat: Shut up resource size warning. Signed-off-by: Paul Mundt commit 7dea1b20066cd30fb54da7e686b16b5e38b46b2d Author: Dan Williams Date: Fri Jul 20 02:07:31 2007 +0100 [ARM] 4494/1: iop13xx: fix up elf_hwcap compile breakage arch/arm/boot/compressed/misc.o: In function `valid_user_regs': misc.c:(.text+0x74): undefined reference to `elf_hwcap' This triggers after the various elf_hwcap cleanups in: f884b1cf578e079f01682514ae1ae64c74586602 d1cbbd6b413510c6512f4f80ffd48db1a8dd554a include/asm-arm/arch-iop13xx/uncompress.h calls cpu_relax while spinning on a register value. cpu_relax requires processor.h->ptrace.h->hwcap.h 'elf_hwcap' is defined as an extern, but since the uncompressor does not link against arch/arm/kernel/setup.c 'elf_hwcap' remains undefined. Fix is to open code the cpu_relax() call as barrier(). Cc: Lennert Buytenhek Cc: Catalin Marinas Signed-off-by: Dan Williams Signed-off-by: Russell King commit a8135fcfd0431eda3653c7069e7aefc8674fdfbe Author: Arnaud Patard Date: Sun Jul 15 20:12:23 2007 +0100 [ARM] 4476/1: EM7210/SS4000E support This patch adds the basic support for the em7210 board. It is similar to the iq31244 board and can be found on Intel "Baxter Creek" ss4000e nas. Signed-off-by: Arnaud Patard Signed-off-by: Russell King commit ee54505199ad0d5819c613a68746d425a08fdc8f Author: Magnus Damm Date: Fri Jul 20 17:25:48 2007 +0900 sh: update r2d defconfig and fix SH7751R pci compliation This patch updates the r2d board support in a few ways: - CPU_SUBTYPE_SH7751R is selected in the defconfig to play well with the r2d board Kconfig entry. Without this the defconfig results in no board enabled. - Enable EARLY_PRINTK. - Enable SH_STANDARD_BIOS - this works well for early printk on the r2d board. - Add "earlyprink=bios" to the cmdline for early serial port output by default. - CONFIG_SUBTYPE_SH7751R support is added to the sh-specific pci makefile. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8350163a90f6003c9e60e8ebc0e00f654657645f Author: Alexey Dobriyan Date: Fri Jul 20 10:07:50 2007 +0200 cfq: Write-only stuff in CFQ data structures There are some leftover bits from the task cooperator patch, that was yanked out again. While it will get reintroduced, no point in having this write-only stuff in the tree. So yank it. Signed-off-by: Jens Axboe commit c2dea2d1fdbce86942dba0a968c523d8b7858bb5 Author: Vasily Tarasov Date: Fri Jul 20 10:06:38 2007 +0200 cfq: async queue allocation per priority If we have two processes with different ioprio_class, but the same ioprio_data, their async requests will fall into the same queue. I guess such behavior is not expected, because it's not right to put real-time requests and best-effort requests in the same queue. The attached patch fixes the problem by introducing additional *cfqq fields on cfqd, pointing to per-(class,priority) async queues. Signed-off-by: Jens Axboe commit 98d877c487a75af78f74780703aa6b174780788d Author: Paul Mundt Date: Fri Jul 20 16:59:49 2007 +0900 sh: Many symbol exports for nommu allmodconfig. allmodconfig generates a lot of interesting code, a lot of the generated symbols we've never exported before, so this fixes those up. Verified with both GCC3 and GCC4 toolchains. Signed-off-by: Paul Mundt commit 3a353824df7595165a162aee3b53e4d96e7dfa95 Author: Magnus Damm Date: Fri Jul 20 16:34:22 2007 +0900 sh: zero terminate 8250 platform data for r2d board struct plat_serial8250_port should contain a terminating zero entry Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6894e0a94350e8ba5c5c8342e916fde14df5fb43 Author: Paul Mundt Date: Fri Jul 20 16:03:02 2007 +0900 sh: cpufreq: Fix up the build for SH-2. Signed-off-by: Paul Mundt commit fc10020292c7a21d1c85a215fa266d4c7cf0f4eb Author: Paul Mundt Date: Fri Jul 20 14:24:57 2007 +0900 sh: Make on-chip DMA channel selection explicit. Currently this has a prompt to allow users to change it. There's no reason to do this, and it has caused breakage and confusion in the past, so remove it entirely. We'll get rid of this when the whole driver is tidied for the driver model. Signed-off-by: Paul Mundt commit 3e7678333a2b3bd89e3669535faa18d53a8fa054 Author: Paul Mundt Date: Fri Jul 20 14:23:04 2007 +0900 sh: Fix up CPU dependencies for on-chip DMAC. We only handle SH-3 and SH-4 at present, don't expose it to the other CPUs. Signed-off-by: Paul Mundt commit 78d00125398f18f7354e759ba7cd544a6b07f504 Author: David S. Miller Date: Thu Jul 19 21:50:09 2007 -0700 [SPARC64]: Fix two year old bug in early bootup asm. We try to fetch the CIF entry pointer from %o4, but that can get clobbered by the early OBP calls. It is saved in %l7 already, so actually this "mov %o4, %l7" can just be completely removed with no other changes. Signed-off-by: David S. Miller commit cb5ec75b8b0410bba4ae612d13a2f26e938bc49c Author: Paul Mundt Date: Fri Jul 20 13:38:19 2007 +0900 sh: cpufreq: clock framework support. This gets the SH cpufreq working again. We follow the changes in the AVR32 implementation for wrapping in to the clock framework. CPUs that wish to use this are required to define rate rounding primitives in order to satisfy clk_round_rate(). This works well enough for the common case, though we should look at unifying this driver across all of the platforms that implement clock framework support in one capacity or another. Signed-off-by: Paul Mundt commit cbc5a069373264dec320e887835390132c69b951 Author: David S. Miller Date: Thu Jul 19 21:30:56 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit fe04d7798f611bca333df27d44484bdd62eef53f Author: Paul Mundt Date: Fri Jul 20 13:30:07 2007 +0900 sh: Support rate rounding for SH7722 FRQCR clocks. Now that the round_rate() op is supported, hook it up on SH7722 for the FRQCR (CPU, PCLK, etc.) clocks. Signed-off-by: Paul Mundt commit 5a6eb676d3bc4d7a6feab200a92437b62ad298da Author: Soeren Sonnenburg Date: Fri Jul 20 00:29:32 2007 -0400 Input: appletouch - improve powersaving for Geyser3 devices The appletouch geyser3 devices found in the Intel Macs (and possibly some later PPC ones?) send a constant stream of packets after the first touch. This results in the kernel waking up around once every couple of milliseconds to process them, making it almost impossible to spend any significant amount of time in C3 state on a dynamic HZ kernel. Sending the mode initialization code makes the device shut up until it's touched again. This patch does so after receiving 10 packets with no interesting content. Signed-off-by: Soeren Sonnenburg Signed-off-by: Matthew Garrett Signed-off-by: Dmitry Torokhov commit e6b20d8d62d87451f41365945b27202d7dadaee6 Author: Dmitry Torokhov Date: Fri Jul 20 00:29:14 2007 -0400 Input: lifebook - fix an oops on Panasonic CF-18 Signed-off-by: Dmitry Torokhov commit f6991b0456416186b578d38717efcda2b012b79c Author: Paul Mundt Date: Fri Jul 20 13:29:09 2007 +0900 sh: Implement clk_round_rate() in the clock framework. This is an optional component of the clock framework. However, as we're going to be using this in the cpufreq drivers, add support for it to the framework. Signed-off-by: Paul Mundt commit 74121b699c7142cbf11b01212512a1824fbd5f19 Author: Fabio Massimo Di Nitto Date: Thu Jul 19 14:00:55 2007 -0700 [SPARC64]: Fix log message type in vio_create_one(). Signed-off-by: David S. Miller commit 5f7426c0e16dba118aa1b18f3c97c3d7adfb7540 Author: David S. Miller Date: Wed Jul 18 23:16:51 2007 -0700 [SPARC64]: Tweak assertions in sun4v_build_virq(). They are too strict. Signed-off-by: David S. Miller commit 2a26302164e0d26df94810ffa2eabcad0fc55c95 Author: David S. Miller Date: Wed Jul 18 21:18:50 2007 -0700 [SPARC64]: Tweak kernel log messages in power_probe(). Use KERN_INFO, add missing newline, etc. Signed-off-by: David S. Miller commit 91ba3c2128e9ee490a9f04bcd5b54749b18e4410 Author: David S. Miller Date: Wed Jul 18 15:15:45 2007 -0700 [SPARC64]: Fix handling of multiple vdc-port nodes. The "id" property in vdc-port nodes are not unique, they are all zero. Therefore assign ID's using the parent's "cfg-handle" property which will be unique. Signed-off-by: David S. Miller commit 48db7b7c50cdb06c85f0ff01b5c19ac34903048b Author: Fabio Massimo Di Nitto Date: Wed Jul 18 14:37:26 2007 -0700 [SPARC64]: Fix device type matching in VIO's devspec_show(). with the recent renames, we forgot to update the matches for devspec. This is required to keep udev working and autoload modules. Signed-off-by: David S. Miller commit da68e0814a83649f7063c33562f535b60396b566 Author: Fabio Massimo Di Nitto Date: Wed Jul 18 14:35:23 2007 -0700 [SPARC64]: Fix MODULE_DEVICE_TABLE() specification in VDC and VNET. Signed-off-by: David S. Miller commit bc5a2e64a185c4759a540becac34651443b2d2ab Author: David S. Miller Date: Wed Jul 18 14:28:59 2007 -0700 [SPARC]: Add sys_fallocate() entries. Signed-off-by: David S. Miller commit a376178011c9db0b704bb1f9b4719d873847362e Author: David S. Miller Date: Wed Jul 18 13:12:45 2007 -0700 [SPARC64]: Use orderly_poweroff(). Signed-off-by: David S. Miller commit 3f23de10f283819bcdc0d2282e8b5b14c2e96d3b Author: Stephen Rothwell Date: Thu May 3 02:38:57 2007 +1000 Create drivers/of/platform.c and populate it with the common parts from PowerPC and Sparc[64]. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit b41912ca345e6de8ec8469d57cd585881271e2b9 Author: Stephen Rothwell Date: Tue May 1 16:12:57 2007 +1000 Create linux/of_platorm.h Move common stuff from asm-powerpc/of_platform.h to here and move the common bits from asm-sparc*/of_device.h here as well. Create asm-sparc*/of_platform.h and move appropriate parts of of_device.h to them. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 37b7754aab9a6ad7ecbba45c87f8d8a1f81b3bcc Author: Stephen Rothwell Date: Mon Apr 30 17:43:56 2007 +1000 [SPARC/64] Rename some functions like PowerPC This is to make the of merge easier. Also rename of_bus_type. Signed-off-by: Stephen Rothwell Acked-by: David S. Miller commit bd5f0d1c256fdf286fab358a04e87476e3535075 Author: Paul Mundt Date: Fri Jul 20 13:22:47 2007 +0900 sh: Fix up PCI section mismatch warnings. Flag pcibios_setup() and pcibios_fixup_bus() as __devinit. Follows the sh64 change. Signed-off-by: Paul Mundt commit beeea6d6a1f9c39fbda3abdd2c528ba90422e4bf Author: Paul Mundt Date: Fri Jul 20 13:14:07 2007 +0900 sh64: Fix up PCI section mismatch warnings. pcibios_fixup_bus() and pcibios_setup() should be __devinit. Signed-off-by: Paul Mundt commit f898f8dbcec4848cddb8c5be2d0affd75779ebe2 Author: Stephen Rothwell Date: Tue May 1 16:49:51 2007 +1000 Begin consolidation of of_device.h This just moves the common stuff from the arch of_device.h files to linux/of_device.h. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit f85ff3056cefdf4635ebf98b30e9a7d86521567f Author: Stephen Rothwell Date: Tue May 1 16:40:36 2007 +1000 Begin to consolidate of_device.c This moves all the common parts for the Sparc, Sparc64 and PowerPC of_device.c files into drivers/of/device.c. Apart from the simple move, Sparc gains of_match_node() and a call to of_node_put in of_release_dev(). PowerPC gains better recovery if device_create_file() fails in of_device_register(). Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 207a130540b045d2dc7ce7becaa7a687b81548b9 Author: Paul Mundt Date: Fri Jul 20 12:39:54 2007 +0900 sh64: Update cayman defconfig. Signed-off-by: Paul Mundt commit 1ef4d4242d9c494c49ae1ae66dc938fce0272816 Author: Stephen Rothwell Date: Tue Apr 24 17:57:33 2007 +1000 Consolidate of_find_node_by routines This consolidates the routines of_find_node_by_path, of_find_node_by_name, of_find_node_by_type and of_find_compatible_device. Again, the comparison of strings are done differently by Sparc and PowerPC and also these add read_locks around the iterations. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit a13c16e847ee50d77546cffa596d3c573b3270b7 Author: Paul Mundt Date: Fri Jul 20 12:37:51 2007 +0900 sh64: Wire up fallocate() syscall. Signed-off-by: Paul Mundt commit d1cd355a5e44dfe993efc0c0458ca9f99a28a9a3 Author: Stephen Rothwell Date: Tue Apr 24 17:21:29 2007 +1000 Consolidate of_get_next_child This adds a read_lock around the child/next accesses on Sparc. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit e679c5f445fe142940e0962de9c5c82f10d9357c Author: Stephen Rothwell Date: Tue Apr 24 17:16:16 2007 +1000 Consolidate of_get_parent This requires creating dummy of_node_{get,put} routines for sparc and sparc64. It also adds a read_lock around the parent accesses. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 581b605a83ec241a2aff8ef780e08b9414c8dfd8 Author: Stephen Rothwell Date: Tue Apr 24 16:46:53 2007 +1000 Consolidate of_find_property The only change here is that a readlock is taken while the property list is being traversed on Sparc where it was not taken previously. Also, Sparc uses strcasecmp to compare property names while PowerPC uses strcmp. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 0081cbc3731de8ad4744ba433af51f17bf27eb9c Author: Stephen Rothwell Date: Tue May 1 16:29:19 2007 +1000 Consolidate of_device_is_compatible The only difference here is that Sparc uses strncmp to match compatibility names while PowerPC uses strncasecmp. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 97e873e5c8ad8711ce4cca080cff4eb5d21b3aeb Author: Stephen Rothwell Date: Tue May 1 16:26:07 2007 +1000 Start split out of common open firmware code This creates drivers/of/base.c (depending on CONFIG_OF) and puts the first trivially common bits from the prom.c files into it. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 0c99adb0a6dfe292842a8142b48e494d7731f5fe Author: Paul Mundt Date: Fri Jul 20 12:27:09 2007 +0900 sh: Wire up fallocate() syscall. Signed-off-by: Paul Mundt commit 39c7aa9ea9b6175f4313f69ef9f8e0a3a9bba5bb Author: Magnus Damm Date: Fri Jul 20 12:10:29 2007 +0900 sh: intc - add support for 7780 This patch converts the cpu specific 7780 setup code to use the new intc controller. Many new vectors are added and also support for external interrupt sense configuration. So with this patch it is now possible to configure external interrupt pins as edge or level triggered using set_irq_type(). No external interrupts are registered by default. Use plat_irq_setup_pins() to select between IRQ or IRL mode. This patch also fixes the Alarm IRQ for the RTC. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 680c45981ae2b4029878806d76aa17bb62d3c674 Author: Magnus Damm Date: Fri Jul 20 12:09:29 2007 +0900 sh: intc - improve group support This patch improves intc group support, ie it makes it possible to group interrupts together and mask / unmask the entire group. This also works with priorities, so setting a priority for an entire group is also possible. This patch is needed to properly support certain processors such as the 7780. Fixes for NULL pointers in DECLARE_INTC_DESC() are also included. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d0afa579698f33a65bc5c21d3d667dbb46f9e440 Author: Paul Mundt Date: Wed Jul 18 18:55:25 2007 +0900 sh: Fix up SH-3 and SH-4 driver dependencies. Both shwdt and rtc-sh are only supported on SH-3 and SH-4 at the moment, don't allow them to break the SH-2 and SH-5 (sh64) builds. Signed-off-by: Paul Mundt commit e5e3dfc80a7380abe101d5b5d5266bed2691de1d Author: Paul Mundt Date: Wed Jul 18 18:54:09 2007 +0900 sh: push-switch: Correct license string. This was accidentally set as "GPLv2", whereas the kernel expects v2 to be written "GPL v2", this caused complaints regarding the use of the platform device APIs when built as a module. Signed-off-by: Paul Mundt commit 792e947a29da618d0945048bd257f354f8a1dc89 Author: Paul Mundt Date: Wed Jul 18 18:53:09 2007 +0900 sh: cpufreq: Fix driver dependencies and flag as broken. This is only supported on SH-4, so don't expose it for the other CPUs. Additionally, it's suffered some bitrot, so add a BROKEN dependency as well until we fix it up. Signed-off-by: Paul Mundt commit 90015c89386ffb8967422fbe9f5e7babf1dc2c5e Author: Magnus Damm Date: Wed Jul 18 17:57:34 2007 +0900 sh: IPR/INTC2 IRQ setup consolidation. This patch unifies the cpu specific interrupt setup functions for interrupt controller blocks such as ipr, intc2 and intc. There is no point in having separate functions for each interrupt controller, so let's clean this up. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 493a358e0a8992ec13098dd084223b55b05a7f03 Author: Magnus Damm Date: Wed Jul 18 17:54:10 2007 +0900 sh: clean up interrupt code for solution engine 7722 board This patch cleans up solution engine 7722 specific interrupt code. The main purpose is to replace the mux function with use of set_irq_chained_handler() and replace hard coded register poking code with set_irq_type(). The board specific interrupts are also moved to start from SE7722_FPGA_IRQ_BASE. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1b06428ee56fadedd004bfc5e3fbb39fb8c99010 Author: Magnus Damm Date: Wed Jul 18 17:51:24 2007 +0900 sh: intc - add support for 7722 processor This patch converts the cpu specific 7722 setup code to use the new intc controller. Many new vectors are added and also support for external interrupt sense configuration. So with this patch it is now possible to configure external interrupt pins as edge or level triggered using set_irq_type(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 02ab3f70791f7d5c9098acaa31a72dd7d0961cb0 Author: Magnus Damm Date: Wed Jul 18 17:25:09 2007 +0900 sh: intc - shared IPR and INTC2 controller This is the second version of the shared interrupt controller patch for the sh architecture, fixing up handling of intc_reg_fns[]. The three main advantages with this controller over the existing ones are: - Both priority (ipr) and bitmap (intc2) registers are supported - External pin sense configuration is supported, ie edge vs level triggered - CPU/Board specific code maps 1:1 with datasheet for easy verification This controller can easily coexist with the current IPR and INTC2 controllers, but the idea is that CPUs/Boards should be moved over to this controller over time so we have a single code base to maintain. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 53aba19f82045c1df838570b8484043e93c4442a Author: Magnus Damm Date: Tue Jul 17 18:10:11 2007 +0900 sh: Fix irq assignment for uarts on sh7722 This patch contains two serial port related fixes for sh7722: - Make sure the irqs for the first serial port is correct - Add the second and third serial port to the platform data Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4aafae27d0ce73f8507b8983b36006b734aa343a Author: Kristoffer Ericson Date: Tue Jul 17 13:52:38 2007 +0900 sh: hd64461 tidying. Kill off the hd64461 io.c, as all of the hd64461 users are now using the generic I/O routines. [ hd64461/ moved to hd64461.c by Paul ] Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit e6c972f21828f16d12704e5cf67d6f79c26cb53b Author: Yoshihiro Shimoda Date: Tue Jul 17 13:38:54 2007 +0900 sh: r7780rp: Add R8A66597 and M66592 support. This wires up the platform devices for the USB expansion boards for the Highlander boards. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 76c1ce7870fd9b05431da1bbd47fdafcc029a25b Author: Stephen Rothwell Date: Tue May 1 16:19:07 2007 +1000 Split out common parts of prom.h This creates linux/of.h and includes asm/prom.h from it. We also include linux/of.h from asm/prom.h while we transition. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 75473c1d3930896bbabcc99bb58fafd53ef42473 Author: Al Viro Date: Fri Jul 20 02:01:16 2007 +0100 fallout from kbuild changes Change in 'kbuild: do section mismatch check on full vmlinux' should've been replicated in arch/um/Makefile. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 20c2df83d25c6a95affe6157a4c9cac4cf5ffaac Author: Paul Mundt Date: Fri Jul 20 10:11:58 2007 +0900 mm: Remove slab destructors from kmem_cache_create(). Slab destructors were no longer supported after Christoph's c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been BUGs for both slab and slub, and slob never supported them either. This rips out support for the dtor pointer from kmem_cache_create() completely and fixes up every single callsite in the kernel (there were about 224, not including the slab allocator definitions themselves, or the documentation references). Signed-off-by: Paul Mundt commit d20da3c39b9d5b04f0258ba74643533268f56e30 Author: S.Caglar Onur Date: Mon Jul 16 13:41:45 2007 +0300 USB: drivers/usb/storage/dpcm.c whitespace cleanup Following trivial patch converts smarttabs/whitespaces into real tabs. Signed-off-by: S.Caglar Onur Signed-off-by: Greg Kroah-Hartman commit e294531dc9f2c1f5291373dcdd5013c0cdcbdee2 Author: Yoshihiro Shimoda Date: Wed Jul 18 23:10:34 2007 +0900 USB: r8a66597-hcd: fixes some problem This patch incorporates some updates. Updates include: - Fix the problem that control transfer might fail - Change from GFP_KERNEL to GFP_ATOMIC - Clean up some coding style issue Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 809a58b896ba07e771adc76a47c83e4ca1969da8 Author: Alan Stern Date: Wed Jul 18 12:14:24 2007 -0400 USB: change name of spinlock in hcd.c This patch (as940 renames hcd_data_lock in hcd.c to hcd_urb_list_lock, which is more descriptive of the lock's job. It also introduces a convenient inline routine for testing whether a particular USB device is a root hub. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 32aca5600526189dd876e6c92b64fd88cf052c8d Author: Alan Stern Date: Wed Jul 18 12:08:02 2007 -0400 USB: move routines in hcd.c This patch (as939) moves a couple of routine in hcd.c around. The purpose is to put all the general URB- and endpoint-related routines (submit, unlink, giveback, and disable) together in one spot. There are no functional changes. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 82210d377468f59745303b96473e30e60b33434d Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: uss720: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 59d99785a9f8294f9e38ac677df8526e44462f66 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: usbtest: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 0723af13bf5c6710af99531fc4862622f3c2d637 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: usblcd: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit a95a03811beb4ac4b9ac4a39486b912d07d64d64 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: phidgetmotorcontrol: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 2fe8c3f1538e8db2b853f10480584679b0c336f1 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: phidgetkit: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 64771a0f19320f73ab4be69db591ba51a17d7748 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: legousbtower: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 491c021e0beafe4146f6a1c9a1c58bd0fb2a42d0 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: ldusb: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit fb3abee69de583180348b9029378e31574c31cfd Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: iowarrior: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 84346269f9a05e66ff2973916776a080d566f9ab Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: ftdi-elan: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 22bea334c941bcece2ddcc79201de4437803e3a5 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: auerswald: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 13f9782d8e2e6a20e5fc44dd758d5747fdfd76ab Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: appledisplay: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 24497a00114ef42a752d614635168db9e2192f5e Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: adtux: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 3fc3e8269fa5c1f35b518dbe18dc48acef3c7684 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: core: message: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit b44cd112a0400d5eb381f3c1a1e7a6925911c835 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: image: microtek: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit dd6fa4d755fb1e2822406ab8ce3d28db217acc01 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: image: mdc800: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 62e5a330dc1354d98f73a82f3d13517805f061f6 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: storage: onetouch: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 18ac3016055b58d676f6148a77dcf539d05ce215 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: class: usblp: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 185d40587d22fe604962fb53c0c9a9f1670feb66 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: class: cdc-acm: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 33fea2b2f523251d29619641451bfebdc35f4950 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: atm: usbatm: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 508330ebdacb3df07ee2a75aee8caf2c205befc8 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: atm: ueagle-atm: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 9a5a3e95b49c93813476974abaa038c9d36bdd14 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: atm: speedtch: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit c35f68a05d0916e89ae2aab1a456f96fea9190cd Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: atm: cxacru: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 598f22e11bef8171f2244128bf0341da38fe8a23 Author: Yoshihiro Shimoda Date: Tue Jul 17 21:01:17 2007 +0900 USB: m66592-udc: fixes some problems This patch incorporates some updates from the review of the Renesas m66592-udc driver. Updates include: - Fix some locking bugs; and add a few sparse annotations - Don't #define __iomem ! - Lots of whitespace fixes (most of the patch by volume) - Some #include file trimmage - Other checkpatch.pl and sparse updates - Alphabetized and slightly-more-informative Kconfig - Don't use the ID which was assigned to the amd5536udc driver. - Remove pointless suspend/resume methods updating obsolete field. - Some section fixups - Fix some leak bugs - Fix byteswapping Signed-off-by: David Brownell Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit d8fbba2f59c0c131a1babf5a66f003faee02e01a Author: Alan Stern Date: Mon Jul 16 15:30:20 2007 -0400 USB: usb-storage: unusual_devs entry for Nikon D100 This patch (as938) adds an unusual_devs entry for the Nikon DSC D100. Signed-off-by: Alan Stern Cc: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 0d46c0079a8eeed25105fa374f79862842ee80c1 Author: Jesper Juhl Date: Mon Jul 16 22:17:25 2007 +0200 USB: Remove pointless conditional in drivers/usb/serial/io_ti.c::edge_shutdown() Coverity scan found (CID: 1708) this in drivers/usb/serial/io_ti.c::edge_shutdown() : ... 2797 for (i=0; i < serial->num_ports; ++i) { 2798 edge_port = usb_get_serial_port_data(serial->port[i]); 2799 edge_remove_sysfs_attrs(edge_port->port); 2800 if (edge_port) { 2801 edge_buf_free(edge_port->ep_out_buf); 2802 kfree(edge_port); 2803 } 2804 usb_set_serial_port_data(serial->port[i], NULL); 2805 } ... It's complaining that we dereference 'edge_port' in line 2799 which makes the test of that pointer against NULL in 2800 pointless, since if edge_port was actually NULL we'd have crashed already before reaching line 2800. Reading the edge_open() function it seems to me that the pointer returned by usb_get_serial_port_data(serial->port[i]) and stored in 'edge_port' can never actually be NULL here, so the test is entirely superfluous (even if it could be NULL it would be pointless here, ignoring the then possible crash in that case, since both edge_buf_free() and kfree() can handle being passed NULL pointers. This patch removes the pointless conditional (and also makes a few tiny style corrections now that I was in the area anyway). Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 167a675a8caa249f8bc9053c02d711545d1f7662 Author: Thomas Dahlmann Date: Thu Jul 12 09:30:39 2007 -0700 USB: MAINTAINERS entry for amd5536udc MAINTAINERS entry for amd5536udc driver. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 55d402d854ade6b63b26e958f201ee2ef00b7b15 Author: Thomas Dahlmann Date: Mon Jul 16 21:40:54 2007 -0700 USB: amd5536 UDC driver (in GEODE southbridge) Driver for the AMD5536 UDC, as found in the AMD Geode CS5536 (southbridge). This is a high speed DMA-capable controller, which can also be used in OTG configurations (which are not supported by this patch). Acked-by: Jordan Crouse Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit beafef072af10bc8497c9ee51ce2804aa7da26be Author: Alan Stern Date: Fri Jul 13 15:47:16 2007 -0400 USB: documentation update for usb_unlink_urb This patch (as936) updates the kerneldoc for usb_unlink_urb. The explanation of how endpoint queues are meant to work is now clearer and in better agreement with reality. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e7e7c360fb07020b24652843aec442325baad0ce Author: Alan Stern Date: Fri Jul 13 15:46:29 2007 -0400 UHCI: short control URBs get a status stage It has recently been pointed out that short control transfers should have a status stage, even if they generate an error because URB_SHORT_NOT_OK was set. This patch (as935) changes uhci-hcd to enable the status stage when this happens. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e94fa28f137813c2f6e05470b41bd8f3c5422a04 Author: Florin Malita Date: Mon Jul 16 11:50:53 2007 -0400 USB: mos7720, mos7840: remove redundant urb check Coverity (1709, 1710, 1711, 1712, 1713) actually flagged these as REVERSE_INULLs (NULL check performed after dereference). But looking at the other drivers I can't see any similar tests and the USB core already makes sure urb is non-null - so might as well get rid of the checks. Signed-off-by: Florin Malita Signed-off-by: Greg Kroah-Hartman commit 195af2cce5ff81c4609c7ba585b6698a7771cbfc Author: Alan Stern Date: Mon Jul 16 15:28:19 2007 -0400 USB: fix warning caused by autosuspend counter going negative This patch (as937) fixes a minor bug in the autosuspend usage-counting code. Each hub's usage counter keeps track of the number of unsuspended children. However the current driver increments the counter after registering a new child, by which time the child may already have been suspended and caused the counter to go negative. The obvious solution is to increment the counter before registering the child. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 69d42a78f935d19384d1f6e4f94b65bb162b36df Author: Alan Stern Date: Thu Jul 12 17:06:23 2007 -0400 USB: add "descriptors" binary sysfs attribute This patch (as934) adds a new readonly binary sysfs attribute file called "descriptors" for each USB device. The attribute contains the device descriptor followed by the raw descriptor entry (config plug subsidiary descriptors) for the current configuration. Having this information available in fixed-format binary makes life a lot easier for user programs by avoiding the need to open, read, and parse multiple sysfs text files. The information in this attribute file is much like that in usbfs's device file, but there are some significant differences: The 2-byte fields in the device descriptor are left in little-endian byte order, as they appear on the bus and in the kernel. Only one raw descriptor set is presented, that of the current configuration. Opening this file will not cause a suspended device to be autoresumed. The last item in particular should be a big selling point for libusb, which currently forces all USB devices to be resumed as it scans the device tree. Signed-off-by: Alan Stern Cc: Dave Mielke Signed-off-by: Greg Kroah-Hartman commit 1b4cd43bd3f9aa7a794e29b80b0d984a8e144df4 Author: Alan Stern Date: Thu Jul 12 17:03:01 2007 -0400 isp116x-hcd: prepare for urb->status This patch (as931b), adapted from a patch by Olav Kongas, makes a small set of conservative changes to the isp116x-hcd driver in preparation for the removal of urb->status. finish_request() is moved up in the source and is called as soon as the URB is known to have completed, rather than after all the active endpoints have been scanned. The status of a completed URB is kept in a local variable and copied to urb->status only when the URB is about to be given back. -EREMOTEIO error status for control transfers is set after the status stage rather than when the short packet arrives. Some unnecessary uses of urb->lock are removed. Signed-off-by: Alan Stern Cc: Olav Kongas Signed-off-by: Greg Kroah-Hartman commit 10e485221edd2799dc495e4cde98fe74aeb292b1 Author: Pete Zaitcev Date: Tue Jul 10 20:09:58 2007 -0700 USB: usblp: "Big cleanup" breaks O_NONBLOCK I found the first regresson in the rewritten ("all dynamic" and "no races") driver. If application uses O_NONBLOCK, I return -EAGAIN despite the URB being submitted successfuly. This causes the application to resubmit the same data erroneously. The fix is to pretend that the transfer has succeeded even if URB was merely queued. It is the same behaviour as with the old version. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 9454c46a89c13fe82a28c91706b86f612fd19462 Author: Kevin Lloyd Date: Mon Jul 16 13:49:29 2007 -0700 USB: sierra: Add new devices This patch adds new devices to the Sierra Wireless driver. This is being resubmitted because the dependent patch (patch 01/02) needed to be resubmitted. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 112225b13cedd53dfd6455038b8843cf004ddec9 Author: Kevin Lloyd Date: Mon Jul 16 13:49:27 2007 -0700 USB: sierra: Add TRU-Install (c) Support This patch adds compatibility with Sierra Wireless' new TRU-Install feature. Future devices that use this feature will not work unless this patch has been applied. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit eb33caec1ed29fa2b04a2c5f02e3fed2add91db4 Author: Matthias Kaehlcke Date: Fri Jul 13 21:29:46 2007 +0200 USB: use mutex instead of semaphore in the FTDI ELAN driver The FTDI ELAN driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit 8293c568b25611cdc4ac54ded438d8d7938c593c Author: Matthias Kaehlcke Date: Fri Jul 13 21:28:31 2007 +0200 USB: use mutex instead of semaphore in the Adutux driver The Adutux driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit d2066eb659e6ee915383510c136da38eff86ef15 Author: Matthias Kaehlcke Date: Fri Jul 13 21:26:59 2007 +0200 USB: use mutex instead of semaphore in the ELAN U132 adapter driver The ELAN U132 adapter driver uses the semaphore u132_module_lock as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit 831c70fc13ca8c6074ab0c9d1121a93fd6c5a34a Author: Matthias Kaehlcke Date: Fri Jul 13 21:25:25 2007 +0200 USB: use mutex instead of semaphore in the USB gadget serial driver The USB gadget serial driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ffc720409ae8d1cb16ae4b9c39e9e744e4c59898 Author: Tony Luck Date: Thu Jul 19 14:00:34 2007 -0700 [IA64] refresh some config files for 64K pagesize Update arch/ia64/defconfig: select 64K pagesize Same for arch/ia64/configs/tiger_defconfig + CONFIG_COMPAT=n Signed-off-by: Tony Luck commit 5f47c7eac65a45e33d7fe390effe75ec5c74f8bf Author: Al Viro Date: Fri Jul 20 00:23:31 2007 +0100 coda breakage a) switch by loff_t == __cmpdi2 use. Replaced with a couple of obvious ifs; update of ->f_pos in the first one makes sure that we do the right thing in all cases. b) block_signals() and unblock_signals() are globals on UML. Renamed coda ones; in principle UML probably ought to do rename as well, but that's another story. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c65c5131b349b08f3292b1cd10239cf376bfcb15 Author: Al Viro Date: Fri Jul 20 00:17:45 2007 +0100 missed cong_avoid() instance Removal of rtt argument in ->cong_avoid() had missed tcp_htcp.c instance. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 89636af25d75d8672aea05d258be357d0dc4bd70 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide: add support for SCSI ioctls to ide-floppy Now that ide-floppy supports SG_IO we can add support for SCSI ioctls (except deprecated SCSI_IOCTL_SEND_COMMAND and legacy CDROM_SEND_PACKET ones - we can add them later iff really needed). While at it remove handling of CDROMEJECT and CDROMCLOSETRAY ioctls from generic_ide_ioctl(): - This prevents ide-{disk,tape,scsi} device drivers from obtaining REQ_TYPE_BLOCK_PC type requests which are currently unsupported by these drivers and which are potentially harmful (as reported by Andrew). - There is no functionality loss since aforementioned ioctls will now be handled by idefloppy_ioctl()->scsi_cmd_ioctl() (for devices using ide-floppy driver) and by idecd_ioctl->cdrom_ioctl()->scsi_cmd_ioctl() (for devices using ide-cd driver). Cc: Jens Axboe Cc: FUJITA Tomonori Cc: James Bottomley Cc: Jeff Garzik Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 4bf9fdf7f21f118e2c5052ec8e46faf00eb5a4ea Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide: remove stale changelog from setup-pci.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 74565073cbf6b3c1746ee623e97b2ba0fcd3fbb6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide: remove stale changelog/comments/TODO from ide.c Signed-off-by: Bartlomiej Zolnierkiewicz commit d281e9ad87f79fd01ce1fc2d2f258e2ee765bc5a Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide-cris: handle PIO auto-tuning in tune_cris_ide() Signed-off-by: Bartlomiej Zolnierkiewicz commit 4099d14322149c7a467e4997b87be4ba8eb78697 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide: add PIO masks * Add ATA_PIO[0-6] defines to . * Add ->pio_mask field to ide_pci_device_t and ide_hwif_t. * Add PIO masks to host drivers. change ACK-ed by Jeff Garzik . Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6a824c92db4d606c324272c4eed366fb71672440 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:58 2007 +0200 ide: remove ide_find_best_pio_mode() * Add ->host_flags to ide_hwif_t to store ide_pci_device_t.host_flags, assign it in setup-pci.c:ide_pci_setup_ports(). * Add IDE_HFLAG_PIO_NO_{BLACKLIST,DOWNGRADE} to ide_pci_device_t.host_flags and teach ide_get_best_pio_mode() about them. Also remove needless !drive->id check while at it (drive->id is always present). * Convert amd74xx, via82cxxx and ide-timing.h to use ide_get_best_pio_mode() and then remove no longer needed ide_find_best_pio_mode(). There should be no functionality changes caused by this patch. Acked-by: Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2134758d2a5429325cee4d4ce8959af5314eeba1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:58 2007 +0200 ide: drop "PIO data" argument from ide_get_best_pio_mode() * Drop no longer needed "PIO data" argument from ide_get_best_pio_mode() and convert all users accordingly. * Remove no longer needed ide_pio_data_t. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e5fa4b2968ff0f32b5ecfa082fd6db50b731055e Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:57 2007 +0200 ide: ide_find_best_pio_mode() fixes (take 2) * Check IORDY bit for PIO modes > 2. * Some devices claim maximum PIO mode > 2 in id->tPIO, they were punished too severly for this by being limited to PIO_SLOW. Limit them to PIO2 instead. v2: * Fix PIO number being returned incorrectly instead of PIO mode (Noticed by Sergei). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7dd00083b1160b560fa2a0a486799b57baa5d035 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 ide: add ide_pio_cycle_time() helper (take 2) * Add ide_pio_cycle_time() helper. * Use it in ali14xx/ht6560b/qd65xx/cmd64{0,x}/sl82c105 and pmac host drivers (previously cycle time given by the device was only used for "pio" == 255). * Remove no longer needed ide_pio_data_t.cycle_time field. v2: * Fix "ata_" prefix (Noticed by Jeff). Acked-by: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 31c4df441cce6b9ec541e7f722f50bfbc617dd76 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 sc1200: remove stale Power Management code * Nowadays core IDE code handles restoring of PIO and DMA modes (ide-io.c:ide_start_power_step() etc) so remove open-coded version from sc1200_resume(). There should be no change in behavior because settings done by sc1200_resume() were always overridden by generic_ide_resume() and ide_{start,stop}_power_step(). * Bump driver version. Cc: Mark Lord Signed-off-by: Bartlomiej Zolnierkiewicz commit 8987d21ba6a426b0685257866ce366055930b57f Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 ide: ide_start_power_step() fix WRT disabling DMA * Do the same thing as probe_hwif() and always disable DMA so chipset DMA enabled bit gets cleared (if the drive doesn't support DMA ide_set_dma() won't try to tune it anyway). * Add TODO comment about respecting ->using_dma setting. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c164acf50146d8a82caed642951390e073620f1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 serverworks: fix DMA The driver used to depend on BIOS settings for deciding whether it is OK to use DMA. However it seems that BIOS doesn't always handle all cases correctly so just let IDE core to decide about this. It should be a safe thing to do now, after the driver went through heavy bugfixing. Thanks for bugreport and testing the patch goes out to Sven Niedner. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1880a8d7f2d0587e657e3292166003636067b7ea Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 serverworks: always tune PIO * Always set ->autotune so PIO gets correctly auto-tuned (previously ->autotune was only set when ->dma_base wasn't available, however ->ide_dma_check()/->speedproc() was always trying to tune PIO when tuning DMA). * Move code responsible for programming chipset for PIO mode from svwks_tune_chipset() to svwks_tune_pio(). Don't tune PIO when tuning DMA (this is no longer needed since ->autotune is always set now). * Handle PIO modes early in svwks_tune_chipset() so DMA configuration registers don't get cleared when programming PIO mode. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit a5d8c5c834d3cabf4b7b477c3f6ee923c25026fc Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:55 2007 +0200 ide: add ide_pci_device_t.host_flags (take 2) * Rename ide_pci_device_t.flags to ide_pci_device_t.host_flags and IDEPCI_FLAG_ISA_PORTS flag to IDE_HFLAG_ISA_PORTS. * Add IDE_HFLAG_SINGLE flag for single channel devices. * Convert core code and all IDE PCI drivers to use IDE_HFLAG_SINGLE and remove no longer needed ide_pci_device_t.channels field. v2: * Fix issues noticed by Sergei: - correct code alignment in scc_pata.c - s/IDE_HFLAG_SINGLE/~IDE_HFLAG_SINGLE/ in serverworks.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2229833c1365346b64357a9263fa724f74f5e376 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:55 2007 +0200 ide: add ide_dev_has_iordy() helper (take 4) * Add ide_dev_has_iordy() helper and use it sl82c105 host driver. * Remove no longer needed ide_pio_data_t.use_iordy field. v2/v3: * Fix issues noticed by Sergei: - correct patch description - fix comment in ide_get_best_pio_mode() v4: * Fix "ata_" prefix (Noticed by Jeff). Acked-by: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 342cdb6d4739cee430efc3eafcacd1605db66036 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:55 2007 +0200 ide: make ide_get_best_pio_mode() print info if overriding PIO mode * Print info about overriding PIO mode in ide_get_best_pio_mode(). * Remove info about overriding PIO mode from cmd64{0,x} host drivers. * Remove no longer needed ide_pio_data_t.overridden field. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 328dcbb63657ebbb2dd26982fa9e1fa9e04b6fa2 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:54 2007 +0200 siimage: PIO mode setup fixes (take 2) * Add sil_tuneproc() wrapper for siimage_tuneproc() which also sets PIO mode on the device. * Add missing ide_get_best_pio_mode() call to sil_tuneproc() so "pio" == 255 (autotune) is handled correctly (previously PIO0 was used) and "pio" values > 4 && < 255 are filtered to PIO4 (instead of PIO0). * Add code limiting maximum PIO mode according to the pair device capabilities to sil_tuneproc(). * Convert users of config_siimage_chipset_for_pio() to use sil_tune_pio() and sil_tuneproc(). This fixes PIO fallback in siimage_config_drive_for_dma() to use max PIO mode available instead of PIO4 (config_siimage_chipset_for_pio() used wrong arguments for ide_get_best_pio_mode() and as a results always tried to set PIO4). * Remove no longer needed siimage_taskfile_timing() and config_siimage_chipset_for_pio(). * Enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes from siimage_speedproc() * Bump driver version. v2: * Fix issues noticed by Sergei: - correct pair device check - trim only taskfile PIO to the slowest of the master/slave - enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes from siimage_speedproc() - add TODO item for IORDY bugs - minor cleanups Reviewed-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 485efc6cf507eae2b8e83b56e179c8fa3980641a Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:54 2007 +0200 atiixp: PIO mode setup fixes * Split off exisiting atiixp_tuneproc() into atiixp_tune_pio() and then add setting device PIO mode to atiixp_tuneproc(). * Add missing ide_get_best_pio_mode() call to atiixp_tuneproc() so "pio" == 255 (autotune) is handled correctly and "pio" values > 4 && < 255 are filtered to PIO4 (previously "pio" == 5 could result in wrong timings being used and "pio" values > 4 && < 255 in an OOPS). * Handle PIO modes early in atiixp_speedproc() so save_mdma_mode[] doesn't get cleared. * In atiixp_dma_check(): - fix max_mode argument for ide_get_best_pio_mode() - don't call atiixp_dma_2_pio() so PIO1 doesn't get remapped to PIO0 - use atiixp_tuneproc() instead of atiixp_speedproc() * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9702b5d5c26be12d376e1baf2a8e5b82e6c06b66 Author: Alan Cox Date: Fri Jul 20 01:11:54 2007 +0200 ide: Stop mapping ROMs Various old IDE drivers go mapping ROM devices for no apparent reason and without using the ROM mapping API we now have. They don't actually use the ROM they map and the new libata drivers are happy without it being mapped so rather than port them lets just junk it for the next -rc1. Signed-off-by: Alan Cox Acked-by: Sergei Shtylyov Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit c82d72f5c521434c36b9550b3ac6601eb8167687 Author: Robert P. J. Day Date: Fri Jul 20 01:11:54 2007 +0200 IDE: Remove references to dead ETRAX-related variables. The two CONFIG variables CONFIG_ETRAX_IDE_CSE1_16_RESET CONFIG_ETRAX_IDE_CSP0_8_RESET appear to have been dead since way back in 2.5.xx days: http://www.linuxhq.com/kernel/v2.5/75/arch/cris/drivers/Kconfig Signed-off-by: Robert P. J. Day Cc: Michael Starvik Signed-off-by: Bartlomiej Zolnierkiewicz commit 363f7e428dcf9f90d726481029f7b4a0ed6d55ce Author: Marcin Juszkiewicz Date: Fri Jul 20 01:11:53 2007 +0200 PCMCIA: Add another MemoryCard to ide-cs/pata_pcmcia One card submitted by user. Signed-off-by: Marcin Juszkiewicz Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 4ae41ff887224b39c3c3c673a918193e90be558f Author: Kou Ishizaki Date: Fri Jul 20 01:11:53 2007 +0200 scc_pata.c: Workaround for errata A308 (take 2) Workaround for errata A308: turn down the UDMA mode and retry the DMA command when the data lost condition is detected. take2: udma_filter() hook is used to limit ATAPI UDMA mode. Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f644d47af3834b603d909c212287d0c21ec3ebbb Author: Kumar Gala Date: Fri Jul 20 01:11:53 2007 +0200 scc_pata: Use inline function for eieio Move to using inline function variant of eieio instead of inline assmebly. Signed-off-by: Kumar Gala Cc: kou.ishizaki@toshiba.co.jp Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2d9ce177e68645945e3366cfe2d66ee3c28cd4f2 Author: Avi Kivity Date: Thu Jul 19 14:30:14 2007 +0300 i386: Allow KVM on i386 nonpae Currently, CONFIG_X86_CMPXCHG64 both enables boot-time checking of the cmpxchg64b feature and enables compilation of the set_64bit() family. Since the option is dependent on PAE, and since KVM depends on set_64bit(), this effectively disables KVM on i386 nopae. Simplify by removing the config option altogether: the boot check is made dependent on CONFIG_X86_PAE directly, and the set_64bit() family is exposed without constraints. It is up to users to check for the feature flag (KVM does not as virtualiation extensions imply its existence). Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit 12795067cfa595434be0236b102a8eb20d578741 Author: Matthew Wilcox Date: Thu Jul 19 13:09:10 2007 -0600 Update .gitignore for arch/i386/boot With the new setup code, we generate a couple more files Signed-off-by: Matthew Wilcox [ .. and do the same for x86-64 - Alexey ] Acked-by: Alexey Dobriyan Acked-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 80422977478775fe03f25e57b67efe9f0a67e50c Author: Christoph Hellwig Date: Thu Jul 19 12:05:58 2007 -0700 fix spufs build after ->fault changes 83c54070ee1a2d05c89793884bea1a03f2851ed4 broke spufs by incorrectly updating the code, this patch gets it to compile again. It's probably still broken due to the scheduler changes, but this at least makes sure cell kernels can still be built. Signed-off-by: Christoph Hellwig Cc: Arnd Bergmann Acked-by: Geoff Levand Cc: Paul Mackerras Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a021e9ffd56c22700133ebc37d607f95be8f7bd Author: Matt Mackall Date: Thu Jul 19 11:30:14 2007 -0700 random: fix bound check ordering (CVE-2007-3105) If root raised the default wakeup threshold over the size of the output pool, the pool transfer function could overflow the stack with RNG bytes, causing a DoS or potential privilege escalation. (Bug reported by the PaX Team ) Cc: Theodore Tso Cc: Willy Tarreau Signed-off-by: Matt Mackall Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds commit 626ac545c12e5f9bffe93086d1d03d26c99987ea Author: Serge E. Hallyn Date: Tue Jul 17 15:28:17 2007 -0400 user namespace: fix copy_user_ns return value When a CONFIG_USER_NS=n and a user tries to unshare some namespace other than the user namespace, the dummy copy_user_ns returns NULL rather than the old_ns. This value then gets assigned to task->nsproxy->user_ns, so that a subsequent setuid, which uses task->nsproxy->user_ns, causes a NULL pointer deref. Fix this by returning old_ns. Signed-off-by: Serge E. Hallyn Signed-off-by: Linus Torvalds commit bf903d0a4503db8ac166ca6135a59bc5f9b91a45 Author: Yasuaki Ishimatsu Date: Wed Jul 18 15:47:34 2007 +0900 [IA64] Delete iosapic_free_rte() > arch/ia64/kernel/iosapic.c:597: warning: 'iosapic_free_rte' defined but not used > > This isn't spurious, the only call to iosapic_free_rte() has been removed, but there > is still a call to iosapic_alloc_rte() ... which means we must have a memory leak. I did it on purpose (and gave the warning a miss...) and I consider iosapic_free_rte() is no longer needed. I decided to remain iosapic_rte_info to keep gsi-to-irq binding after device disable. Indeed it needs some extra memory, but it is only "sizeof(iosapic_rte_info) * " bytes and has no memory leak becasue re-enabled devices use the iosapic_rte_info which they used before disabling. Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 3d7559e677deafefe134f36c1e75f9119b956672 Author: David Chinner Date: Mon Jul 16 15:33:40 2007 +1000 [IA64] fallocate system call sys_fallocate for ia64. This uses an empty slot #1303 erroneously marked as reserved for move_pages (which had already been allocated as syscall #1276) Signed-Off-By: Dave Chinner Signed-off-by: Tony Luck commit 9550b105b8646f916862aee3ab7b25020ca14159 Author: Linus Torvalds Date: Thu Jul 19 13:21:34 2007 -0700 slub: fix ksize() for zero-sized pointers The slab and slob allocators already did this right, but slub would call "get_object_page()" on the magic ZERO_SIZE_PTR, with all kinds of nasty end results. Noted by Ingo Molnar. Cc: Ingo Molnar Cc: Christoph Lameter Cc: Andrew Morton Signed-off-by: Linus Torvalds commit a5c96d8a1c67f31ef48935a78da2d2076513842b Author: Linus Torvalds Date: Thu Jul 19 13:17:15 2007 -0700 Fix up non-NUMA SLAB configuration for zero-sized allocations I suspect Christoph tested his code only in the NUMA configuration, for the combination of SLAB+non-NUMA the zero-sized kmalloc's would not work. Of course, this would only trigger in configurations where those zero- sized allocations happen (not very common), so that may explain why it wasn't more widely noticed. Seen by by Andi Kleen under qemu, and there seems to be a report by Michael Tsirkin on it too. Cc: Andi Kleen Cc: Roland Dreier Cc: Michael S. Tsirkin Cc: Pekka Enberg Cc: Christoph Lameter Cc: Andrew Morton Signed-off-by: Linus Torvalds commit e436d80085133858bf2613a630365e8a0459fd58 Author: Ingo Molnar Date: Thu Jul 19 21:28:35 2007 +0200 [PATCH] sched: implement cpu_clock(cpu) high-speed time source Implement the cpu_clock(cpu) interface for kernel-internal use: high-speed (but slightly incorrect) per-cpu clock constructed from sched_clock(). This API, unused at the moment, will be used in the future by blktrace, by the softlockup-watchdog, by printk and by lockstat. Signed-off-by: Ingo Molnar commit 969bb4e4032dac67287951d8f6642a3b5119694e Author: Suresh Siddha Date: Thu Jul 19 21:28:35 2007 +0200 [PATCH] sched: fix the all pinned logic in load_balance_newidle() nr_moved is not the correct check for triggering all pinned logic. Fix the all pinned logic in the case of load_balance_newidle(). Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 9439aab8dbc33c2c03c3a19dba267360383ba38c Author: Suresh Siddha Date: Thu Jul 19 21:28:35 2007 +0200 [PATCH] sched: fix newly idle load balance in case of SMT In the presence of SMT, newly idle balance was never happening for multi-core and SMP domains (even when both the logical siblings are idle). If thread 0 is already idle and when thread 1 is about to go to idle, newly idle load balance always think that one of the threads is not idle and skips doing the newly idle load balance for multi-core and SMP domains. This is because of the idle_cpu() macro, which checks if the current process on a cpu is an idle process. But this is not the case for the thread doing the load_balance_newidle(). Fix this by using runqueue's nr_running field instead of idle_cpu(). And also skip the logic of 'only one idle cpu in the group will be doing load balancing' during newly idle case. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit c41917df8a1adde34864116ce2231a7fe308d2ff Author: Ralf Baechle Date: Thu Jul 19 21:28:35 2007 +0200 [PATCH] sched: sched_cacheflush is now unused Since Ingo's recent scheduler rewrite which was merged as commit 0437e109e1841607f2988891eaa36c531c6aa6ac sched_cacheflush is unused. Signed-off-by: Ralf Baechle Signed-off-by: Ingo Molnar commit 0a87cf128f3d3bc6aa7b1040e73109c974ed875a Author: Jeff Layton Date: Wed Jul 18 11:28:43 2007 -0400 NFSv4: handle lack of clientaddr in option string If a NFSv4 mount is attempted with string based options, and the option string doesn't contain a clientaddr= option, the kernel will currently oops. Check for this situation and return a proper error. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit f9d888fcd9665b863fa042212a3ee7b4c51399f6 Author: Benny Halevy Date: Sun Jul 15 20:14:32 2007 +0300 NFSv4: debug print ntohl(status) in nfs client callback xdr code status in nfs client callback xdr code is passed in network order. print it in host order for better readability. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e4eff1a622edd6ab7b73acd5d8763aa2fa3fee49 Author: Trond Myklebust Date: Sat Jul 14 15:39:58 2007 -0400 SUNRPC: Clean up the sillyrename code Fix a couple of bugs: - Don't rely on the parent dentry still being valid when the call completes. Fixes a race with shrink_dcache_for_umount_subtree() - Don't remove the file if the filehandle has been labelled as stale. Fix a couple of inefficiencies - Remove the global list of sillyrenamed files. Instead we can cache the sillyrename information in the dentry->d_fsdata - Move common code from unlink_setup/unlink_done into fs/nfs/unlink.c Signed-off-by: Trond Myklebust commit 4fdc17b2a7f4d9db5b08e0f963d0027f714e4104 Author: Trond Myklebust Date: Sat Jul 14 15:39:57 2007 -0400 NFS: Introduce struct nfs_removeargs+nfs_removeres We need a common structure for setting up an unlink() rpc call in order to fix the asynchronous unlink code. Signed-off-by: Trond Myklebust commit 3062c532ad410fe0e8320566fe2879a396be6701 Author: Trond Myklebust Date: Sat Jul 14 17:36:45 2007 -0400 NFS: Use dentry->d_time to store the parent directory verifier. This will free up the d_fsdata field for other use. Signed-off-by: Trond Myklebust commit be879c4e249a8875d7129f3b0c1bb62584dafbd8 Author: J. Bruce Fields Date: Wed Jul 11 18:39:02 2007 -0400 SUNRPC: move bkl locking and xdr proc invocation into a common helper Since every invocation of xdr encode or decode functions takes the BKL now, there's a lot of redundant lock_kernel/unlock_kernel pairs that we can pull out into a common function. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit e3a535e1739a9da3cc316ccdfe5cd4bf84d745ac Author: Trond Myklebust Date: Thu Jul 19 10:03:38 2007 -0400 NFSv4: Fix the nfsv4 readlink reply buffer alignment Signed-off-by: Trond Myklebust commit d6ac02dfaa6c423874839fe289c7320624aa9288 Author: Trond Myklebust Date: Thu Jul 19 10:03:37 2007 -0400 NFSv4: Fix the readdir reply buffer alignment Signed-off-by: Trond Myklebust commit 9104a55dc382c4aae42dff3f54351085cbcb7317 Author: Trond Myklebust Date: Tue Jul 17 21:52:42 2007 -0400 NFSv4: More NFSv4 xdr cleanups Signed-off-by: Trond Myklebust commit 9936781d0147e13cbc6df02f5265e0b9999ce3cf Author: Trond Myklebust Date: Tue Jul 17 21:52:41 2007 -0400 NFSv4: Try to recover from getfh failures in nfs4_xdr_dec_open Try harder to recover the open state if the server failed to return a filehandle. Signed-off-by: Trond Myklebust commit 56659e9926ef5996398924c799ecac39ca8b6223 Author: Trond Myklebust Date: Tue Jul 17 21:52:39 2007 -0400 NFSv4: 'constify' lookup arguments. Signed-off-by: Trond Myklebust commit 365c8f589afbc27d8cf42d396475017bc1c462fd Author: Trond Myklebust Date: Tue Jul 17 21:52:37 2007 -0400 NFSv4: Don't fail nfs4_xdr_dec_open if decode_restorefh() failed We can already easily recover from that inside _nfs4_proc_open(). Signed-off-by: Trond Myklebust commit 6f220ed5a84d87645a84ae22105dc565f3f248b5 Author: Trond Myklebust Date: Tue Jul 17 21:50:45 2007 -0400 NFSv4: Fix open state recovery Ensure that opendata->state is always initialised when we do state recovery. Ensure that we set the filehandle in the case where we're doing an "OPEN_CLAIM_PREVIOUS" call due to a server reboot. Signed-off-by: Trond Myklebust commit 8cd69e1bc7970bfb032b425043cc0d4e4345c74c Author: Trond Myklebust Date: Thu Jul 19 10:03:34 2007 -0400 NFSD/SUNRPC: Fix the automatic selection of RPCSEC_GSS Bruce's patch broke the ability to compile RPCSEC_GSS as a module. Signed-off-by: Trond Myklebust commit e24b8cb4fa2bb779bdf48656152366b6f52f748f Author: Jean Delvare Date: Sun Jul 8 14:26:37 2007 +0200 i2c: Delete the i2c-isa pseudo bus driver There are no users of i2c-isa left, so we can finally get rid of it. Signed-off-by: Jean Delvare commit c182f5bbfb399b1fa2ad65107b3caf9c1c69435e Author: Hans de Goede Date: Tue Jul 10 17:09:57 2007 +0200 hwmon: refuse to load abituguru driver on non-Abit boards With this patch the abituguru refuses to load on non Abit motherboards, as discussed in lkml CONFIG_BREAK_MY_MACHINE thread. Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 9c2e14afb98f761ec80ea809adbc87b15b060e7b Author: Hans de Goede Date: Mon Jul 2 23:08:26 2007 +0200 hwmon: fix Abit Uguru3 driver detection on some motherboards This patch changes the driver to also detect uguru3's which hold 0x08 at DATA initially, as has been reported here: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=220160 Also when an uguru3's holds 0x0014 in the ID register it will now report "Abit AB9 Pro" as motherboard identification. Signed-off-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 9f66036b4f95f5e830d68a3ce90aeece0e0c4bf3 Author: Jean Delvare Date: Sun Jun 24 11:23:41 2007 +0200 hwmon/w83627ehf: Be quiet when no chip is found This fixes bug #8593: http://bugzilla.kernel.org/show_bug.cgi?id=8593 Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7cb7273f8ce9c5790a7b64208172b4203977e0a3 Author: Jean Delvare Date: Sun Jun 24 11:21:43 2007 +0200 hwmon/w83627ehf: No need to initialize fan_min We don't need to initialize fan_min in this driver, as the fan_div attributes are read-only. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit da667365befb2846485b82c4e6c57729dd513fd2 Author: Jean Delvare Date: Sun Jun 24 11:21:02 2007 +0200 hwmon/w83627ehf: Export the thermal sensor types Add support for the w83627ehf thermal sensor types. I made them read-only, as the BIOS is supposed to set them up properly. This information makes it easier to find out which temperature channel corresponds to the CPU. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit d3130f0e30745b406af233897a27834eb5285f45 Author: Jean Delvare Date: Sun Jun 24 11:20:13 2007 +0200 hwmon/w83627ehf: Enable VBAT monitoring If VBAT monitoring is disabled, enable it. Original patch from an anonymous contributor on the lm-sensors trac system: http://lm-sensors.org/ticket/2218 Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit fc18d6c0479d5b6da281590a8caf166d60cc748b Author: Jean Delvare Date: Sun Jun 24 11:19:42 2007 +0200 hwmon/w83627ehf: Add support for the VID inputs The W83627EHF and similar chips have 6 VID input pins, add support for them. The driver changes the input voltage level automatically if the current setting is not correct for the detected CPU model. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6b3e46458049fe556c2346a347c4540e532db288 Author: Jean Delvare Date: Sun Jun 24 11:19:01 2007 +0200 hwmon/w83627ehf: Fix timing issues * I have experimental evidence that the W83627EHG needs more than 1 second to refresh all the measured values. Increase the caching time to 1.5 second. * When changing a fan clock divider, the corresponding fan speed measurement register is no longer valid, until the next time the chip will refresh it. One way to fix this is to pretend that the cache is still valid for one more period (1.5 second.) Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 475ef85512900dcb87435e13656c1f5e724de379 Author: David Hubbard Date: Sun Jun 24 11:17:09 2007 +0200 hwmon/w83627ehf: Add error messages for two error cases If the Super-I/O device is disabled, it is likely the BIOS has a good reason for leaving it disabled, so give a warning when enabling it -- it's not likely to be wired correctly or be able to give good data. Also, if the Super-I/O device is configured with an address of 0, the driver refuses to initialize it. Signed-off-by: David Hubbard Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 1ea6dd3840e5a22924d78299fee018c82e425d80 Author: David Hubbard Date: Sun Jun 24 11:16:15 2007 +0200 hwmon/w83627ehf: Convert to a platform driver Remove i2c-isa from the w83627ehf driver, and use a platform driver instead. Signed-off-by: David Hubbard Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 658291fc38715c8723372a869c22b700ec41c972 Author: David Hubbard Date: Sun Jun 24 11:15:03 2007 +0200 hwmon/w83627ehf: Update the Kconfig entry Add description for the W83627DHG chip to Kconfig. Signed-off-by: David Hubbard Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit d2bc7b135a948f788646e3a7aff9ac5597f42f4f Author: Adrian Bunk Date: Fri Jul 6 01:23:06 2007 +0200 make coretemp_device_remove() static coretemp_device_remove() can become static. Signed-off-by: Adrian Bunk Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e46957edfb85e3054ed49350777833e18564c9ff Author: Hans-Jürgen Koch Date: Thu Jul 5 17:58:29 2007 +0200 hwmon: Add LM93 support This patch adds support for the LM93 hardware monitoring chip. Signed-off-by: Hans J. Koch Signed-off-by: Mark M. Hoffman commit 875f25d5f553f7cf3e6a59c50b32e5fc06442945 Author: Jean Delvare Date: Wed Jun 27 21:26:08 2007 +0200 hwmon: Improve the pwmN_enable documentation The documentation of the pwmN_enable interface file is not very clear, and has been confusing several driver authors already. Make it clearer. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 90205c6cbb8fd9880bf798903a99f5b8903455e2 Author: Jean Delvare Date: Sat Jun 23 14:58:22 2007 +0200 hwmon/smsc47b397: Don't report missing fans as spinning at 82 RPM Also protects ourselves against a possible division by zero. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 3faa1ffb4f4be7d10715f4b003ff7b27d14eae26 Author: Hans de Goede Date: Sun Jun 17 00:28:45 2007 +0200 hwmon: Add support for newer uGuru's This patch adds a new driver for the hardware monitoring features of the third revision of the Abit uGuru chip, found on recent Abit motherboards. This is an entirely different beast then the first and second revision (its again a winbond microcontroller, but the "protocol" to talk to it and the bank addresses are very different. Signed-off-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit aba5073d3f4c928c89c483d85f8cff7cc9aa3312 Author: Phil Endecott Date: Fri Jun 29 09:19:14 2007 +0200 hwmon/f71805f: Add temperature-tracking fan control mode Add support for the "temperature mode" fan speed control. In this mode, the user can define 3 temperature/speed trip points, and the chip will set the speed automatically according to the temperature changes. Signed-off-by: Phil Endecott Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 158ce07564b68d4215b9560213a089d6f7c5a4ea Author: Jean Delvare Date: Sun Jun 17 16:09:12 2007 +0200 hwmon/w83627ehf: Preserve speed reading when changing fan min The w83627ehf driver changes the fan clock divider automatically when a new min fan speed is set. It is supposed to preserve the fan speed reading while doing so, bug doesn't really. Fix it. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e432dc811bfb6b3d3ad618d99bd8d58132fec316 Author: Hans de Goede Date: Mon Jun 18 22:59:34 2007 +0200 hwmon: fix detection of abituguru volt inputs This patch fixes the detection of volt inputs with a reading of more then 240 units. Signed-off-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 2dbbdb35746fdc1a3c3bc5b07f197a90e53b059e Author: Juerg Haefliger Date: Wed Jun 20 15:41:33 2007 -0700 hwmon: add SCH5317 to smsc47b397 driver This patch adds the SMSC SCH5317 chip (device ID 0x85) as a supported device to the smsc47b397 driver. Signed-off-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit b74f3fdd98c7186930b8ee841dc542dfdba95473 Author: corentin.labbe Date: Wed Jun 13 20:27:36 2007 +0200 hwmon: convert it87 to platform driver This is the patch for converting it87 to a platform driver (and remove i2c-isa). Signed-off-by: Corentin LABBE Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 04a6217df28e3004ba4e76eb0a356a30f72c564f Author: Jean Delvare Date: Tue Jun 12 13:57:19 2007 +0200 hwmon: Fix a potential race condition on unload Fix a potential race condition when some hardware monitoring platform drivers are being unloaded. I believe that the driver data pointer shouldn't be cleared before all the sysfs files are removed, otherwise a sysfs callback might attempt to dereference a NULL pointer. I'm not sure exactly what the driver core protects drivers against, so let's play it safe. While we're here, clear the driver data pointer when probe fails, so as to not leave an invalid pointer behind us. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ec5e1a4b8faa6a3522171a185a5c6ac9609e14b4 Author: Roger Lucas Date: Tue Jun 12 21:04:08 2007 +0200 hwmon: Convert vt8231 to a platform driver Convert the vt8231 driver from the nonsensical i2c-isa hack to a regular platform driver. Signed-off-by: Roger Lucas Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 2f6ae157905c393f7372607bc2954f7689838199 Author: Jean Delvare Date: Sat Jun 9 10:11:17 2007 -0400 hwmon/sis5595: Use PCI_REVISION_ID Use PCI_REVISION_ID instead of our own define. Signed-off-by: Jean Delvare commit 1f5f48dde709ae6951a2f1e044c21f5641684b0a Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/sis5595: Use dynamic sysfs callbacks This lets us get rid of macro-generated functions and shrinks the driver size by about 7%. Signed-off-by: Jean Delvare commit 17e7dc4373dfcf2a3058d307665263df29dd5fe7 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/sis5595: Convert to a platform driver Convert the sis5595 driver from the nonsensical i2c-isa hack to a regular platform driver. Signed-off-by: Jean Delvare commit 1e71a5a2ce40425e3bf1bbce021a443ec8a24043 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/via686a: Use dynamic sysfs callbacks This lets us get rid of macro-generated functions and shrinks the driver size by about 9%. Signed-off-by: Jean Delvare commit 2ec342e68453d9f3a1ac28ab80ffa8faacf58710 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/via686a: Convert to a platform driver Convert the via686a driver from the nonsensical i2c-isa hack to a regular platform driver. Signed-off-by: Jean Delvare commit 58fe0809cc02d51b7aca05ee858c8bbb0af9e0b6 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/via686a: Temperature interrupt configuration fix Fix the writing of the temperature interrupt configuration. The old code was working only by accident. Signed-off-by: Jean Delvare commit 1550cb6d7e78c7cfdd7b48bee6809795d43d6a33 Author: Carlos Olalla Martinez Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/w83627hf: Add PWM frequency selection support Signed-off-by: Carlos Olalla Signed-off-by: Jean Delvare commit 08a8f6e9e63a4317f716749ba9f828351bd4af35 Author: Rudolf Marek Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/it87: Add IT8726F support Add support for IT8726F chip driver, which is just same as IT8716F with additional glue logic for AMD power sequencing. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 7817a39e65f04abe136d94a65fa26b7fe3334a1f Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon: Fault files naming convention We have the following naming convention documented in Documentation/hwmon/sysfs-interface for fault files: in[0-*]_input_fault fan[1-*]_input_fault temp[1-*]_input_fault Some drivers follow this convention (lm63, lm83, lm90, smsc47m192). However some drivers omit the "input" part and create files named fan1_fault (pc87427) or temp1_fault (dme1737). And the new "generic" libsensors follows this second (non-standard) convention, so it fails to report fault conditions for drivers which follow the standard. We want a single naming scheme, and everyone seems to prefer the shorter variant, so let's go for it. Signed-off-by: Jean Delvare commit 32c82a934759b2c9939c9e25865c2d7d1204b9e8 Author: Rainer Birkenmaier Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/lm90: Add support for the Maxim MAX6680/MAX6681 Signed-off-by: Rainer Birkenmaier Signed-off-by: Jean Delvare commit 2df6d811574f46bea0d38bf91aa54df4c05488cd Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon: Use platform_device_add_data() Use platform_device_add_data() in hardware monitoring drivers. This makes the code nicer and smaller too. Reported by David Hubbard. Signed-off-by: Jean Delvare Cc: David Hubbard commit f641b588fdfd25e73c73f6e4977cd2daf8a5e363 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/pc87360: Convert to a platform driver Convert the pc87360 driver from the nonsensical i2c-isa hack to a regular platform driver. This is a direct conversion, other cleanups could happen on top of that. Signed-off-by: Jean Delvare Acked-by: Jim Cromie commit b825037d185549825d4f35504f2085ec86037110 Author: Juerg Haefliger Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/dme1737: Add documentation Add documentation for the new SMSC DME1737 driver. Signed-off-by: Juerg Haefliger Signed-off-by: Jean Delvare commit 9431996f55f8a3c04cdcb63895cf7661e135fadb Author: Juerg Haefliger Date: Sat Jun 9 10:11:16 2007 -0400 hwmon: New SMSC DME1737 driver Add support for the hardware monitoring and fan control capabilities of the SMSC DME1737 and Asus A8000 Super-I/O chips. The hardware monitoring logic of this chip is similar to the LM85 but has some additional features that this driver supports. Even though it's a Super-I/O chip, the hardware monitoring logic can only be accessed via SMBus. Signed-off-by: Juerg Haefliger Signed-off-by: Jean Delvare commit 87f0f31baf9ea2cb273d7fb56b3ebf9df5096884 Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/ds1621: Create individual alarm files Future versions of libsensors will need this. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit 46a2e71ced949ecf238f796c178f85f03501ce88 Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/ds1621: Use dynamic sysfs callbacks This lets us get rid of macro-generated functions and shrinks the driver size by about 8%. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit 75819f01af77d6d70abc7777e450a0848a9b898b Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/ds1621: Minor cleanups * Discard comments which do not apply or are redundant. * Remove a few useless instructions. * Rename new_client to just client. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit e4a7167f82130fa95005097797bb1ec9c76201fd Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/smsc47m192: Semaphore to mutex conversion Signed-off-by: Jean Delvare commit 0966415d7267c860b88fe96f7e83cfd687efe0bd Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/lm90: Spelling fix: explicitly Signed-off-by: Jean Delvare commit 6ea884dbc6eedd28af0fdb4577cdcb033d459543 Author: Mark M. Hoffman Date: Sat Jun 9 10:11:15 2007 -0400 hwmon: New maintainer Mark M. Hoffman is taking over for Jean Delvare as maintainer of the hwmon subsystem. He is also the author/maintainer for several existing drivers. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 80ed71ce1a3369521c693ebf30abb9cfe1dc7e66 Author: James Bottomley Date: Thu Jul 19 10:15:10 2007 -0500 [SCSI] bsg: separate bsg and SCSI (so SCSI can be modular) This patch moves the bsg registration into SCSI so that bsg no longer has a dependency on the scsi_interface_register API. This can be viewed as a temporary expedient until we can get universal bsg binding sorted out properly. Also use the sdev bus_id as the generic bsg name (to avoid clashes with the queue name). Acked-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 41e9d344bf52c57ec16648d08618b61d3f1d4bdc Author: Jens Axboe Date: Thu Jul 19 08:13:01 2007 +0200 IDE: fix termination of non-fs requests ide-disk calls ide_end_request(drive, 0, 0); to finish an unknown request, but this doesn't work so well for non-fs requests, since ide_end_request() internally looks at ->hard_cur_sectors to see how much data to end. Only file system requests store a transfer value in there, pc requests fill out ->data_len as a byte based transfer value instead. Since we ask to end 0 bytes of that request, it will never be terminated and ide-disk gets stuck in a loop "handling" that same request over and over. Switch __ide_end_request() to take a byte based transfer count, and adjust ide_end_request() to look at the right field to determine how much IO to end when it's being passed in 0. Acked-by: Bartlomiej Zolnierkiewicz Tested-By: Giacomo Catenazzi Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit b02b6bc46571b21a545c9e697df1e226ff22bc81 Author: Kristian Høgsberg Date: Wed May 9 19:23:12 2007 -0400 [SCSI] Make scsi_host_template::proc_name const char * instead of char *. Signed-off-by: Kristian Høgsberg collapsed with fw-sbp2 patch "Drop cast to non-const char * in host template initialization." from Kristian Høgsberg Signed-off-by: Stefan Richter Signed-off-by: James Bottomley commit 275afcac9953ece0828972edeab9684cfe1a5ef3 Author: Andrew Morton Date: Thu Jul 19 01:50:35 2007 -0700 afs build fix Bruce and David's patches clashed. fs/afs/flock.c: In function 'afs_do_getlk': fs/afs/flock.c:459: error: void value not ignored as it ought to be Cc: "J. Bruce Fields" Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed2c12f323e8fafbc94f9bcfb924f9df36e64dc7 Author: Andrew Morton Date: Thu Jul 19 01:50:35 2007 -0700 kernel/sysctl.c: finish off the warning comments I've been chasing these comments around this file all week. Hopefully we're straight now. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87f24c3ac399e82c578e71311251f00618fc5203 Author: Doug Thompson Date: Thu Jul 19 01:50:34 2007 -0700 drivers/edac: add to edac docs Updated the EDAC kernel documentation Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2a4ac0c2860b27670bce99e8c9c281bf431c272 Author: Doug Thompson Date: Thu Jul 19 01:50:33 2007 -0700 drivers/edac: fix edac_device sysfs corner case bug Some simple fixes to properly reference counter values from the block attribute level of edac_device objects. Properly sequencing the array pointer was added, resulting in correct identification of block level attributes from their base class functions. Added more verbose debug statement for event tracking. Also during some corner testing, found a bug in the store/show sequence of operations for the block attribute/controls management. An old intermediate structure for 'blocks' was still in the processing pipeline. This patch removes that old structure and correctly utilizes the new struct edac_dev_sysfs_block_attribute for passing control from the sysfs to the low level store/show function of the edac driver. Now the proper kobj pointer to passed downward to the store/show functions. Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba9a5918c86762fa7fae353c635bb6ed5221dfb8 Author: Douglas Thompson Date: Thu Jul 19 01:50:32 2007 -0700 drivers/edac: add to maintainers new info Update maintainer information on edac components Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 420390f06a5afd3e130b960ef99bc4bd4286e535 Author: Ranganathan Desikan Date: Thu Jul 19 01:50:31 2007 -0700 drivers/edac: new i82975x driver New EDAC driver for the i82975x memory controller chipset Used on ASUS motherboards [akpm@linux-foundation.org: fix multiple coding-style bloopers] Signed-off-by: Signed-off-by: Ranganathan Desikan Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf52fa4a26567bfbf5b1d30f84cf0226e61d26cd Author: Doug Thompson Date: Thu Jul 19 01:50:30 2007 -0700 drivers/edac: fix workq reset deadlock Fix mutex locking deadlock on the device controller linked list. Was calling a lock then a function that could call the same lock. Moved the cancel workq function to outside the lock Added some short circuit logic in the workq code Added comments of description Code tidying Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb3fb2068775a1363265edc00870aa5e2f0e3631 Author: Doug Thompson Date: Thu Jul 19 01:50:30 2007 -0700 drivers/edac: code tidying on export-gpl Change EXPORT_SYMBOLs to EXPORT_SYMBOLS_GPL Tidy changes: blank lines, inline removal, add comment Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c3631ff1f805cb72644fcde02b7c58950f21cd5 Author: Douglas Thompson Date: Thu Jul 19 01:50:29 2007 -0700 drivers/edac: fix edac_device sysfs completion code With feedback, this patch corrects operation of the kobject release operation on kobjects, attributes and controls for the edac_device. Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8096cfafbb7ad3cb1a286ae7e8086167f4ebb4b6 Author: Doug Thompson Date: Thu Jul 19 01:50:27 2007 -0700 drivers/edac: fix edac_mc sysfs completion code This patch refactors the 'releasing' of kobjects for the edac_mc type of device. The correct pattern of kobject release is followed. As internal kobjs are allocated they bump a ref count on the top level kobj. It in turn has a module ref count on the edac_core module. When internal kobjects are released, they dec the ref count on the top level kobj. When the top level kobj reaches zero, it decrements the ref count on the edac_core object, allow it to be unloaded, as all resources have all now been released. Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d45e7823baf655ced91c7987fb4ba9aae990ad6d Author: Doug Thompson Date: Thu Jul 19 01:50:27 2007 -0700 drivers/edac: fix edac_device init apis Refactoring of sysfs code necessitated the refactoring of the edac_device_alloc() and edac_device_add_device() apis, of moving the index value to the alloc() function. This patch alters the in tree drivers to utilize this new api signature. Having the index value performed later created a chicken-and-the-egg issue. Moving it to the alloc() function allows for creating the necessary sysfs entries with the proper index number Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8f6f9755248026f21282e25cac49a1af698056c Author: Doug Thompson Date: Thu Jul 19 01:50:26 2007 -0700 drivers/edac: fix edac_mc init apis Refactoring of sysfs code necessitated the refactoring of the edac_mc_alloc() and edac_mc_add_mc() apis, of moving the index value to the alloc() function. This patch alters the in tree drivers to utilize this new api signature. Having the index value performed later created a chicken-and-the-egg issue. Moving it to the alloc() function allows for creating the necessary sysfs entries with the proper index number Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd309a9d8e63e9176759d00630b65d772ae06e0c Author: Douglas Thompson Date: Thu Jul 19 01:50:25 2007 -0700 drivers/edac: fix leaf sysfs attribute This patch fixes and enhances the driver level set of sysfs attributes that can be added to the 'block' level of an edac_device type of driver. There is a controller information structure, which contains one or more instances of device. Each instance will have one or more blocks of device specific counters. This patch fixes the ability to have more detailed attributes/controls for each of the 'blocks', providing for the addition of controls/attributes from the low level driver to user space via sysfs. Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Douglas Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d8536fb484360f35c0a9e3631641948bf168e2b Author: Egor Martovetsky Date: Thu Jul 19 01:50:24 2007 -0700 drivers/edac: new pasemi driver NEW EDAC driver for the memory controllers on PA Semi PA6T-1682M. Changes since last submission: * Rebased on top of 2.6.22-rc4-mm2 with the EDAC changes merged there. * Minor checkpatch.pl cleanups * Renamed ctl_name * Added dev_name * edac_mc.h -> edac_core.h [akpm@linux-foundation.org: make printk more informative] Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Egor Martovetsky Signed-off-by: Olof Johansson Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7297c2617f6465d7862e156d4db5d812744280f1 Author: Mark Grondona Date: Thu Jul 19 01:50:23 2007 -0700 drivers/edac: fix e752x reversed csrows Found a 'reversal' decoding bug in the driver. This patch fixes that mapping to correctly display the CSROW entries in their proper order. Users will be enable to correctly identifiy the failing DIMM with this fix. [akpm@linux-foundation.org: unneeded (and undesirable) cast of void*] Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Mark Grondona Signed-off-by: Doug Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ca84761faeb9d49301d45b39859411c7a124690 Author: Doug Thompson Date: Thu Jul 19 01:50:22 2007 -0700 drivers/edac: fix edac_device semaphore to mutex A previous patch changed the edac_mc src file from semaphore usage to mutex This patch changes the edac_device src file as well, from semaphore use to mutex operation. Use a mutex primitive for mutex operations, as it does not require a semaphore Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f065e723b02afb0d36a2aae8e6d206ba2667fc6 Author: Douglas Thompson Date: Thu Jul 19 01:50:22 2007 -0700 drivers/edac: remove file edac_mc.h Removed the no-longer-needed file edac_mc.h Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 494d0d55bcc7ef94c744a59779327e45a27f7801 Author: Douglas Thompson Date: Thu Jul 19 01:50:21 2007 -0700 drivers/edac: mod edac_opt_state_to_string function Refactored the function edac_op_state_toString() to be edac_op_state_to_string() for consistent style, and its callers Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7391c6dcab3094610cb99bbd559beaa282582eac Author: Douglas Thompson Date: Thu Jul 19 01:50:21 2007 -0700 drivers/edac: mod edac_align_ptr function Refactor the edac_align_ptr() function to reduce the noise of casting the aligned pointer to the various types of data objects and modified its callers to its new signature Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52490c8d07680a7ecc3c1a70a16841455d37e96a Author: Douglas Thompson Date: Thu Jul 19 01:50:20 2007 -0700 drivers/edac: edac_device code tidying For the file edac_device.c perform some coding style enhancements Add some function header comments Made for better readability commands Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2ccaecad2b00bf7bc72d5b864425daf43a4080d Author: Douglas Thompson Date: Thu Jul 19 01:50:19 2007 -0700 drivers/edac: i5000 code tidying Various code style conformance patches on the i5000 driver Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f044091ca4c0b05be8f83748d76d4fbba4fc74cf Author: Douglas Thompson Date: Thu Jul 19 01:50:19 2007 -0700 drivers/edac: remove null from statics Patches to conform to coding style, namely static don't need to be initialized to NULL nor '0', as that is the default Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 977c76bd687585f4528c6c9c6966842955771f52 Author: Marisuz Kozlowski Date: Thu Jul 19 01:50:18 2007 -0700 drivers/edac: i5000 define typo Found a typo in one of the #defines in the driver MTR_DIM_RANKS --> MTR_DIMM_RANK Signed-off-by: Marisuz Kozlowski Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53078ca84b1c01f36c306d1f52e2f88c7bb2f9e4 Author: Douglas Thompson Date: Thu Jul 19 01:50:17 2007 -0700 include/linux/pci_id.h: add amd northbridge defines pci_ids.h needs two of the AMD NB device-ids namely, Addressmap and the Memory Controller devices This patch adds those to the pci_id.h include file Signed-off-by: Douglas Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c52152b3008b7bdcc3b94d0be4d0b814dce1530 Author: Douglas Thompson Date: Thu Jul 19 01:50:17 2007 -0700 drivers/edac: fix ignored return i82875p Compiling this module gave a warning that the return value of 'pci_bus_add_device()' was not checked. This patch adds that check and an output message Signed-off-by: Douglas Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 654ede200fe028373852bbca387ab4834ddb7228 Author: Jason Uhlenkott Date: Thu Jul 19 01:50:16 2007 -0700 drivers/edac: mod race fix i82875p If ERRSTS indicates that there's no error then we don't need to bother reading the other registers. In addition to making the common case faster, this actually fixes a small race where we don't see an error but we clear the error bits anyway, potentially wiping away info on an error that happened in the interim (or where a CE arrives between the first and second read of ERRSTS, causing us to falsely claim "UE overwrote CE"). Signed-off-by: Jason Uhlenkott Signed-off-by: Douglas Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b113a3f7e85d7f97c8383a88a5bc7c2ea8daeb2f Author: Douglas Thompson Date: Thu Jul 19 01:50:15 2007 -0700 drivers/edac: add mips and ppc visibility 1) Remove an old CVS ID string 2) change EDAC from a tristate option to a simple bool option 3) In addition to the X86 arch, PPC and MIPS also have drivers in the submission queue. This patch turns on the EDAC flag for those archs. Each driver will have its respective 'depends on ARCH' set. Signed-off-by: Douglas Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 052dfb45ccb5ea354a426b52556bcfee75b9d2f5 Author: Douglas Thompson Date: Thu Jul 19 01:50:13 2007 -0700 drivers/edac: cleanup spaces-gotos after Lindent messup This patch fixes some remnant spaces inserted by the use of Lindent. Seems Lindent adds some spaces when it shoulded. These have been fixed. In addition, goto targets have issues, these have been fixed in this patch. Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bc7840411b8c7fe11e1879d882c88119d1c033e Author: Douglas Thompson Date: Thu Jul 19 01:50:12 2007 -0700 drivers/edac: update MAINTAINERS files for EDAC Added new maintainers for the new EDAC drivers. Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cb2a39831b25f2289a2a6571666a135e475035c Author: Douglas Thompson Date: Thu Jul 19 01:50:12 2007 -0700 drivers/edac: add info kconfig Kconfig - modified the help of EDAC Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d391a7b8147d12b0e5141fb65829856fb0c289dc Author: Douglas Thompson Date: Thu Jul 19 01:50:11 2007 -0700 drivers/edac: device output clenaup The error handling output strings needed to be refactored for better displaying of the error informaton. Also needed to added offset_value for output as well Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a8e397a80c277afb2aeb22232bc70114035bb1 Author: Douglas Thompson Date: Thu Jul 19 01:50:10 2007 -0700 drivers/edac: add device sysfs attributes Added new controls for the edac_device and edac_mc sysfs folder. These can be initialized by the low level driver to provide misc controls into the low level driver for its use Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 456a2f9552e7849475f4aea1a9aa4c0e54b3ddda Author: Dave Jiang Date: Thu Jul 19 01:50:10 2007 -0700 drivers/edac: drivers to use new PCI operation Move x86 drivers to new pci controller setup Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cddbfcacf02dc2d5b074fc2717358a7529a190db Author: Douglas Thompson Date: Thu Jul 19 01:50:08 2007 -0700 drivers/edac: Lindent r82600 Run r82600_edac.c file through Lindent for cleanup Signed-off-by: Douglas Thompson Signed-off-by: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11116601092c42364892d3f59c8f4a8a30916867 Author: Douglas Thompson Date: Thu Jul 19 01:50:07 2007 -0700 drivers/edac: Lindent i82443bxgx Run i82443bxgx.c file through Lindent for cleanup Signed-off-by: Douglas Thompson Signed-off-by: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 203333cbbaae3941504c2b6e92850783bf361b6f Author: Dave Jiang Date: Thu Jul 19 01:50:06 2007 -0700 drivers/edac: Lindent e752x Run e752x_edac.c file through Lindent for cleanup Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 466b71d58413a515a8029b4eccf98c08b8bb5aca Author: Dave Jiang Date: Thu Jul 19 01:50:05 2007 -0700 drivers/edac: Lindent i82875p Lindent cleanup of i82875p_edac driver Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4e8b37201d647e4b4abb89d57ebdb8c739d5405 Author: Dave Jiang Date: Thu Jul 19 01:50:04 2007 -0700 drivers/edac: Lindent i82860 Lindent cleanup of i82860 edac driver Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36b8289e249f800a57a4c908a9a7e91345f516ef Author: Dave Jiang Date: Thu Jul 19 01:50:04 2007 -0700 drivers/edac: Lindent i3000 Lindent cleanup of i3000_edac driver Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 849a4c375a8e06cd000399dceb25888d356d021f Author: Dave Jiang Date: Thu Jul 19 01:50:03 2007 -0700 drivers/edac: Lindent e7xxx Lindent cleanup of e7xxx_edac driver Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4aff426533f62c46d4e4d104572d838d35034eb Author: Douglas Thompson Date: Thu Jul 19 01:50:03 2007 -0700 drivers/edac: Lindent i5000 Ran e752x_edac.c file through Lindent for cleanup Signed-off-by: Douglas Thompson Signed-off-by: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67cb2b61225601ef1ead842c7a012bb6da19f847 Author: Douglas Thompson Date: Thu Jul 19 01:50:02 2007 -0700 drivers/edac: Lindent amd76x Ran this driver through Lindent for cleanup Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86aa8cb7bc47fe786df073246055d69d98e6330a Author: Douglas Thompson Date: Thu Jul 19 01:50:01 2007 -0700 drivers/edac: cleanup workq ifdefs The origin of this code comes from patches at sourceforge, that allow EDAC to be updated to various kernels. With kernel version 2.6.20 a new workq system was installed, thus the patches needed to be modified based on the kernel version. For submitting to the latest kernel.org those #ifdefs are removed Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 542b25881a6ae1bf0804d4d39bf8b4d2cfc25e42 Author: Douglas Thompson Date: Thu Jul 19 01:50:01 2007 -0700 drivers/edac: edac_device sysfs cleanup Removal of some old dead and disabled code from the edac_device sysfs code Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 079708b9173595bf74b31b14c36e946359ae6c7e Author: Douglas Thompson Date: Thu Jul 19 01:49:58 2007 -0700 drivers/edac: core Lindent cleanup Run the EDAC CORE files through Lindent for cleanup Signed-off-by: Douglas Thompson Signed-off-by: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4de78c6877ec21142582ac19453c2d453d1ea298 Author: Dave Jiang Date: Thu Jul 19 01:49:54 2007 -0700 drivers/edac: mod PCI poll names Fixup poll values for MC and PCI. Also make mc function names unique to mc. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66ee2f940ac8ab25f0c43a1e717d25dc46bfe74d Author: Dave Jiang Date: Thu Jul 19 01:49:54 2007 -0700 drivers/edac: mod assert_error check Change error check and clear variable from an atomic to an int Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Linus Torvalds commit 91b99041c1d577ded1da599ddc28cec2e07253cf Author: Dave Jiang Date: Thu Jul 19 01:49:52 2007 -0700 drivers/edac: updated PCI monitoring Moving PCI to a per-instance device model This should include the correct sysfs setup as well. Please review. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81d87cb13e367bb804bf44889ae0de7369705d6c Author: Dave Jiang Date: Thu Jul 19 01:49:52 2007 -0700 drivers/edac: mod MC to use workq instead of kthread Move the memory controller object to work queue based implementation from the kernel thread based. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 535c6a53035d8911f6b90455550c5fde0da7b866 Author: Jason Uhlenkott Date: Thu Jul 19 01:49:48 2007 -0700 drivers/edac: new inte 30x0 MC driver Here's a driver for the Intel 3000 and 3010 memory controllers, relative to today's Sourceforge code drop. This has only had light testing (I've yet to actually see it handle a memory error) but it detects my hardware correctly. Signed-off-by: Jason Uhlenkott Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4192705fec85219086231a1c0fa61e8776e2c3b Author: Dave Jiang Date: Thu Jul 19 01:49:47 2007 -0700 drivers/edac: add dev_name getter function Move dev_name() macro to a more generic interface since it's not possible to determine whether a device is pci, platform, or of_device easily. Now each low level driver sets the name into the control structure, and the EDAC core references the control structure for the information. Better abstraction. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20bcb7a81dee21bfa3408f03f46b2891c9b5c84b Author: Douglas Thompson Date: Thu Jul 19 01:49:47 2007 -0700 drivers/edac: mod use edac_core.h In the refactoring of edac_mc.c into several subsystem files, the header file edac_mc.h became meaningless. A new header file edac_core.h was created. All the files that previously included "edac_mc.h" are changed to include "edac_core.h". Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0d121720220584bba2876b032e58a076b843fa1 Author: Dave Jiang Date: Thu Jul 19 01:49:46 2007 -0700 drivers/edac: add new nmi rescan Provides a way for NMI reported errors on x86 to notify the EDAC subsystem pending ECC errors by writing to a software state variable. Here's the reworked patch. I added an EDAC stub to the kernel so we can have variables that are in the kernel even if EDAC is a module. I also implemented the idea of using the chip driver to select error detection mode via module parameter and eliminate the kernel compile option. Please review/test. Thx! Also, I only made changes to some of the chipset drivers since I am unfamiliar with the other ones. We can add similar changes as we go. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f96eeafc89643d411d54c258788a8573576127 Author: Andrew Morton Date: Thu Jul 19 01:49:45 2007 -0700 drivers/edac-new-i82443bxgz-mc-driver: mark as broken It will claim the PCI devices from under intel_agp.ko's feet. Greg is brewing some fix for that. Cc: Douglas Thompson Cc: Tim Small Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a2c675c891960f86c025d4ab3d3904364bf4f96 Author: Tim Small Date: Thu Jul 19 01:49:42 2007 -0700 drivers/edac: new i82443bxgz MC driver This is a NEW EDAC Memory Controller driver for the 440BX chipset (I82443BXGX) created and submitted by Timm Small Signed-off-by: Tim Small Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 522a94bd1e18a2acf9428f48db585a2fc816559e Author: Douglas Thompson Date: Thu Jul 19 01:49:41 2007 -0700 drivers/edac: core.h fix scrubdefs Patch to fix some scrubbing #defines in the edac_core.h file Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb60705ac5a9869b2d078f0b472ea64b9b52b684 Author: Eric Wollesen Date: Thu Jul 19 01:49:39 2007 -0700 drivers/edac: new intel 5000 MC driver Eric Wollesen ported the Bluesmoke Memory Controller driver (written by Doug Thompson) for the Intel 5000X/V/P (Blackford/Greencreek) chipset to the in kernel EDAC model. This patch incorporates the module for the 5000X/V/P chipset family [m.kozlowski@tuxland.pl: edac i5000 parenthesis balance fix] Signed-off-by: Eric Wollesen Signed-off-by: Doug Thompson Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63b7df9101895d1f0a259c567b3bab949a23075f Author: Matthias Kaehlcke Date: Thu Jul 19 01:49:38 2007 -0700 drivers/edac: change from semaphore to mutex operation The EDAC core code uses a semaphore as mutex. use the mutex API instead of the (binary) semaphore. Matthaias wrote this, but since I had some patches ahead of it, I need to modify it to follow my patches. Signed-off-by: Matthias Kaehlcke Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a9b85e6b36cdd046b0a354c38af20a7155272b8 Author: Dave Jiang Date: Thu Jul 19 01:49:38 2007 -0700 drivers/edac: mc sysfs add missing mem types Adding missing mem types for use in the sysfs presentation file for Memory Controller device objects. Signed-off-by: Dave Jiang Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e27e3dac651771fe3250f6305dee277bce29fc5d Author: Douglas Thompson Date: Thu Jul 19 01:49:36 2007 -0700 drivers/edac: add edac_device class This patch adds the new 'class' of object to be managed, named: 'edac_device'. As a peer of the 'edac_mc' class of object, it provides a non-memory centric view of an ERROR DETECTING device in hardware. It provides a sysfs interface and an abstraction for varioius EDAC type devices. Multiple 'instances' within the class are possible, with each 'instance' able to have multiple 'blocks', and each 'block' having 'attributes'. At the 'block' level there are the 'ce_count' and 'ue_count' fields which the device driver can update and/or call edac_device_handle_XX() functions. At each higher level are additional 'total' count fields, which are a summation of counts below that level. This 'edac_device' has been used to capture and present ECC errors which are found in a a L1 and L2 system on a per CORE/CPU basis. Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c9281d76c1c0b130f79d5fc021084e9749959d4 Author: Douglas Thompson Date: Thu Jul 19 01:49:33 2007 -0700 drivers/edac: split out functions to unique files This is a large patch to refactor the original EDAC module in the kernel and to break it up into better file granularity, such that each source file contains a given subsystem of the EDAC CORE. Originally, the EDAC 'core' was contained in one source file: edac_mc.c with it corresponding edac_mc.h file. Now, there are the following files: edac_module.c The main module init/exit function and other overhead edac_mc.c Code handling the edac_mc class of object edac_mc_sysfs.c Code handling for sysfs presentation edac_pci_sysfs.c Code handling for PCI sysfs presentation edac_core.h CORE .h include file for 'edac_mc' and 'edac_device' drivers edac_module.h Internal CORE .h include file This forms a foundation upon which a later patch can create the 'edac_device' class of object code in a new file 'edac_device.c'. Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d56933e018b14fc7cad322f413eecc6cb6edf12e Author: Douglas Thompson Date: Thu Jul 19 01:49:32 2007 -0700 drivers/edac: add RDDR2 memory types Add Registered RDDR2 memory types for displaying DDR2 memories Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2da1c119fd999cb834b4fe0c1a5a8c36195df1cb Author: Adrian Bunk Date: Thu Jul 19 01:49:32 2007 -0700 drivers/edac: core: make functions static This patch makes needlessly global code static, in the edac core Signed-off-by: Adrian Bunk Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5da0831c598f94582bce6bb0a55b8de2f9897cb1 Author: Douglas Thompson Date: Thu Jul 19 01:49:31 2007 -0700 drivers/edac: add edac_mc_find API This simple patch adds an important CORE API for EDAC that EDAC drivers can use to find their edac_mc control structure by passing a mem_ctl_info 'instance' value Needed for subsequent patches Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ca47e00690914a9e5e6c734baa37c829a2f2fa1 Author: Rusty Russell Date: Thu Jul 19 01:49:29 2007 -0700 lguest: the documentation, example launcher A brief document describing how to use lguest. Because lguest doesn't have an ABI we also include an example launcher in the Documentation directory. [jmorris@namei.org: Fix up nat example in documentation] Signed-off-by: Rusty Russell Cc: Andi Kleen Signed-off-by: James Morris Cc: Matias Zabaljauregui Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b754416bfe9adac6468e45fba244d77f52048aeb Author: Rusty Russell Date: Thu Jul 19 01:49:29 2007 -0700 lguest: the block driver Lguest block driver A simple block driver for lguest. Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d503e2fa5aecef99675c5a81b61321a5407bf61f Author: Rusty Russell Date: Thu Jul 19 01:49:28 2007 -0700 lguest: the net driver Lguest net driver A simple net driver for lguest. [akpm@linux-foundation.org: include fix] Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Jeff Garzik Acked-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f8c4d3f82c564e5e27c6375fe17544f694359dc Author: Rusty Russell Date: Thu Jul 19 01:49:27 2007 -0700 lguest: the console driver A simple console driver for lguest. Signed-off-by: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 709e89266b60eff444fc512400321eb02d2474eb Author: Rusty Russell Date: Thu Jul 19 01:49:27 2007 -0700 lguest: the Makefile and Kconfig This is the Kconfig and Makefile to allow lguest to actually be compiled. Signed-off-by: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6db7016d17b235a24e0c1544c202defa47ae7247 Author: Rusty Russell Date: Thu Jul 19 01:49:26 2007 -0700 lguest: the asm offsets This is the structure offsets required by lg.ko's switcher.S. Unfortunately we don't have infrastructure for private asm-offsets creation. Signed-off-by: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7e28ffe6c74416b54345d6004fd0964c115b12c Author: Rusty Russell Date: Thu Jul 19 01:49:23 2007 -0700 lguest: the host code This is the code for the "lg.ko" module, which allows lguest guests to be launched. [akpm@linux-foundation.org: update for futex-new-private-futexes] [akpm@linux-foundation.org: build fix] [jmorris@namei.org: lguest: use hrtimers] [akpm@linux-foundation.org: x86_64 build fix] Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Eric Dumazet Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07ad157f6e5d228be78acd5cea0291e5d0360398 Author: Rusty Russell Date: Thu Jul 19 01:49:22 2007 -0700 lguest: the guest code lguest is a simple hypervisor for Linux on Linux. Unlike kvm it doesn't need VT/SVM hardware. Unlike Xen it's simply "modprobe and go". Unlike both, it's 5000 lines and self-contained. Performance is ok, but not great (-30% on kernel compile). But given its hackability, I expect this to improve, along with the paravirt_ops code which it supplies a complete example for. There's also a 64-bit version being worked on and other craziness. But most of all, lguest is awesome fun! Too much of the kernel is a big ball of hair. lguest is simple enough to dive into and hack, plus has some warts which scream "fork me!". This patch: This is the code and headers required to make an i386 kernel an lguest guest. Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5992b6dac0d23a2b51a1ccbaf8f1a2e62097b12b Author: Rusty Russell Date: Thu Jul 19 01:49:21 2007 -0700 lguest: export symbols for lguest as a module lguest does some fairly lowlevel things to support a host, which normal modules don't need: math_state_restore: When the guest triggers a Device Not Available fault, we need to be able to restore the FPU __put_task_struct: We need to hold a reference to another task for inter-guest I/O, and put_task_struct() is an inline function which calls __put_task_struct. access_process_vm: We need to access another task for inter-guest I/O. map_vm_area & __get_vm_area: We need to map the switcher shim (ie. monitor) at 0xFFC01000. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57deb52622f3700d154e32662f36cd5f4053f6ed Author: Alessandro Zummo Date: Thu Jul 19 01:49:21 2007 -0700 RTC: add periodic irq support to rtc-cmos Adds support for periodic irq enabling in rtc-cmos. This could be used by the ALSA driver and is already being tested with the zaptel ztdummy module. Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7d51402d2a64c5b96531f9900bb368020ebbbbb Author: J. Bruce Fields Date: Thu Jul 19 01:49:20 2007 -0700 knfsd: clean up EX_RDONLY Share a little common code, reverse the arguments for consistency, drop the unnecessary "inline", and lowercase the name. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e22841c637dc8b308b40f59d64a5b6683d458ab7 Author: J. Bruce Fields Date: Thu Jul 19 01:49:20 2007 -0700 knfsd: move EX_RDONLY out of header EX_RDONLY is only called in one place; just put it there. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1 Author: J. Bruce Fields Date: Thu Jul 19 01:49:19 2007 -0700 nfsd: remove unnecessary NULL checks from nfsd_cross_mnt We can now assume that rqst_exp_get_by_name() does not return NULL; so clean up some unnecessary checks. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a25b96c1f6e1a3c85c9524f3046c7c75d8fecc7 Author: J. Bruce Fields Date: Thu Jul 19 01:49:18 2007 -0700 nfsd: return errors, not NULL, from export functions I converted the various export-returning functions to return -ENOENT instead of NULL, but missed a few cases. This particular case could cause actual bugs in the case of a krb5 client that doesn't match any ip-based client and that is trying to access a filesystem not exported to krb5 clients. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a280df32db291f41b3922ac218674be526af5b9b Author: J. Bruce Fields Date: Thu Jul 19 01:49:18 2007 -0700 nfsd: fix possible read-ahead cache and export table corruption The value of nperbucket calculated here is too small--we should be rounding up instead of down--with the result that the index j in the following loop can overflow the raparm_hash array. At least in my case, the next thing in memory turns out to be export_table, so the symptoms I see are crashes caused by the appearance of four zeroed-out export entries in the first bucket of the hash table of exports (which were actually entries in the readahead cache, a pointer to which had been written to the export table in this initialization code). It looks like the bug was probably introduced with commit fce1456a19f5c08b688c29f00ef90fdfa074c79b ("knfsd: make the readahead params cache SMP-friendly"). Cc: Cc: Greg Banks Signed-off-by: "J. Bruce Fields" Acked-by: NeilBrown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d688abf50bd5a30d2c44dea2a72dd59052cd3cce Author: Andrew Morton Date: Thu Jul 19 01:49:17 2007 -0700 move page writeback acounting out of macros page-writeback accounting is presently performed in the page-flags macros. This is inconsistent and a bit ugly and makes it awkward to implement per-backing_dev under-writeback page accounting. So move this accounting down to the callsite(s). Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6819457d2cb7fe4fdb0fc3655b6b6dc71a86bee9 Author: Thomas Gleixner Date: Thu Jul 19 01:49:16 2007 -0700 timer.c: cleanup recently introduced whitespace damage Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71120f183bff04ba4f7ba3cc554202061912d548 Author: Thomas Gleixner Date: Thu Jul 19 01:49:16 2007 -0700 timekeeping: fixup shadow variable argument clocksource_adjust() has a clock argument, which shadows the file global clock variable. Fix this up. Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10146801e8b960d7473e350b60458d9d5a2be1cf Author: Greg Ungerer Date: Thu Jul 19 01:49:15 2007 -0700 m68knommu: remove is_in_rom() function Remove is_in_rom() function. It doesn't actually serve the purpose it was intended to. If you look at the use of it _access_ok() (which is the only use of it) then it is obvious that most of memory is marked as access_ok. No point having is_in_rom() then, so remove it. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4c8b9159000018b0c641b844795a4de4e954582 Author: Greg Ungerer Date: Thu Jul 19 01:49:14 2007 -0700 m68knommu: start dump from exception stack In die_if_kernel() start the stack dump at the exception-time SP, not at the SP with all the saved registers; the stack below exception-time sp contains only exception-saved values and is already printed in details just before. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2502b667ea835ee16685c74b2a0d89ba8afe117a Author: Greg Ungerer Date: Thu Jul 19 01:49:12 2007 -0700 m68knommu: generic irq handling Change the m68knommu irq handling to use the generic irq framework. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8af0bb890d6cdcb09ec042c128e217a7c500355 Author: Akinobu Mita Date: Thu Jul 19 01:49:12 2007 -0700 hugetlb: use set_compound_page_dtor Use appropriate accessor function to set compound page destructor function. Cc: William Irwin Signed-off-by: Akinobu Mita Acked-by: Adam Litke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ed5cb2b73d0c4165c0504c95454fade0c0bf3d9 Author: Hugh Dickins Date: Thu Jul 19 01:49:11 2007 -0700 Remove nid_lock from alloc_fresh_huge_page The fix to that race in alloc_fresh_huge_page() which could give an illegal node ID did not need nid_lock at all: the fix was to replace static int nid by static int prev_nid and do the work on local int nid. nid_lock did make sure that racers strictly roundrobin the nodes, but that's not something we need to enforce strictly. Kill nid_lock. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3aded3cc289113c7bc729ef4cb75e56d9aa71be Author: Alexey Dobriyan Date: Thu Jul 19 01:49:10 2007 -0700 isdn/sc: compile breakage re check_reset() There is check_reset() -- global function in drivers/isdn/sc/ There is check_reset -- variable holding module param in aacraid driver. On allyesconfig they clash with: LD drivers/built-in.o drivers/isdn/built-in.o: In function `check_reset': : multiple definition of `check_reset' drivers/scsi/built-in.o:(.data+0xe458): first defined here ld: Warning: size of symbol `check_reset' changed from 4 in drivers/scsi/built-in.o to 219 in drivers/isdn/built-in.o ld: Warning: type of symbol `check_reset' changed from 1 to 2 in drivers/isdn/built-in.o Rename the former. Signed-off-by: Alexey Dobriyan Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ac674f52778b95450509357435320be1d795248 Author: Benjamin Herrenschmidt Date: Thu Jul 19 01:49:10 2007 -0700 vmalloc_32 should use GFP_KERNEL I've noticed lots of failures of vmalloc_32 on machines where it shouldn't have failed unless it was doing an atomic operation. Looking closely, I noticed that: #if defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA32) #define GFP_VMALLOC32 GFP_DMA32 #elif defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA) #define GFP_VMALLOC32 GFP_DMA #else #define GFP_VMALLOC32 GFP_KERNEL #endif Which seems to be incorrect, it should always -or- in the DMA flags on top of GFP_KERNEL, thus this patch. This fixes frequent errors launchin X with the nouveau DRM for example. Signed-off-by: Benjamin Herrenschmidt Cc: Andi Kleen Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea02e3dde3509ffa7fda7f8de9c8a366e03f7bbd Author: David Howells Date: Thu Jul 19 01:49:09 2007 -0700 FRV: work around a possible compiler bug Work around a possible bug in the FRV compiler. What appears to be happening is that gcc resolves the __builtin_constant_p() in kmalloc() to true, but then fails to reduce the therefore constant conditions in the if-statements it guards to constant results. When compiling with -O2 or -Os, one single spurious error crops up in cpuup_callback() in mm/slab.c. This can be avoided by making the memsize variable const. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3abf7afd406866a84276d3ed04f4edf6070c9cb5 Author: Andrew Morton Date: Thu Jul 19 01:49:08 2007 -0700 dequeue_huge_page() warning fix mm/hugetlb.c: In function `dequeue_huge_page': mm/hugetlb.c:72: warning: 'nid' might be used uninitialized in this function Cc: Christoph Lameter Cc: Adam Litke Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd00cc486ab1c17049a535413d1751ef3482141c Author: Yoann Padioleau Date: Thu Jul 19 01:49:03 2007 -0700 some kmalloc/memset ->kzalloc (tree wide) Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc). Here is a short excerpt of the semantic patch performing this transformation: @@ type T2; expression x; identifier f,fld; expression E; expression E1,E2; expression e1,e2,e3,y; statement S; @@ x = - kmalloc + kzalloc (E1,E2) ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\) - memset((T2)x,0,E1); @@ expression E1,E2,E3; @@ - kzalloc(E1 * E2,E3) + kcalloc(E1,E2,E3) [akpm@linux-foundation.org: get kcalloc args the right way around] Signed-off-by: Yoann Padioleau Cc: Richard Henderson Cc: Ivan Kokshaysky Acked-by: Russell King Cc: Bryan Wu Acked-by: Jiri Slaby Cc: Dave Airlie Acked-by: Roland Dreier Cc: Jiri Kosina Acked-by: Dmitry Torokhov Cc: Benjamin Herrenschmidt Acked-by: Mauro Carvalho Chehab Acked-by: Pierre Ossman Cc: Jeff Garzik Cc: "David S. Miller" Acked-by: Greg KH Cc: James Bottomley Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b5ad0797c0e4049001f961a8b58f1d0ce532072 Author: Johannes Berg Date: Thu Jul 19 01:49:02 2007 -0700 stacktrace: fix header file for !CONFIG_STACKTRACE The print_stack_trace macro in stacktrace.h has a wrong number of arguments, fix it. Signed-off-by: Johannes Berg Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c71063c9c9dc232d0d51f936f237f7dc5681e8e3 Author: Johannes Berg Date: Thu Jul 19 01:49:02 2007 -0700 lockdep debugging: give stacktrace for init_error When I started adding support for lockdep to 64-bit powerpc, I got a lockdep_init_error and with this patch was able to pinpoint why and where to put lockdep_init(). Let's support this generally for others adding lockdep support to their architecture. Signed-off-by: Johannes Berg Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d38e1d5aaee384698fcef9455d6e2df1d062a1d0 Author: Peter Zijlstra Date: Thu Jul 19 01:49:01 2007 -0700 lockstat: better class name representation optionally add class->name_version and class->subclass to the class name Signed-off-by: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96645678cd726e87ce42a0664de71e047e32bca4 Author: Peter Zijlstra Date: Thu Jul 19 01:49:00 2007 -0700 lockstat: measure lock bouncing __acquire | lock _____ | \ | __contended | | | wait | _______/ |/ | __acquired | __release | unlock We measure acquisition and contention bouncing. This is done by recording a cpu stamp in each lock instance. Contention bouncing requires the cpu stamp to be set on acquisition. Hence we move __acquired into the generic path. __acquired is then used to measure acquisition bouncing by comparing the current cpu with the old stamp before replacing it. __contended is used to measure contention bouncing (only useful for preemptable locks) [akpm@linux-foundation.org: cleanups] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 443aef0eddfa44c158d1b94ebb431a70638fcab4 Author: Peter Zijlstra Date: Thu Jul 19 01:49:00 2007 -0700 lockdep: fixup sk_callback_lock annotation the two init sites resulted in inconsistend names for the lock class. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b32d0a4e9ec07808a5c406a416c6576c986b047 Author: Peter Zijlstra Date: Thu Jul 19 01:48:59 2007 -0700 lockdep: various fixes - update the copyright notices - use the default hash function - fix a thinko in a BUILD_BUG_ON - add a WARN_ON to spot inconsitent naming - fix a termination issue in /proc/lock_stat [akpm@linux-foundation.org: cleanups] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fe87745a6722d42ff27a60768c77958fa1fc498 Author: Peter Zijlstra Date: Thu Jul 19 01:48:58 2007 -0700 lockstat: hook into spinlock_t, rwlock_t, rwsem and mutex Call the new lockstat tracking functions from the various lock primitives. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Acked-by: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c46261de0d98372112d8edf16f74ce418a268d46 Author: Peter Zijlstra Date: Thu Jul 19 01:48:57 2007 -0700 lockstat: human readability tweaks Present all this fancy new lock statistics information: *warning, _wide_ output ahead* (output edited for purpose of brevity) # cat /proc/lock_stat lock_stat version 0.1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------- class name contentions waittime-min waittime-max waittime-total acquisitions holdtime-min holdtime-max holdtime-total ----------------------------------------------------------------------------------------------------------------------------------------------------------------- &inode->i_mutex: 14458 6.57 398832.75 2469412.23 6768876 0.34 11398383.65 339410830.89 --------------- &inode->i_mutex 4486 [] pipe_wait+0x86/0x8d &inode->i_mutex 0 [] pipe_write_fasync+0x29/0x5d &inode->i_mutex 0 [] pipe_read+0x74/0x3a5 &inode->i_mutex 0 [] do_lookup+0x81/0x1ae ................................................................................................................................................................. &inode->i_data.tree_lock-W: 491 0.27 62.47 493.89 2477833 0.39 468.89 1146584.25 &inode->i_data.tree_lock-R: 65 0.44 4.27 48.78 26288792 0.36 184.62 10197458.24 -------------------------- &inode->i_data.tree_lock 46 [] __do_page_cache_readahead+0x69/0x24f &inode->i_data.tree_lock 31 [] add_to_page_cache+0x31/0xba &inode->i_data.tree_lock 0 [] __do_page_cache_readahead+0xc2/0x24f &inode->i_data.tree_lock 0 [] find_get_page+0x1a/0x58 ................................................................................................................................................................. proc_inum_idr.lock: 0 0.00 0.00 0.00 36 0.00 65.60 148.26 proc_subdir_lock: 0 0.00 0.00 0.00 3049859 0.00 106.81 1563212.42 shrinker_rwsem-W: 0 0.00 0.00 0.00 5 0.00 1.73 3.68 shrinker_rwsem-R: 0 0.00 0.00 0.00 633 2.57 246.57 10909.76 'contentions' and 'acquisitions' are the number of such events measured (since the last reset). The waittime- and holdtime- (min, max, total) numbers are presented in microseconds. If there are any contention points, the lock class is presented in the block format (as i_mutex and tree_lock above), otherwise a single line of output is presented. The output is sorted on absolute number of contentions (read + write), this should get the worst offenders presented first, so that: # grep : /proc/lock_stat | head will quickly show who's bad. The stats can be reset using: # echo 0 > /proc/lock_stat [bunk@stusta.de: make 2 functions static] [akpm@linux-foundation.org: fix printk warning] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Acked-by: Jason Baron Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f20786ff4da51e56b1956acf30be2552be266746 Author: Peter Zijlstra Date: Thu Jul 19 01:48:56 2007 -0700 lockstat: core infrastructure Introduce the core lock statistics code. Lock statistics provides lock wait-time and hold-time (as well as the count of corresponding contention and acquisitions events). Also, the first few call-sites that encounter contention are tracked. Lock wait-time is the time spent waiting on the lock. This provides insight into the locking scheme, that is, a heavily contended lock is indicative of a too coarse locking scheme. Lock hold-time is the duration the lock was held, this provides a reference for the wait-time numbers, so they can be put into perspective. 1) lock 2) ... do stuff .. unlock 3) The time between 1 and 2 is the wait-time. The time between 2 and 3 is the hold-time. The lockdep held-lock tracking code is reused, because it already collects locks into meaningful groups (classes), and because it is an existing infrastructure for lock instrumentation. Currently lockdep tracks lock acquisition with two hooks: lock() lock_acquire() _lock() ... code protected by lock ... unlock() lock_release() _unlock() We need to extend this with two more hooks, in order to measure contention. lock_contended() - used to measure contention events lock_acquired() - completion of the contention These are then placed the following way: lock() lock_acquire() if (!_try_lock()) lock_contended() _lock() lock_acquired() ... do locked stuff ... unlock() lock_release() _unlock() (Note: the try_lock() 'trick' is used to avoid instrumenting all platform dependent lock primitive implementations.) It is also possible to toggle the two lockdep features at runtime using: /proc/sys/kernel/prove_locking /proc/sys/kernel/lock_stat (esp. turning off the O(n^2) prove_locking functionaliy can help) [akpm@linux-foundation.org: build fixes] [akpm@linux-foundation.org: nuke unneeded ifdefs] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Acked-by: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e18257d29238311e82085152741f0c3aa18b74d Author: Peter Zijlstra Date: Thu Jul 19 01:48:54 2007 -0700 lockdep: reduce the ifdeffery Move code around to get fewer but larger #ifdef sections. Break some in-function #ifdefs out into their own functions. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca58abcb4a6d52ee2db1b1130cea3ca2a76677b9 Author: Peter Zijlstra Date: Thu Jul 19 01:48:53 2007 -0700 lockdep: sanitise CONFIG_PROVE_LOCKING Ensure that all of the lock dependency tracking code is under CONFIG_PROVE_LOCKING. This allows us to use the held lock tracking code for other purposes. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Acked-by: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21f8ca3bf6198bd21e3c4cc820af2ccf753a6ec8 Author: Peter Zijlstra Date: Thu Jul 19 01:48:53 2007 -0700 fix raw_spinlock_t vs lockdep Use the lockdep infrastructure to track lock contention and other lock statistics. It tracks lock contention events, and the first four unique call-sites that encountered contention. It also measures lock wait-time and hold-time in nanoseconds. The minimum and maximum times are tracked, as well as a total (which together with the number of event can give the avg). All statistics are done per lock class, per write (exclusive state) and per read (shared state). The statistics are collected per-cpu, so that the collection overhead is minimized via having no global cachemisses. This new lock statistics feature is independent of the lock dependency checking traditionally done by lockdep; it just shares the lock tracking code. It is also possible to enable both and runtime disabled either component - thereby avoiding the O(n^2) lock chain walks for instance. This patch: raw_spinlock_t should not use lockdep (and doesn't) since lockdep itself relies on it. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b7f13bd26a0c1d394a1a1f2bb6de5130c3a3843 Author: Jan Harkes Date: Thu Jul 19 01:48:52 2007 -0700 coda: update module information Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cf01f28c303be34f18cb4f6204cf1bdfe12ba7c Author: Jan Harkes Date: Thu Jul 19 01:48:51 2007 -0700 coda: remove statistics counters from /proc/fs/coda Similar information can easily be obtained with strace -c. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1b0aa87647493c0201821ab884e86298d5da7d6 Author: Jan Harkes Date: Thu Jul 19 01:48:50 2007 -0700 coda: remove struct coda_sb_info The sb_info structure only contains a single pointer to the character device, there is no need for the added indirection. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fd31e9a67dd6c80e49240514cf854c1f054aca2 Author: Jan Harkes Date: Thu Jul 19 01:48:49 2007 -0700 coda: cleanup downcall handler Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed36f723676b208053d0655cee7e7f1601a2d356 Author: Jan Harkes Date: Thu Jul 19 01:48:49 2007 -0700 coda: cleanup coda_lookup, use dsplice_alias Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 970648eb03cca7d7405f9a3a5d3fe29929e48aa6 Author: Jan Harkes Date: Thu Jul 19 01:48:48 2007 -0700 coda: ignore returned values when upcalls return errors Venus returns an ENOENT error on open, so we shouldn't try to grab the filehandle for the returned fd. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37461e1957e6262278342a0c1a78e46996b7ff88 Author: Jan Harkes Date: Thu Jul 19 01:48:48 2007 -0700 coda: replace upc_alloc/upc_free with kmalloc/kfree Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 978752534e94b50c8078b229134a37bad9db88b2 Author: Jan Harkes Date: Thu Jul 19 01:48:47 2007 -0700 coda: avoid lockdep warning in coda_readdir Signed-off-by: Jan Harkes Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9664c95afe5baa92ea56eff6a1c18e7b7a2cbe7 Author: Jan Harkes Date: Thu Jul 19 01:48:46 2007 -0700 coda: block signals during upcall processing We ignore signals for about 30 seconds to give userspace a chance to see the upcall. As we did not block signals we ended up in a busy loop for the remainder of the period when a signal is received. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe71b5f3871af2c281a08acd4bedd2da25e46bc3 Author: Jan Harkes Date: Thu Jul 19 01:48:46 2007 -0700 coda: cleanup for upcall handling path Make the code that processes upcall responses more straightforward, uncovered at least one bad assumption. We trusted that vc_inuse would be 0 when upcalls are aborted, however the device may have been reopened. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87065519633af79e0577e32a58dcd9cf3c45a8a0 Author: Jan Harkes Date: Thu Jul 19 01:48:45 2007 -0700 coda: cleanup /dev/cfs open and close handling - Make sure device index is not a negative number. - Unlink queued requests when the device is closed to avoid passing them to the next opener. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed31a7dd636b296746c131b7386023aa1ef84309 Author: Jan Harkes Date: Thu Jul 19 01:48:44 2007 -0700 coda: use ilookup5 Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fac1f0e34026a656174102ebad4d1cd71cd4fe2c Author: Jan Harkes Date: Thu Jul 19 01:48:44 2007 -0700 coda: coda doesn't track atime Set MS_NOATIME flag to avoid unnecessary calls when the coda inode is accessed. Also, set statfs.f_bsize to 4k. 1k is obviously too small for the suggested IO size. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c6d21528406ec719aaea9d589876fd105c31646 Author: Jan Harkes Date: Thu Jul 19 01:48:43 2007 -0700 coda: allow removal of busy directories A directory without children may still be busy when it is the cwd for some process. We can safely remove such a directory because the VFS prevents further operations. Also we don't need to call d_delete as it is already called in vfs_rmdir. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d728900cd5502927158db747c653007cf72e2e49 Author: Jan Harkes Date: Thu Jul 19 01:48:43 2007 -0700 coda: fix nlink updates for directories The Coda client sets the directory link count to 1 when it isn't sure how many subdirectories we have. In this case we shouldn't change the link count in the kernel when a subdirectory is created or removed. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56ee3547940f895a2cf20f2ac462fbeaee55fa2a Author: Jan Harkes Date: Thu Jul 19 01:48:42 2007 -0700 coda: correctly invalidate cached access rights Change the epoch value to forces a refresh instead of clearing the cached rights mask and block all further accesses to the object. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38c2e4370da495813ca93d7cad31ed5090e8c310 Author: Jan Harkes Date: Thu Jul 19 01:48:41 2007 -0700 coda: do not grab an uninitialized fd when the open upcall returns an error When open fails the fd in the response is uninitialized and we ended up taking a reference on the file struct and never released it. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18991197b4b588255ccabf472ebc84db7b66a19c Author: Roland McGrath Date: Thu Jul 19 01:48:40 2007 -0700 Use --build-id ld option This change passes the --build-id when linking the kernel and when linking modules, if ld supports it. This is a new GNU ld option that synthesizes an ELF note section inside the read-only data. The note in this section contains unique identifying bits called the "build ID", which are generated so as to be different for any two linked ELF files that aren't identical. The build ID can be recovered from stripped files, memory dumps, etc. and used to look up the original program built, locate debuginfo or other details or history associated with it. For normal program linking, the compiler passes --build-id to ld by default, but the option is needed when using ld directly as we do. Signed-off-by: Roland McGrath Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da1a679cde9b12d6e331f43d2d92a234f2d1f9b0 Author: Roland McGrath Date: Thu Jul 19 01:48:39 2007 -0700 Add /sys/kernel/notes This patch adds the /sys/kernel/notes magic file. Reading this delivers the contents of the kernel's .notes section. This lets userland easily glean any detailed information about the running kernel's build that was stored there at compile time. Signed-off-by: Roland McGrath Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86ead9caf9a9f265f6065c46080d046230e25d78 Author: Roland McGrath Date: Thu Jul 19 01:48:39 2007 -0700 s390: Put allocated ELF notes in read-only data segment This changes the s390 linker script to use the asm-generic NOTES macro so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fb775ee582999ea45503f0c4e9393c2df065a81 Author: Roland McGrath Date: Thu Jul 19 01:48:38 2007 -0700 powerpc: Put allocated ELF notes in read-only data segment This changes the powerpc linker script to use the asm-generic NOTES macro so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caf45dd92677b2001123cc06b5835052ccfee76f Author: Roland McGrath Date: Thu Jul 19 01:48:37 2007 -0700 alpha: Put allocated ELF notes in read-only data segment This changes the alpha linker script to use the asm-generic NOTES macro so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e1d5b8f24a887caded5ae3ceb2f341d4fbd1861 Author: Roland McGrath Date: Thu Jul 19 01:48:37 2007 -0700 x86_64: Put allocated ELF notes in read-only data segment This changes the x86_64 linker script to use the asm-generic NOTES macro so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbe87121f1545bb3e98ae114519bf0c4db27d6ab Author: Roland McGrath Date: Thu Jul 19 01:48:36 2007 -0700 i386: Put allocated ELF notes in read-only data segment This changes the i386 linker script and the asm-generic macro it uses so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b38bd33a6bf5095736620ca8e85fe61820c2d312 Author: Mingming Cao Date: Thu Jul 19 01:48:35 2007 -0700 fix ext4/JBD2 build warnings Looking at the current linus-git tree jbd_debug() define in include/linux/jbd2.h extern u8 journal_enable_debug; #define jbd_debug(n, f, a...) \ do { \ if ((n) <= journal_enable_debug) { \ printk (KERN_DEBUG "(%s, %d): %s: ", \ __FILE__, __LINE__, __FUNCTION__); \ printk (f, ## a); \ } \ } while (0) > fs/ext4/inode.c: In function ‘ext4_write_inode’: > fs/ext4/inode.c:2906: warning: comparison is always true due to limited > range of data type > > fs/jbd2/recovery.c: In function ‘jbd2_journal_recover’: > fs/jbd2/recovery.c:254: warning: comparison is always true due to > limited range of data type > fs/jbd2/recovery.c:257: warning: comparison is always true due to > limited range of data type > > fs/jbd2/recovery.c: In function ‘jbd2_journal_skip_recovery’: > fs/jbd2/recovery.c:301: warning: comparison is always true due to > limited range of data type > Noticed all warnings are occurs when the debug level is 0. Then found the "jbd2: Move jbd2-debug file to debugfs" patch http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f49d5d019afa4e94253bfc92f0daca3badb990b changed the jbd2_journal_enable_debug from int type to u8, makes the jbd_debug comparision is always true when the debugging level is 0. Thus the compile warning occurs. Thought about changing the jbd2_journal_enable_debug data type back to int, but can't, because the jbd2-debug is moved to debug fs, where calling debugfs_create_u8() to create the debugfs entry needs the value to be u8 type. Even if we changed the data type back to int, the code is still buggy, kernel should not print jbd2 debug message if the jbd2_journal_enable_debug is set to 0. But this is not the case. The fix is change the level of debugging to 1. The same should fixed in ext3/JBD, but currently ext3 jbd-debug via /proc fs is broken, so we probably should fix it all together. Signed-off-by: Mingming Cao Cc: Jeff Garzik Cc: Theodore Tso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0a594c1c74fedbd838402e7372030311be8cc6e Author: Andy Whitcroft Date: Thu Jul 19 01:48:34 2007 -0700 update checkpatch.pl to version 0.08 This version brings a number of new checks, and a number of bug fixes. Of note: - warnings for multiple assignments per line - warnings for multiple declarations per line - checks for single statement blocks with braces This patch includes an update for feature-removal-schedule.txt to better target checks. Andy Whitcroft (12): Version: 0.08 only apply printk checks where there is a string literal allow suppression of errors for when no patch is found warn about multiple assignments warn on declaration of multiple variables check for kfree() with needless null check check for single statement braced blocks check for aggregate initialisation on the next line handle the => operator check for spaces between function name and open parenthesis move to explicit Check: entries in feature-removal-schedule.txt handle pointer attributes Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b8a8b812edd7067fffcc4a85b8aa3adae081535 Author: Rolf Eike Beer Date: Thu Jul 19 01:48:33 2007 -0700 Typo: fro -> from Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa781aeb49752e5654241b53368c80362ad7bea3 Author: Ingo Molnar Date: Thu Jul 19 01:48:32 2007 -0700 add POSIX clocks and timers maintainer Update the MAINTAINERS file: Thomas Gleixner has been the de-facto maintainer of POSIX timers and clocks for quite some time. Signed-off-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01c55ed3260e130f152b7fbab2e18f23980b59a4 Author: Adrian Bunk Date: Thu Jul 19 01:48:32 2007 -0700 kernel/relay.c: make functions static Signed-off-by: Adrian Bunk Cc: Tom Zanussi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb90110dcb9e93bf79e3c988abc6cbcabd46d57f Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:31 2007 -0700 coredump masking: documentation for /proc/pid/coredump_filter This patch adds the documentation for /proc//coredump_filter. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee78b0a61f0514ffc3d59257fbe6863b43477829 Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:30 2007 -0700 coredump masking: ELF-FDPIC: enable core dump filtering This patch enables core dump filtering for ELF-FDPIC-formatted core file. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2e00906a06f7e74c49ca0ca85b960f270c83d5e Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:30 2007 -0700 coredump masking: ELF-FDPIC: remove an unused argument This patch removes an unused argument from elf_fdpic_dump_segments(). Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1b59e802f846b6b0e057507386068fcc6dff442 Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:29 2007 -0700 coredump masking: ELF: enable core dump filtering This patch enables core dump filtering for ELF-formatted core file. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cb4a0bb1e773e3c41800b33a3f7dab32bd06c64 Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:28 2007 -0700 coredump masking: add an interface for core dump filter This patch adds an interface to set/reset flags which determines each memory segment should be dumped or not when a core file is generated. /proc//coredump_filter file is provided to access the flags. You can change the flag status for a particular process by writing to or reading from the file. The flag status is inherited to the child process when it is created. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c5d523826dc639df709ed0f88c5d2ce25379652 Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:27 2007 -0700 coredump masking: reimplementation of dumpable using two flags This patch changes mm_struct.dumpable to a pair of bit flags. set_dumpable() converts three-value dumpable to two flags and stores it into lower two bits of mm_struct.flags instead of mm_struct.dumpable. get_dumpable() behaves in the opposite way. [akpm@linux-foundation.org: export set_dumpable] Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76fdbb25f963de5dc1e308325f0578a2f92b1c2d Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:26 2007 -0700 coredump masking: bound suid_dumpable sysctl This patch series is version 5 of the core dump masking feature, which controls which VMAs should be dumped based on their memory types and per-process flags. I adopted most of Andrew's suggestion at the previous version. He also suggested using system call instead of /proc// interface, I decided to use the latter continuously because adding new system call with pid argument will give a big impact on the kernel. You can access the per-process flags via /proc//coredump_filter interface. coredump_filter represents a bitmask of memory types, and if a bit is set, VMAs of corresponding memory type are written into a core file when the process is dumped. The bitmask is inherited from the parent process when a process is created. The original purpose is to avoid longtime system slowdown when a number of processes which share a huge shared memory are dumped at the same time. To achieve this purpose, this patch series adds an ability to suppress dumping anonymous shared memory for specified processes. In this version, three other memory types are also supported. Here are the coredump_filter bits: bit 0: anonymous private memory bit 1: anonymous shared memory bit 2: file-backed private memory bit 3: file-backed shared memory The default value of coredump_filter is 0x3. This means the new core dump routine has the same behavior as conventional behavior by default. In this version, coredump_filter bits and mm.dumpable are merged into mm.flags, and it is accessed by atomic bitops. The supported core file formats are ELF and ELF-FDPIC. ELF has been tested, but ELF-FDPIC has not been built and tested because I don't have the test environment. This patch limits a value of suid_dumpable sysctl to the range of 0 to 2. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86fd6dfc0990d81123dca19541554426c9e9de3e Author: Randy Dunlap Date: Thu Jul 19 01:48:25 2007 -0700 docbook: don't reference file without kernel-doc Remove include/linux/rmap.h from kernel-api.tmpl since it no longer contains kernel-doc. Fixes this warning: Warning(linux-2.6.22//include/linux/rmap.h): no structured comments found Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdccb316c0860b26ad52f622a7592122a62d02b4 Author: Randy Dunlap Date: Thu Jul 19 01:48:25 2007 -0700 kernel-doc: fix leading dot in man-mode output If a parameter description begins with a '.', this indicates a "request" for "man" mode output (*roff), so it needs special handling. Problem case is in include/asm-i386/atomic.h for function atomic_add_unless(): * @u: ...unless v is equal to u. This parameter description is currently not printed in man mode output. [akpm@linux-foundation.org: cleanup] Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51f5a0c8f63990fcb6e09ed52be348df58c9e416 Author: Randy Dunlap Date: Thu Jul 19 01:48:24 2007 -0700 kernel-doc: strip C99 comments Strip C99-style comments from the input stream. /*...*/ comments are already stripped. C99 comments confuse the kernel-doc script. Also update some comments. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f8c7c98ae3888cf0a2cf320f514f75cc92f00be Author: Randy Dunlap Date: Thu Jul 19 01:48:24 2007 -0700 kernel-doc: fix unnamed struct/union warning Fix kernel-doc warning: Warning(linux-2.6.22-rc2-git2/include/linux/skbuff.h:316): No description found for parameter '}' which is caused by nested anonymous structs/unions ending with: }; }; Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ac534bc127bcf31f8cb76f65b1b0b7cba5e81ac Author: Randy Dunlap Date: Thu Jul 19 01:48:23 2007 -0700 kernel-doc: add tools doc in Makefile Add kernel-doc tools info in Makefile. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f79c20f52532d38fd0aee7ef64e138cc1613c484 Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:22 2007 -0700 fs: remove path_walk export Signed-off-by: Josef 'Jeff' Sipek Cc: Al Viro Acked-by: Christoph Hellwig Cc: Trond Myklebust Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4a7808fc3d7a346d5d12e0d69d76d66d821488b Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:22 2007 -0700 fs: mark link_path_walk static Signed-off-by: Josef 'Jeff' Sipek Cc: Al Viro Acked-by: Christoph Hellwig Cc: Trond Myklebust Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16b6287a5286e872abece4f42a6eb5899157a836 Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:21 2007 -0700 nfsctl: use vfs_path_lookup use vfs_path_lookup instead of open-coding the necessary functionality. Signed-off-by: Josef 'Jeff' Sipek Acked-by: NeilBrown Cc: Al Viro Acked-by: Christoph Hellwig Cc: Trond Myklebust Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ac4efc1f5575a268417f80ef4059aee383f8331 Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:20 2007 -0700 sunrpc: use vfs_path_lookup use vfs_path_lookup instead of open-coding the necessary functionality. Signed-off-by: Josef 'Jeff' Sipek Acked-by: Trond Myklebust Cc: Al Viro Acked-by: Christoph Hellwig Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16f1820028d660d9da9c03b2ae7e98253c11795b Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:18 2007 -0700 fs: introduce vfs_path_lookup Stackable file systems, among others, frequently need to lookup paths or path components starting from an arbitrary point in the namespace (identified by a dentry and a vfsmount). Currently, such file systems use lookup_one_len, which is frowned upon [1] as it does not pass the lookup intent along; not passing a lookup intent, for example, can trigger BUG_ON's when stacking on top of NFSv4. The first patch introduces a new lookup function to allow lookup starting from an arbitrary point in the namespace. This approach has been suggested by Christoph Hellwig [2]. The second patch changes sunrpc to use vfs_path_lookup. The third patch changes nfsctl.c to use vfs_path_lookup. The fourth patch marks link_path_walk static. The fifth, and last patch, unexports path_walk because it is no longer unnecessary to call it directly, and using the new vfs_path_lookup is cleaner. For example, the following snippet of code, looks up "some/path/component" in a directory pointed to by parent_{dentry,vfsmnt}: err = vfs_path_lookup(parent_dentry, parent_vfsmnt, "some/path/component", 0, &nd); if (!err) { /* exits */ ... /* once done, release the references */ path_release(&nd); } else if (err == -ENOENT) { /* doesn't exist */ } else { /* other error */ } VFS functions such as lookup_create can be used on the nameidata structure to pass the create intent to the file system. Signed-off-by: Josef 'Jeff' Sipek Cc: Al Viro Acked-by: Christoph Hellwig Cc: Trond Myklebust Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6a2fea39318e43fee84fa7b0b90d68bed92d2ba Author: Ollie Wild Date: Thu Jul 19 01:48:16 2007 -0700 mm: variable length argument support Remove the arg+env limit of MAX_ARG_PAGES by copying the strings directly from the old mm into the new mm. We create the new mm before the binfmt code runs, and place the new stack at the very top of the address space. Once the binfmt code runs and figures out where the stack should be, we move it downwards. It is a bit peculiar in that we have one task with two mm's, one of which is inactive. [a.p.zijlstra@chello.nl: limit stack size] Signed-off-by: Ollie Wild Signed-off-by: Peter Zijlstra Cc: Cc: Hugh Dickins [bunk@stusta.de: unexport bprm_mm_init] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdf4c48af20a3b0f01671799ace345e3d49576da Author: Peter Zijlstra Date: Thu Jul 19 01:48:15 2007 -0700 audit: rework execve audit The purpose of audit_bprm() is to log the argv array to a userspace daemon at the end of the execve system call. Since user-space hasn't had time to run, this array is still in pristine state on the process' stack; so no need to copy it, we can just grab it from there. In order to minimize the damage to audit_log_*() copy each string into a temporary kernel buffer first. Currently the audit code requires that the full argument vector fits in a single packet. So currently it does clip the argv size to a (sysctl) limit, but only when execve auditing is enabled. If the audit protocol gets extended to allow for multiple packets this check can be removed. Signed-off-by: Peter Zijlstra Signed-off-by: Ollie Wild Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b111757c50ee30dad162192df6168e270a90c252 Author: Peter Zijlstra Date: Thu Jul 19 01:48:14 2007 -0700 arch: personality independent stack top New arch macro STACK_TOP_MAX it gives the larges valid stack address for the architecture in question. It differs from STACK_TOP in that it will not distinguish between personalities but will always return the largest possible address. This is used to create the initial stack on execve, which we will move down to the proper location once the binfmt code has figured out where that is. Signed-off-by: Peter Zijlstra Signed-off-by: Ollie Wild Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f34e3b61f2be9628bd41244f3ecc42009c5eced5 Author: Fenghua Yu Date: Thu Jul 19 01:48:13 2007 -0700 use the new percpu interface for shared data Currently most of the per cpu data, which is accessed by different cpus, has a ____cacheline_aligned_in_smp attribute. Move all this data to the new per cpu shared data section: .data.percpu.shared_aligned. This will seperate the percpu data which is referenced frequently by other cpus from the local only percpu data. Signed-off-by: Fenghua Yu Acked-by: Suresh Siddha Cc: Rusty Russell Cc: Christoph Lameter Cc: "Luck, Tony" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fb7dc37dc16fbc8b80d81318a582201ef7e280d Author: Fenghua Yu Date: Thu Jul 19 01:48:12 2007 -0700 define new percpu interface for shared data per cpu data section contains two types of data. One set which is exclusively accessed by the local cpu and the other set which is per cpu, but also shared by remote cpus. In the current kernel, these two sets are not clearely separated out. This can potentially cause the same data cacheline shared between the two sets of data, which will result in unnecessary bouncing of the cacheline between cpus. One way to fix the problem is to cacheline align the remotely accessed per cpu data, both at the beginning and at the end. Because of the padding at both ends, this will likely cause some memory wastage and also the interface to achieve this is not clean. This patch: Moves the remotely accessed per cpu data (which is currently marked as ____cacheline_aligned_in_smp) into a different section, where all the data elements are cacheline aligned. And as such, this differentiates the local only data and remotely accessed data cleanly. Signed-off-by: Fenghua Yu Acked-by: Suresh Siddha Cc: Rusty Russell Cc: Christoph Lameter Cc: Cc: "Luck, Tony" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d7e33825d8799115dd2495c9944badd3272a623 Author: Michael Ellerman Date: Thu Jul 19 01:48:11 2007 -0700 jprobes: make jprobes a little safer for users I realise jprobes are a razor-blades-included type of interface, but that doesn't mean we can't try and make them safer to use. This guy I know once wrote code like this: struct jprobe jp = { .kp.symbol_name = "foo", .entry = "jprobe_foo" }; And then his kernel exploded. Oops. This patch adds an arch hook, arch_deref_entry_point() (I don't like it either) which takes the void * in a struct jprobe, and gives back the text address that it represents. We can then use that in register_jprobe() to check that the entry point we're passed is actually in the kernel text, rather than just some random value. Signed-off-by: Michael Ellerman Cc: Prasanna S Panchamukhi Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e367d859297b9377d65574f538cf52730e9eda8 Author: Michael Ellerman Date: Thu Jul 19 01:48:10 2007 -0700 jprobes: remove JPROBE_ENTRY() AFAICT now that jprobe.entry is a void *, JPROBE_ENTRY doesn't do anything useful - so remove it .. I've left a do-nothing version so that out-of-tree jprobes code will still compile without modifications. Signed-off-by: Michael Ellerman Cc: Prasanna S Panchamukhi Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81eae375eceba481ca4c605d42913871f093f6d5 Author: Michael Ellerman Date: Thu Jul 19 01:48:09 2007 -0700 jprobes: make struct jprobe.entry a void * Currently jprobe.entry is a kprobe_opcode_t *, but that's a lie. On some platforms it doesn't point to an opcode at all, it points to a function descriptor. It's really a pointer to something that the arch code can turn into a function entry point. And that's what actually happens, none of the generic code ever looks at jprobe.entry, it's only ever dereferenced by arch code. So just make it a void *. Signed-off-by: Michael Ellerman Cc: Prasanna S Panchamukhi Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9acc8c7b35a100f3a9e0e6977f7807b0169f9a5 Author: Fengguang Wu Date: Thu Jul 19 01:48:08 2007 -0700 readahead: sanify file_ra_state names Rename some file_ra_state variables and remove some accessors. It results in much simpler code. Kudos to Rusty! Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf914a7d656e62b9dd3e0dffe4f62b953ae6048d Author: Rusty Russell Date: Thu Jul 19 01:48:08 2007 -0700 readahead: split ondemand readahead interface into two functions Split ondemand readahead interface into two functions. I think this makes it a little clearer for non-readahead experts (like Rusty). Internally they both call ondemand_readahead(), but the page argument is changed to an obvious boolean flag. Signed-off-by: Rusty Russell Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe3cba17c49471e99d3421e675fc8b3deaaf0b70 Author: Fengguang Wu Date: Thu Jul 19 01:48:07 2007 -0700 mm: share PG_readahead and PG_reclaim Share the same page flag bit for PG_readahead and PG_reclaim. One is used only on file reads, another is only for emergency writes. One is used mostly for fresh/young pages, another is for old pages. Combinations of possible interactions are: a) clear PG_reclaim => implicit clear of PG_readahead it will delay an asynchronous readahead into a synchronous one it actually does _good_ for readahead: the pages will be reclaimed soon, it's readahead thrashing! in this case, synchronous readahead makes more sense. b) clear PG_readahead => implicit clear of PG_reclaim one(and only one) page will not be reclaimed in time it can be avoided by checking PageWriteback(page) in readahead first c) set PG_reclaim => implicit set of PG_readahead will confuse readahead and make it restart the size rampup process it's a trivial problem, and can mostly be avoided by checking PageWriteback(page) first in readahead d) set PG_readahead => implicit set of PG_reclaim PG_readahead will never be set on already cached pages. PG_reclaim will always be cleared on dirtying a page. so not a problem. In summary, a) we get better behavior b,d) possible interactions can be avoided c) racy condition exists that might affect readahead, but the chance is _really_ low, and the hurt on readahead is trivial. Compound pages also use PG_reclaim, but for now they do not interact with reclaim/readahead code. Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8983910a4045fa21022cfccf76ed13eb40fd7f5 Author: Fengguang Wu Date: Thu Jul 19 01:48:06 2007 -0700 readahead: pass real splice size Pass real splice size to page_cache_readahead_ondemand(). The splice code works in chunks of 16 pages internally. The readahead code should be told of the overall splice size, instead of the internal chunk size. Otherwize bad things may happen. Imagine some 17-page random splice reads. The code before this patch will result in two readahead calls: readahead(16); readahead(1); That leads to one 16-page I/O and one 32-page I/O: one extra I/O and 31 readahead miss pages. Signed-off-by: Fengguang Wu Cc: Jens Axboe Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 431a4820bfcdf7ff530e745230bafb06c9bf2d6d Author: Fengguang Wu Date: Thu Jul 19 01:48:05 2007 -0700 readahead: move synchronous readahead call out of splice loop Move synchronous page_cache_readahead_ondemand() call out of splice loop. This avoids one pointless page allocation/insertion in case of non-zero ra_pages, or many pointless readahead calls in case of zero ra_pages. Note that if a user sets ra_pages to less than PIPE_BUFFERS=16 pages, he will not get expected readahead behavior anyway. The splice code works in batches of 16 pages, which can be taken as another form of synchronous readahead. Signed-off-by: Fengguang Wu Cc: Jens Axboe Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c743d96b6d2ff55a94df7b5ac7c74987bb9c343b Author: Fengguang Wu Date: Thu Jul 19 01:48:04 2007 -0700 readahead: remove the old algorithm Remove the old readahead algorithm. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc7868fcb9a73990e6f30371c1be465c436a7a7f Author: Fengguang Wu Date: Thu Jul 19 01:48:04 2007 -0700 readahead: convert ext3/ext4 invocations Convert ext3/ext4 dir reads to use on-demand readahead. Readahead for dirs operates _not_ on file level, but on blockdev level. This makes a difference when the data blocks are not continuous. And the read routine is somehow opaque: there's no handy info about the status of current page. So a simplified call scheme is employed: to call into readahead whenever the current page falls out of readahead windows. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a08a166fe77d9f9ad88ed6d06b97e73453661f89 Author: Fengguang Wu Date: Thu Jul 19 01:48:03 2007 -0700 readahead: convert splice invocations Convert splice reads to use on-demand readahead. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Jens Axboe Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ea89ee86a82e9fbde37018d9b9e92a552e5fd13 Author: Fengguang Wu Date: Thu Jul 19 01:48:02 2007 -0700 readahead: convert filemap invocations Convert filemap reads to use on-demand readahead. The new call scheme is to - call readahead on non-cached page - call readahead on look-ahead page - update prev_index when finished with the read request Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 122a21d11cbfda6d1e33cbc8ae9e4c4ee2f1886e Author: Fengguang Wu Date: Thu Jul 19 01:48:01 2007 -0700 readahead: on-demand readahead logic This is a minimal readahead algorithm that aims to replace the current one. It is more flexible and reliable, while maintaining almost the same behavior and performance. Also it is full integrated with adaptive readahead. It is designed to be called on demand: - on a missing page, to do synchronous readahead - on a lookahead page, to do asynchronous readahead In this way it eliminated the awkward workarounds for cache hit/miss, readahead thrashing, retried read, and unaligned read. It also adopts the data structure introduced by adaptive readahead, parameterizes readahead pipelining with `lookahead_index', and reduces the current/ahead windows to one single window. HEURISTICS The logic deals with four cases: - sequential-next found a consistent readahead window, so push it forward - random standalone small read, so read as is - sequential-first create a new readahead window for a sequential/oversize request - lookahead-clueless hit a lookahead page not associated with the readahead window, so create a new readahead window and ramp it up In each case, three parameters are determined: - readahead index: where the next readahead begins - readahead size: how much to readahead - lookahead size: when to do the next readahead (for pipelining) BEHAVIORS The old behaviors are maximally preserved for trivial sequential/random reads. Notable changes are: - It no longer imposes strict sequential checks. It might help some interleaved cases, and clustered random reads. It does introduce risks of a random lookahead hit triggering an unexpected readahead. But in general it is more likely to do good than to do evil. - Interleaved reads are supported in a minimal way. Their chances of being detected and proper handled are still low. - Readahead thrashings are better handled. The current readahead leads to tiny average I/O sizes, because it never turn back for the thrashed pages. They have to be fault in by do_generic_mapping_read() one by one. Whereas the on-demand readahead will redo readahead for them. OVERHEADS The new code reduced the overheads of - excessively calling the readahead routine on small sized reads (the current readahead code insists on seeing all requests) - doing a lot of pointless page-cache lookups for small cached files (the current readahead only turns itself off after 256 cache hits, unfortunately most files are < 1MB, so never see that chance) That accounts for speedup of - 0.3% on 1-page sequential reads on sparse file - 1.2% on 1-page cache hot sequential reads - 3.2% on 256-page cache hot sequential reads - 1.3% on cache hot `tar /lib` However, it does introduce one extra page-cache lookup per cache miss, which impacts random reads slightly. That's 1% overheads for 1-page random reads on sparse file. PERFORMANCE The basic benchmark setup is - 2.6.20 kernel with on-demand readahead - 1MB max readahead size - 2.9GHz Intel Core 2 CPU - 2GB memory - 160G/8M Hitachi SATA II 7200 RPM disk The benchmarks show that - it maintains the same performance for trivial sequential/random reads - sysbench/OLTP performance on MySQL gains up to 8% - performance on readahead thrashing gains up to 3 times iozone throughput (KB/s): roughly the same ========================================== iozone -c -t1 -s 4096m -r 64k 2.6.20 on-demand gain first run " Initial write " 61437.27 64521.53 +5.0% " Rewrite " 47893.02 48335.20 +0.9% " Read " 62111.84 62141.49 +0.0% " Re-read " 62242.66 62193.17 -0.1% " Reverse Read " 50031.46 49989.79 -0.1% " Stride read " 8657.61 8652.81 -0.1% " Random read " 13914.28 13898.23 -0.1% " Mixed workload " 19069.27 19033.32 -0.2% " Random write " 14849.80 14104.38 -5.0% " Pwrite " 62955.30 65701.57 +4.4% " Pread " 62209.99 62256.26 +0.1% second run " Initial write " 60810.31 66258.69 +9.0% " Rewrite " 49373.89 57833.66 +17.1% " Read " 62059.39 62251.28 +0.3% " Re-read " 62264.32 62256.82 -0.0% " Reverse Read " 49970.96 50565.72 +1.2% " Stride read " 8654.81 8638.45 -0.2% " Random read " 13901.44 13949.91 +0.3% " Mixed workload " 19041.32 19092.04 +0.3% " Random write " 14019.99 14161.72 +1.0% " Pwrite " 64121.67 68224.17 +6.4% " Pread " 62225.08 62274.28 +0.1% In summary, writes are unstable, reads are pretty close on average: access pattern 2.6.20 on-demand gain Read 62085.61 62196.38 +0.2% Re-read 62253.49 62224.99 -0.0% Reverse Read 50001.21 50277.75 +0.6% Stride read 8656.21 8645.63 -0.1% Random read 13907.86 13924.07 +0.1% Mixed workload 19055.29 19062.68 +0.0% Pread 62217.53 62265.27 +0.1% aio-stress: roughly the same ============================ aio-stress -l -s4096 -r128 -t1 -o1 knoppix511-dvd-cn.iso aio-stress -l -s4096 -r128 -t1 -o3 knoppix511-dvd-cn.iso 2.6.20 on-demand delta sequential 92.57s 92.54s -0.0% random 311.87s 312.15s +0.1% sysbench fileio: roughly the same ================================= sysbench --test=fileio --file-io-mode=async --file-test-mode=rndrw \ --file-total-size=4G --file-block-size=64K \ --num-threads=001 --max-requests=10000 --max-time=900 run threads 2.6.20 on-demand delta first run 1 59.1974s 59.2262s +0.0% 2 58.0575s 58.2269s +0.3% 4 48.0545s 47.1164s -2.0% 8 41.0684s 41.2229s +0.4% 16 35.8817s 36.4448s +1.6% 32 32.6614s 32.8240s +0.5% 64 23.7601s 24.1481s +1.6% 128 24.3719s 23.8225s -2.3% 256 23.2366s 22.0488s -5.1% second run 1 59.6720s 59.5671s -0.2% 8 41.5158s 41.9541s +1.1% 64 25.0200s 23.9634s -4.2% 256 22.5491s 20.9486s -7.1% Note that the numbers are not very stable because of the writes. The overall performance is close when we sum all seconds up: sum all up 495.046s 491.514s -0.7% sysbench oltp (trans/sec): up to 8% gain ======================================== sysbench --test=oltp --oltp-table-size=10000000 --oltp-read-only \ --mysql-socket=/var/run/mysqld/mysqld.sock \ --mysql-user=root --mysql-password=readahead \ --num-threads=064 --max-requests=10000 --max-time=900 run 10000-transactions run threads 2.6.20 on-demand gain 1 62.81 64.56 +2.8% 2 67.97 70.93 +4.4% 4 81.81 85.87 +5.0% 8 94.60 97.89 +3.5% 16 99.07 104.68 +5.7% 32 95.93 104.28 +8.7% 64 96.48 103.68 +7.5% 5000-transactions run 1 48.21 48.65 +0.9% 8 68.60 70.19 +2.3% 64 70.57 74.72 +5.9% 2000-transactions run 1 37.57 38.04 +1.3% 2 38.43 38.99 +1.5% 4 45.39 46.45 +2.3% 8 51.64 52.36 +1.4% 16 54.39 55.18 +1.5% 32 52.13 54.49 +4.5% 64 54.13 54.61 +0.9% That's interesting results. Some investigations show that - MySQL is accessing the db file non-uniformly: some parts are more hot than others - It is mostly doing 4-page random reads, and sometimes doing two reads in a row, the latter one triggers a 16-page readahead. - The on-demand readahead leaves many lookahead pages (flagged PG_readahead) there. Many of them will be hit, and trigger more readahead pages. Which might save more seeks. - Naturally, the readahead windows tend to lie in hot areas, and the lookahead pages in hot areas is more likely to be hit. - The more overall read density, the more possible gain. That also explains the adaptive readahead tricks for clustered random reads. readahead thrashing: 3 times better =================================== We boot kernel with "mem=128m single", and start a 100KB/s stream on every second, until reaching 200 streams. max throughput min avg I/O size 2.6.20: 5MB/s 16KB on-demand: 15MB/s 140KB Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ce1110b92b31d079aa443e967f43a2294e01194 Author: Fengguang Wu Date: Thu Jul 19 01:47:59 2007 -0700 readahead: data structure and routines Extend struct file_ra_state to support the on-demand readahead logic. Also define some helpers for it. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f615bfca468c9b80ed2d09be5fdbaf470a32c045 Author: Fengguang Wu Date: Thu Jul 19 01:47:58 2007 -0700 readahead: MIN_RA_PAGES/MAX_RA_PAGES macros Define two convenient macros for read-ahead: - MAX_RA_PAGES: rounded down counterpart of VM_MAX_READAHEAD - MIN_RA_PAGES: rounded _up_ counterpart of VM_MIN_READAHEAD Note that the rounded up MIN_RA_PAGES will work flawlessly with _large_ page sizes like 64k. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46fc3e7b4e7233a0ac981ac9084b55217318d04d Author: Fengguang Wu Date: Thu Jul 19 01:47:57 2007 -0700 readahead: add look-ahead support to __do_page_cache_readahead() Add look-ahead support to __do_page_cache_readahead(). It works by - mark the Nth backwards page with PG_readahead, (which instructs the page's first reader to invoke readahead) - and only do the marking for newly allocated pages. (to prevent blindly doing readahead on already cached pages) Look-ahead is a technique to achieve I/O pipelining: While the application is working through a chunk of cached pages, the kernel reads-ahead the next chunk of pages _before_ time of need. It effectively hides low level I/O latencies to high level applications. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d77c2d7cc5126639a47d73300b40d461f2811a0f Author: Fengguang Wu Date: Thu Jul 19 01:47:55 2007 -0700 readahead: introduce PG_readahead Introduce a new page flag: PG_readahead. It acts as a look-ahead mark, which tells the page reader: Hey, it's time to invoke the read-ahead logic. For the sake of I/O pipelining, don't wait until it runs out of cached pages! Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ba2d00363975242dee9bb22cf798b487e3cd61e Author: David Brownell Date: Thu Jul 19 01:47:55 2007 -0700 AIO sparse fix (type of ki_flags) Fix type issue reported by latest 'sparse': kiocb.ki_flags should be "unsigned long" (not "long"), to match bitop type signature. Signed-off-by: David Brownell Signed-off-by: Benjamin LaHaise Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64ee4808a786caade50362d5057f65314fdf2f36 Author: Michael Halcrow Date: Thu Jul 19 01:47:54 2007 -0700 eCryptfs: ecryptfs_setattr() bugfix There is another bug recently introduced into the ecryptfs_setattr() function in 2.6.22. eCryptfs will attempt to treat special files like regular eCryptfs files on chmod, chown, and so forth. This leads to a NULL pointer dereference. This patch validates that the file is a regular file before proceeding with operations related to the inode's crypt_stat. Thanks to Ryusuke Konishi for finding this bug and suggesting the fix. Signed-off-by: Michael Halcrow Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39ef01e00daf6d860783f1a836f765265a9d3b47 Author: Alan Cox Date: Thu Jul 19 01:47:53 2007 -0700 mbcs: Remove lots of global symbols MBCS has a collection of things that searches say are not used elsewhere and could be static. If this is the case they should be static, if not then someone at SGI should rename things like "soft_list" so they don't pollute the global namespace with generic names... Signed-off-by: Alan Cox Acked-by: Bruce Losure Cc: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4004c69ad68dd03733179277280ea2946990ba36 Author: Ravikiran G Thirumalai Date: Thu Jul 19 01:47:53 2007 -0700 Avoid too many remote cpu references due to /proc/stat Optimize show_stat to collect per-irq information just once. On x86_64, with newer kernel versions, kstat_irqs is a bit of a problem. On every call to kstat_irqs, the process brings in per-cpu data from all online cpus. Doing this for NR_IRQS, which is now 256 + 32 * NR_CPUS results in (256+32*63) * 63 remote cpu references on a 64 cpu config. Considering the fact that we already compute this value per-cpu, we can save on the remote references as below. Signed-off-by: Alok N Kataria Signed-off-by: Ravikiran Thirumalai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0a9983509f45b2225ca87fdcf7b40ea916834ed Author: David Brownell Date: Thu Jul 19 01:47:52 2007 -0700 gpio calls don't need i/o barriers Clarify that drivers using the GPIO operations don't need to issue io barrier instructions themselves. Previously this wasn't clear, and at least one platform assumed otherwise (and would thus break various otherwise-portable drivers which don't issue barriers). Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e53252d97e670a38b1d2e9723b48077bba11ddda Author: Akinobu Mita Date: Thu Jul 19 01:47:51 2007 -0700 unregister_chrdev() return void unregister_chrdev() does not return meaningful value. This patch makes it return void like most unregister_* functions. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68fc4fabca897a09f75f53bac14cdc7a98f52210 Author: Akinobu Mita Date: Thu Jul 19 01:47:50 2007 -0700 unregister_chrdev(): ignore the return value unregister_chrdev() always returns 0. There is no need to check the return value. Signed-off-by: Akinobu Mita Cc: "David S. Miller" Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb00ea3528eb3c09eae9871d6e7d038776e952e2 Author: Cyrill Gorcunov Date: Thu Jul 19 01:47:43 2007 -0700 UDF: coding style conversion - lindent This patch converts UDF coding style to kernel coding style using Lindent. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95a631e2d9853c9138e14fbaa9a51e6451f040b4 Author: Pavel Machek Date: Thu Jul 19 01:47:42 2007 -0700 Suspend MAINTAINERS update I guess it is time to clarify that suspend and hibernation are separate things, and add Rafael as a maintainer. Plus, people blame us for suspend problems, anyway, I guess it is fair to mark us as suspend maintainers, too. Signed-off-by: Pavel Machek Acked-by: Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77afcf78a2ded9a91838734234949c0ead5feb12 Author: Pavel Machek Date: Thu Jul 19 01:47:41 2007 -0700 PM: Integrate beeping flag with existing acpi_sleep flags Move "debug during resume from s2ram" into the variable we already use for real-mode flags to simplify code. It also closes nasty trap for the user in acpi_sleep_setup; order of parameters actually mattered there, acpi_sleep=s3_bios,s3_mode doing something different from acpi_sleep=s3_mode,s3_bios. Signed-off-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a60d6235c8352ade8f2699e72fcdfe853730456 Author: Nigel Cunningham Date: Thu Jul 19 01:47:41 2007 -0700 PM: Optional beeping during resume from suspend to RAM Add a feature allowing the user to make the system beep during a resume from suspend to RAM, on x86_64 and i386. This is useful for the users with broken resume from RAM, so that they can verify if the control reaches the kernel after a wake-up event. Signed-off-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd804eba1c8597cbb7cd5a5f9fe886aae16a079a Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:40 2007 -0700 PM: Introduce pm_power_off_prepare Introduce the pm_power_off_prepare() callback that can be registered by the interested platforms in analogy with pm_idle() and pm_power_off(), used for preparing the system to power off (needed by ACPI). This allows us to drop acpi_sysclass and device_acpi that are only defined in order to register the ACPI power off preparation callback, which is needed by pm_power_off() registered in a much different way. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7372cdf6938ccea23ec9fc68970702fed9ec3c8 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:39 2007 -0700 ACPI: Do not prepare for hibernation in acpi_shutdown Since we are now explicitly calling hibernation_ops->prepare() before hibernation_ops->enter() in hibernation_platform_enter() (defined in kernel/power/disk.c), ACPI should not call acpi_sleep_prepare(ACPI_STATE_S4) from acpi_shutdown(). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c961dfb7c903cfd1cd71b506863894038fd704f Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:38 2007 -0700 PM: Reduce code duplication between main.c and user.c The SNAPSHOT_S2RAM ioctl code is outdated and it should not duplicate the suspend code in kernel/power/main.c. Fix that. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccd4b65aef4be2278543fde5b999e55a4d694fd8 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:37 2007 -0700 PM: prevent frozen user mode helpers from failing the freezing of tasks At present, if a user mode helper is running while usermodehelper_pm_callback() is executed, the helper may be frozen and the completion in call_usermodehelper_exec() won't be completed until user space processes are thawed. As a result, the freezing of kernel threads may fail, which is not desirable. Prevent this from happening by introducing a counter of running user mode helpers and allowing usermodehelper_pm_callback() to succeed for action = PM_HIBERNATION_PREPARE or action = PM_SUSPEND_PREPARE only if there are no helpers running. [Namely, usermodehelper_pm_callback() waits for at most RUNNING_HELPERS_TIMEOUT for the number of running helpers to become zero and fails if that doesn't happen.] Special thanks to Uli Luckas , Pavel Machek and Oleg Nesterov for reviewing the previous versions of this patch and for very useful comments. Signed-off-by: Rafael J. Wysocki Acked-by: Uli Luckas Acked-by: Nigel Cunningham Acked-by: Pavel Machek Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cdd4936c17bd8085cb0dfacc4a37ccf8d0ada7b Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:36 2007 -0700 PM: disable usermode helper before hibernation and suspend Use a hibernation and suspend notifier to disable the user mode helper before a hibernation/suspend and enable it after the operation. [akpm@linux-foundation.org: build fix] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Acked-by: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b10d911749d37dccfa5873d2088aea3f074b9e45 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:36 2007 -0700 PM: introduce hibernation and suspend notifiers Make it possible to register hibernation and suspend notifiers, so that subsystems can perform hibernation-related or suspend-related operations that should not be carried out by device drivers' .suspend() and .resume() routines. [akpm@linux-foundation.org: build fixes] [akpm@linux-foundation.org: cleanups] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2cf7d87d804c66e063829d5ca739053e901dc15 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:35 2007 -0700 Freezer: remove redundant check in try_to_freeze_tasks We don't need to check if todo is positive before calling time_after() in try_to_freeze_tasks(), because if todo is zero at this point, the loop will be broken anyway due to the while () condition being false. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7cd8a722745a01bcfac4d4a52d53391d177da20 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:34 2007 -0700 Freezer: return int from freeze_processes Make try_to_freeze_tasks() and freeze_processes() return -EBUSY on failure instead of the number of unfrozen tasks (none of the callers actually uses this number). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4a3a7d60c9c9a961e4c970f6eb41dd1c9d3ec21 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:33 2007 -0700 Freezer: use __set_current_state in refrigerator Use __set_current_state() as appropriate in refrigerator() instead of accessing current->state directly. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c1eecfb345401629aa57c9d3b077273e56c45a7 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:33 2007 -0700 Freezer: avoid freezing kernel threads prematurely Kernel threads should not have TIF_FREEZE set when user space processes are being frozen, since otherwise some of them might be frozen prematurely. To prevent this from happening we can (1) make exit_mm() unset TIF_FREEZE unconditionally just after clearing tsk->mm and (2) make try_to_freeze_tasks() check if p->mm is different from zero and PF_BORROWED_MM is unset in p->flags when user space processes are to be frozen. Namely, when user space processes are being frozen, we only should set TIF_FREEZE for tasks that have p->mm different from NULL and don't have PF_BORROWED_MM set in p->flags. For this reason task_lock() must be used to prevent try_to_freeze_tasks() from racing with use_mm()/unuse_mm(), in which p->mm and p->flags.PF_BORROWED_MM are changed under task_lock(p). Also, we need to prevent the following scenario from happening: * daemonize() is called by a task spawned from a user space code path * freezer checks if the task has p->mm set and the result is positive * task enters exit_mm() and clears its TIF_FREEZE * freezer sets TIF_FREEZE for the task * task calls try_to_freeze() and goes to the refrigerator, which is wrong at that point This requires us to acquire task_lock(p) before p->flags.PF_BORROWED_MM and p->mm are examined and release it after TIF_FREEZE is set for p (or it turns out that TIF_FREEZE should not be set). Signed-off-by: Rafael J. Wysocki Cc: Gautham R Shenoy Cc: Pavel Machek Cc: Nigel Cunningham Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1457bcc3a00a0446c7f6e2f22fd24b6d8d0a309 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:31 2007 -0700 Hibernation: prepare to enter the low power state During hibernation we call hibernation_ops->prepare() before creating the image, but then, before saving it, we cancel the power transition by calling hibernation_ops->finish(). Thus prior to calling hibernation_ops->enter() we should let the platform firmware know that we're going to enter the low power state after all. Signed-off-by: Rafael J. Wysocki Cc: Gautham R Shenoy Cc: Pavel Machek Cc: Nigel Cunningham Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10a1803d667e209914eaada9b95525252f23ec78 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:31 2007 -0700 swsusp: fix hibernation code ordering Change the code ordering so that hibernation_ops->prepare() is called after device_suspend(). This is needed so that we don't violate the ACPI specification, which states that the _PTS and _GTS system-control methods, executed from acpi_sleep_prepare(), ought to be called after devices have been put in low power states. The "Finish" label in hibernation_restore() is moved, because device_suspend() resumes devices if the suspending of them fails and the restore code ordering should reflect the hibernation code ordering. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a634cc10164d1c229fbeca33923e6a0ed939e894 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:30 2007 -0700 swsusp: introduce restore platform operations At least on some machines it is necessary to prepare the ACPI firmware for the restoration of the system memory state from the hibernation image if the "platform" mode of hibernation has been used. Namely, in that cases we need to disable the GPEs before replacing the "boot" kernel with the "frozen" kernel (cf. http://bugzilla.kernel.org/show_bug.cgi?id=7887). After the restore they will be re-enabled by hibernation_ops->finish(), but if the restore fails, they have to be re-enabled by the restore code explicitly. For this purpose we can introduce two additional hibernation operations, called pre_restore() and restore_cleanup() and call them from the restore code path. Still, they should be called if the "platform" mode of hibernation has been used, so we need to pass the information about the hibernation mode from the "frozen" kernel to the "boot" kernel in the image header. Apparently, we can't drop the disabling of GPEs before the restore because of Bug #7887 .  We also can't do it unconditionally, because the GPEs wouldn't have been enabled after a successful restore if the suspend had been done in the 'shutdown' or 'reboot' mode. In principle we could (and probably should) unconditionally disable the GPEs before each snapshot creation *and* before the restore, but then we'd have to unconditionally enable them after the snapshot creation as well as after the restore (or restore failure)   Still, for this purpose we'd need to modify acpi_enter_sleep_state_prep() and acpi_leave_sleep_state() and we'd have to introduce some mechanism synchronizing the disablind/enabling of the GPEs with the device drivers' .suspend()/.resume() routines and with disable_/enable_nonboot_cpus().  However, this would have affected the suspend (ie. s2ram) code as well as the hibernation, which I'd like to avoid in this patch series. Signed-off-by: Rafael J. Wysocki Cc: Nigel Cunningham Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7777fab989b5d006903188c966058ebcd2d6342a Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:29 2007 -0700 swsusp: remove code duplication between disk.c and user.c Currently, much of the code in kernel/power/disk.c is duplicated in kernel/power/user.c , mainly for historical reasons. By eliminating this code duplication we can reduce the size of user.c quite substantially and remove the maintenance difficulty resulting from it. [bunk@stusta.de: kernel/power/disk.c: make code static] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 127067a9c994dff16b280f409cc7b18a54a63719 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:28 2007 -0700 swsusp: remove incorrect code from user.c In the face of the recent change of suspend code ordering (cf. http://marc.info/?l=linux-acpi&m=117938245931603&w=2) we should also modify the code ordering in swsusp so that hibernation_ops->prepare() is executed after device_suspend(). However, for this purpose it seems reasonable to eliminate the code duplication between kernel/power/disk.c and kernel/power/user.c first. By eliminating it we can reduce the size of user.c quite substantially and remove the maintenance difficulty with making essentially the same changes in two different places. Moreover, we should also remove the calls to "platform" functions from the restore code path, since it doesn't carry out any power transition of the system, but we generally need to disable the GPEs before the restore if the 'platform' hibernation mode has been used. To do this, we can introduce two new hibernation_ops to be used in the restore code. This patch: Make the code hibernation code in kernel/power/user.c be functionally equivalent to the corresponding code in kernel/power/disk.c , as it should be. The calls to the platform functions removed by this patch are incorrect. They should be replaced with some other "platform" invocations that will be introduced in one of the subsequent patches. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0349828d6d6f95c445674c2953ee9db75c11f8f Author: Ben Collins Date: Thu Jul 19 01:47:27 2007 -0700 PM: Do not require dev spew to get PM_DEBUG In order to enable things like PM_TRACE, you're required to enable PM_DEBUG, which sends a large spew of messages on boot, and often times can overflow dmesg buffer. Create new PM_VERBOSE and shift that to be the option that enables drivers/base/power's messages. Signed-off-by: Ben Collins Cc: "Rafael J. Wysocki" Cc: Pavel Machek Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 328616e3b76859f1abdd08a8df1ddbb7bb81f807 Author: Andrew Morton Date: Thu Jul 19 01:47:26 2007 -0700 freezer: run show_state() when freezing times out To see which tasks are stuck where. Cc: "Rafael J. Wysocki" Cc: Oleg Nesterov Cc: Alan Stern Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ee6dafc677a68e461a7ddafc94a580ebab80735 Author: Miklos Szeredi Date: Thu Jul 19 01:47:24 2007 -0700 only allow nonlinear vmas for ram backed filesystems page_mkclean() doesn't re-protect ptes for non-linear mappings, so a later re-dirty through such a mapping will not generate a fault, PG_dirty will not reflect the dirty state and the dirty count will be skewed. This implies that msync() is also currently broken for nonlinear mappings. The easiest solution is to emulate remap_file_pages on non-linear mappings with simple mmap() for non ram-backed filesystems. Applications continue to work (albeit slower), as long as the number of remappings remain below the maximum vma count. However all currently known real uses of non-linear mappings are for ram backed filesystems, which this patch doesn't affect. Signed-off-by: Miklos Szeredi Acked-by: Peter Zijlstra Cc: William Lee Irwin III Cc: Nick Piggin Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb2d5ce16409efcdf94017a6b6fecd468226e29c Author: Mel Gorman Date: Thu Jul 19 01:47:23 2007 -0700 Remove alloc_zeroed_user_highpage() alloc_zeroed_user_highpage() has no in-tree users and it is not exported. As it is not exported, it can simply be removed. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79352894b28550ee0eee919149f57626ec1b3572 Author: Nick Piggin Date: Thu Jul 19 01:47:22 2007 -0700 mm: fix clear_page_dirty_for_io vs fault race Fix msync data loss and (less importantly) dirty page accounting inaccuracies due to the race remaining in clear_page_dirty_for_io(). The deleted comment explains what the race was, and the added comments explain how it is fixed. Signed-off-by: Nick Piggin Acked-by: Linus Torvalds Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83c54070ee1a2d05c89793884bea1a03f2851ed4 Author: Nick Piggin Date: Thu Jul 19 01:47:05 2007 -0700 mm: fault feedback #2 This patch completes Linus's wish that the fault return codes be made into bit flags, which I agree makes everything nicer. This requires requires all handle_mm_fault callers to be modified (possibly the modifications should go further and do things like fault accounting in handle_mm_fault -- however that would be for another patch). [akpm@linux-foundation.org: fix alpha build] [akpm@linux-foundation.org: fix s390 build] [akpm@linux-foundation.org: fix sparc build] [akpm@linux-foundation.org: fix sparc64 build] [akpm@linux-foundation.org: fix ia64 build] Signed-off-by: Nick Piggin Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Russell King Cc: Ian Molton Cc: Bryan Wu Cc: Mikael Starvik Cc: David Howells Cc: Yoshinori Sato Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Ungerer Cc: Matthew Wilcox Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: William Lee Irwin III Cc: "David S. Miller" Cc: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Miles Bader Cc: Chris Zankel Acked-by: Kyle McMartin Acked-by: Haavard Skinnemoen Acked-by: Ralf Baechle Acked-by: Andi Kleen Signed-off-by: Andrew Morton [ Still apparently needs some ARM and PPC loving - Linus ] Signed-off-by: Linus Torvalds commit d0217ac04ca6591841e5665f518e38064f4e65bd Author: Nick Piggin Date: Thu Jul 19 01:47:03 2007 -0700 mm: fault feedback #1 Change ->fault prototype. We now return an int, which contains VM_FAULT_xxx code in the low byte, and FAULT_RET_xxx code in the next byte. FAULT_RET_ code tells the VM whether a page was found, whether it has been locked, and potentially other things. This is not quite the way he wanted it yet, but that's changed in the next patch (which requires changes to arch code). This means we no longer set VM_CAN_INVALIDATE in the vma in order to say that a page is locked which requires filemap_nopage to go away (because we can no longer remain backward compatible without that flag), but we were going to do that anyway. struct fault_data is renamed to struct vm_fault as Linus asked. address is now a void __user * that we should firmly encourage drivers not to use without really good reason. The page is now returned via a page pointer in the vm_fault struct. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7 Author: Mark Fasheh Date: Thu Jul 19 01:47:01 2007 -0700 Document ->page_mkwrite() locking There seems to be very little documentation about this callback in general. The locking in particular is a bit tricky, so it's worth having this in writing. Signed-off-by: Mark Fasheh Cc: Nick Piggin Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6967614761fd305b3414d9485d89dc2e0a407410 Author: Mark Fasheh Date: Thu Jul 19 01:47:00 2007 -0700 ocfs2: release page lock before calling ->page_mkwrite __do_fault() was calling ->page_mkwrite() with the page lock held, which violates the locking rules for that callback. Release and retake the page lock around the callback to avoid deadlocking file systems which manually take it. Signed-off-by: Mark Fasheh Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54cb8821de07f2ffcd28c380ce9b93d5784b40d7 Author: Nick Piggin Date: Thu Jul 19 01:46:59 2007 -0700 mm: merge populate and nopage into fault (fixes nonlinear) Nonlinear mappings are (AFAIKS) simply a virtual memory concept that encodes the virtual address -> file offset differently from linear mappings. ->populate is a layering violation because the filesystem/pagecache code should need to know anything about the virtual memory mapping. The hitch here is that the ->nopage handler didn't pass down enough information (ie. pgoff). But it is more logical to pass pgoff rather than have the ->nopage function calculate it itself anyway (because that's a similar layering violation). Having the populate handler install the pte itself is likewise a nasty thing to be doing. This patch introduces a new fault handler that replaces ->nopage and ->populate and (later) ->nopfn. Most of the old mechanism is still in place so there is a lot of duplication and nice cleanups that can be removed if everyone switches over. The rationale for doing this in the first place is that nonlinear mappings are subject to the pagefault vs invalidate/truncate race too, and it seemed stupid to duplicate the synchronisation logic rather than just consolidate the two. After this patch, MAP_NONBLOCK no longer sets up ptes for pages present in pagecache. Seems like a fringe functionality anyway. NOPAGE_REFAULT is removed. This should be implemented with ->fault, and no users have hit mainline yet. [akpm@linux-foundation.org: cleanup] [randy.dunlap@oracle.com: doc. fixes for readahead] [akpm@linux-foundation.org: build fix] Signed-off-by: Nick Piggin Signed-off-by: Randy Dunlap Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d00806b183152af6d24f46f0c33f14162ca1262a Author: Nick Piggin Date: Thu Jul 19 01:46:57 2007 -0700 mm: fix fault vs invalidate race for linear mappings Fix the race between invalidate_inode_pages and do_no_page. Andrea Arcangeli identified a subtle race between invalidation of pages from pagecache with userspace mappings, and do_no_page. The issue is that invalidation has to shoot down all mappings to the page, before it can be discarded from the pagecache. Between shooting down ptes to a particular page, and actually dropping the struct page from the pagecache, do_no_page from any process might fault on that page and establish a new mapping to the page just before it gets discarded from the pagecache. The most common case where such invalidation is used is in file truncation. This case was catered for by doing a sort of open-coded seqlock between the file's i_size, and its truncate_count. Truncation will decrease i_size, then increment truncate_count before unmapping userspace pages; do_no_page will read truncate_count, then find the page if it is within i_size, and then check truncate_count under the page table lock and back out and retry if it had subsequently been changed (ptl will serialise against unmapping, and ensure a potentially updated truncate_count is actually visible). Complexity and documentation issues aside, the locking protocol fails in the case where we would like to invalidate pagecache inside i_size. do_no_page can come in anytime and filemap_nopage is not aware of the invalidation in progress (as it is when it is outside i_size). The end result is that dangling (->mapping == NULL) pages that appear to be from a particular file may be mapped into userspace with nonsense data. Valid mappings to the same place will see a different page. Andrea implemented two working fixes, one using a real seqlock, another using a page->flags bit. He also proposed using the page lock in do_no_page, but that was initially considered too heavyweight. However, it is not a global or per-file lock, and the page cacheline is modified in do_no_page to increment _count and _mapcount anyway, so a further modification should not be a large performance hit. Scalability is not an issue. This patch implements this latter approach. ->nopage implementations return with the page locked if it is possible for their underlying file to be invalidated (in that case, they must set a special vm_flags bit to indicate so). do_no_page only unlocks the page after setting up the mapping completely. invalidation is excluded because it holds the page lock during invalidation of each page (and ensures that the page is not mapped while holding the lock). This also allows significant simplifications in do_no_page, because we have the page locked in the right place in the pagecache from the start. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f36158c410651fe66f438c17b2ab3ae813f8c060 Author: Paul Moore Date: Wed Jul 18 12:28:46 2007 -0400 SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel These changes will make NetLabel behave like labeled IPsec where there is an access check for both labeled and unlabeled packets as well as providing the ability to restrict domains to receiving only labeled packets when NetLabel is in use. The changes to the policy are straight forward with the following necessary to receive labeled traffic (with SECINITSID_NETMSG defined as "netlabel_peer_t"): allow mydom_t netlabel_peer_t:{ tcp_socket udp_socket rawip_socket } recvfrom; The policy for unlabeled traffic would be: allow mydom_t unlabeled_t:{ tcp_socket udp_socket rawip_socket } recvfrom; These policy changes, as well as more general NetLabel support, are included in the latest SELinux Reference Policy release 20070629 or later. Users who make use of NetLabel are strongly encouraged to upgrade their policy to avoid network problems. Users who do not make use of NetLabel will not notice any difference. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 23bcdc1adebd3cb47d5666f2e9ecada95c0134e4 Author: Paul Moore Date: Wed Jul 18 12:28:45 2007 -0400 SELinux: enable dynamic activation/deactivation of NetLabel/SELinux enforcement Create a new NetLabel KAPI interface, netlbl_enabled(), which reports on the current runtime status of NetLabel based on the existing configuration. LSMs that make use of NetLabel, i.e. SELinux, can use this new function to determine if they should perform NetLabel access checks. This patch changes the NetLabel/SELinux glue code such that SELinux only enforces NetLabel related access checks when netlbl_enabled() returns true. At present NetLabel is considered to be enabled when there is at least one labeled protocol configuration present. The result is that by default NetLabel is considered to be disabled, however, as soon as an administrator configured a CIPSO DOI definition NetLabel is enabled and SELinux starts enforcing NetLabel related access controls - including unlabeled packet controls. This patch also tries to consolidate the multiple "#ifdef CONFIG_NETLABEL" blocks into a single block to ease future review as recommended by Linus. Signed-off-by: Paul Moore Signed-off-by: James Morris commit c32676eea19ce29cb74dba0f97b085e83f6b8915 Author: David Chinner Date: Thu Jul 19 16:28:58 2007 +1000 [XFS] Fix inode size update before data write in xfs_setattr When changing the file size by a truncate() call, we log the change in the inode size. However, we do not flush any outstanding data that might not have been written to disk, thereby violating the data/inode size update order. This can leave files full of NULLs on crash. Hence if we are truncating the file, flush any unwritten data that may lie between the curret on disk inode size and the new inode size that is being logged to ensure that ordering is preserved. SGI-PV: 966308 SGI-Modid: xfs-linux-melb:xfs-kern:29174a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 91ebecc74eeeeea0a2aa50bf1964ec2214a229c9 Author: David Chinner Date: Thu Jul 19 16:28:30 2007 +1000 [XFS] Allow punching holes to free space when at ENOSPC Make the free file space transaction able to dip into the reserved blocks to ensure that we can successfully free blocks when the filesystem is at ENOSPC. SGI-PV: 967788 SGI-Modid: xfs-linux-melb:xfs-kern:29167a Signed-off-by: David Chinner Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 4f57dbc6b5bae5a3978d429f45ac597ca7a3b8c6 Author: David Chinner Date: Thu Jul 19 16:28:17 2007 +1000 [XFS] Implement ->page_mkwrite in XFS. Hook XFS up to ->page_mkwrite to ensure that we know about mmap pages being written to. This allows use to do correct delayed allocation and ENOSPC checking as well as remap unwritten extents so that they get converted correctly during writeback. This is done via the generic block_page_mkwrite code. SGI-PV: 940392 SGI-Modid: xfs-linux-melb:xfs-kern:29149a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 5417169026c3df151adf5a65eb061278b0a72e69 Author: David Chinner Date: Thu Jul 19 17:39:55 2007 +1000 [FS] Implement block_page_mkwrite. Many filesystems need a ->page-mkwrite callout to correctly set up pages that have been written to by mmap. This is especially important when mmap is writing into holes as it allows filesystems to correctly account for and allocate space before the mmap write is allowed to proceed. Protection against truncate races is provided by locking the page and checking to see whether the page mapping is correct and whether it is beyond EOF so we don't end up allowing allocations beyond the current EOF or changing EOF as a result of a mmap write. SGI-PV: 940392 SGI-Modid: 2.6.x-xfs-melb:linux:29146a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 385820a38d5e7c70b20af4d68767b1920b1e4133 Author: Mark Fasheh Date: Thu Jul 19 00:14:38 2007 -0700 ocfs2: ->fallocate() support Plug ocfs2 into the ->fallocate() callback. This just re-uses the existing preallocation code. Signed-off-by: Mark Fasheh commit ee6a99b539a50b4e9398938a0a6d37f8bf911550 Author: Michael Chan Date: Wed Jul 18 21:49:10 2007 -0700 [TG3]: Fix msi issue with kexec/kdump. Tina Yang discovered an MSI related problem when doing kdump. The problem is that the kexec kernel is booted without going through system reset, and as a result, MSI may already be enabled when tg3_init_one() is called. tg3_init_one() calls pci_save_state() which will save the stale MSI state. Later on in tg3_open(), we call pci_enable_msi() to reconfigure MSI on the chip before we reset the chip. After chip reset, we call pci_restore_state() which will put the stale MSI address/data back onto the chip. This is no longer a problem in the latest kernel because pci_restore_state() has been changed to restore MSI state from internal data structures which will guarantee restoring the proper MSI state. But I think we should still fix it. Our save and restore sequence can still cause very subtle problems down the road. The fix is to have our own functions save and restore precisely what we need. We also change it to save and restore state inside tg3_chip_reset() in a more straight forward way. Thanks to Tina for helping to test and debug the problem. [ Bump driver version and release date. -DaveM ] Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7dc12d6dd6cc1aa489c6f3e34a75e8023c945da8 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:45:15 2007 +0900 [NET] XFRM: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 8238745a39606738c1d8d39f2052959b3e594b04 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:56 2007 +0900 [NET] TIPC: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit fb1416a59b070d2dea280bfac3313bf3b8a17cd2 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:53 2007 +0900 [NET] SUNRPC: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 9cbcbf4e010ec253df686257f99c819da9b895da Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:50 2007 +0900 [NET] SCTP: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 1c899641acd18b8d9d8a61dcb5dd8826fc6c87ea Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:44 2007 +0900 [NET] RXRPC: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 6140efb536e7758cd300461981634ebfd4f51efa Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:40 2007 +0900 [NET] ROSE: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 2b81bff416c4413333b19af627e11fddc620bd84 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:38 2007 +0900 [NET] RFKILL: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit db0c58f998eeb552fb47b82915005259a83613ae Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:35 2007 +0900 [NET] PACKET: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 639fc4c381456df0564b23540e0f60b0af83093b Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:32 2007 +0900 [NET] NETROM: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit a5d292646ebf2ee51086f59899a377c85e5d50b2 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:21 2007 +0900 [NET] NETFILTER: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 9c681b43fae1e402e39d157feaa5df454b9e4f1f Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:47 2007 +0900 [NET] IPV4: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 23248005fbe5fa32a3f6d00cdec1ecfb115d28eb Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:28 2007 +0900 [NET] DCCP: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 40b77c943468236c6dfad3e7b94348fe70c70331 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:23 2007 +0900 [NET] CORE: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 18eab8550397f1f3d4b8b2c5257c88dae25d58ed Author: Venkatesh Pallipadi Date: Fri Jun 15 19:37:00 2007 -0400 ACPI: Enable C3 even when PM2_control is zero On systems that do not have pm2_control_block, we cannot really use ARB_DISABLE before C3. We used to disable C3 totally on such systems. To be compatible with Windows, we need to enable C3 on such systems now. We just skip ARB_DISABLE step before entering the C3-state and assume hardware is handling things correctly. Also, ACPI spec is not clear about pm2_control is _needed_ for C3 or not. We have atleast one system that need this to enable C3. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 00ae02f31519e8d6e374424bbdf0c7381489e416 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:16 2007 +0900 [NET] BLUETOOTH: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit bd3b071b91a8acfe93b01567f556c879db049f99 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:13 2007 +0900 [NET] AX25: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit e6917317c0f6a930442c40dc38a6f21710adf961 Author: Jesper Juhl Date: Thu Jul 19 00:48:03 2007 +0200 ACPICA: fix memory leak in acpi_ev_pci_config_region_setup() error path acpi_ev_pci_config_region_setup() leaks pci_id in the error case of "if (!pci_device_node)" Signed-off-by: Jesper Juhl Signed-off-by: Len Brown commit 9254bc845db90a123cf992e983539d0ee409f22a Author: Dmitry Torokhov Date: Wed Jul 18 01:10:24 2007 -0400 ACPI: dock: fix oops when _DCK evaluation fails Data returned by acpi_get_name in acpi_buffer is not acpi_object and therefore should not be cast to it, otherwise we'll get an nice oops trying to print error message. Also print name of the ACPI object corresponding to the docking station and elevate severity of the message printed when _DCK fails to KERN_ERR. Signed-off-by: Dmitry Torokhov Cc: Kristen Carlson Accardi Signed-off-by: Len Brown commit cfb7267aaba2b59374d7bc765f038698711b09d8 Author: Michael Wu Date: Thu Jun 28 23:14:35 2007 -0700 [PATCH] mac80211: remove rtnl locking in ieee80211_sta.c The rtnl is held in ieee80211_sta.c to prevent some potential configuration races with userspace. Unfortunately, it also has the potential for deadlocks on interface down. This patch removes the rtnl locking to eliminate the deadlocks. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 33ccad35a21df51c0d23f3e3e88688524e7b51ed Author: Jiri Benc Date: Wed Jul 18 17:10:44 2007 +0200 [PATCH] mac80211: fix GCC warning on 64bit platforms net/mac80211/ieee80211.c: In function ieee80211_register_hw: net/mac80211/ieee80211.c:4989: warning: comparison of distinct pointer types lacks a cast Size of ieee80211_tx_status_rtap_hdr structure will never be greater than unsigned int. Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 70b315b0dd3879cb3ab8aadffb14f10b2d19b9c3 Author: Steve French Date: Thu Jul 19 00:32:25 2007 +0000 [CIFS] merge conflict in fs/cifs/export.c Signed-off-by: Steve French commit c18c842b1fdf527717303a4e173cbece7ab2deb8 Author: Steve French Date: Wed Jul 18 23:21:09 2007 +0000 [CIFS] Allow disabling CIFS Unix Extensions as mount option Previously the only way to do this was to umount all mounts to that server, turn off a proc setting (/proc/fs/cifs/LinuxExtensionsEnabled). Fixes Samba bugzilla bug number: 4582 (and also 2008) Signed-off-by: Steve French commit 6924c55492c904695f13c552c461c2211f4fdd6a Author: J. Bruce Fields Date: Fri May 11 16:22:50 2007 -0400 locks: fix vfs_test_lock() comment Thanks to Doug Chapman for pointing out that the comment here is inconsistent with the function prototype. Signed-off-by: "J. Bruce Fields" commit 6d34ac199a4af5c678a3a8f3275aeb2586b72da3 Author: J. Bruce Fields Date: Fri May 11 16:09:32 2007 -0400 locks: make posix_test_lock() interface more consistent Since posix_test_lock(), like fcntl() and ->lock(), indicates absence or presence of a conflict lock by setting fl_type to, respectively, F_UNLCK or something other than F_UNLCK, the return value is no longer needed. Signed-off-by: "J. Bruce Fields" commit 370f6599e8bc03fd9fc6d1a1be00ae0c6373ca59 Author: J. Bruce Fields Date: Fri Jun 8 15:23:34 2007 -0400 nfs: disable leases over NFS As Peter Staubach says elsewhere (http://marc.info/?l=linux-kernel&m=118113649526444&w=2): > The problem is that some file system such as NFSv2 and NFSv3 do > not have sufficient support to be able to support leases correctly. > In particular for these two file systems, there is no over the wire > protocol support. > > Currently, these two file systems fail the fcntl(F_SETLEASE) call > accidentally, due to a reference counting difference. These file > systems should fail more consciously, with a proper error to > indicate that the call is invalid for them. Define an nfs setlease method that just returns -EINVAL. If someone can demonstrate a real need, perhaps we could reenable them in the presence of the "nolock" mount option. Signed-off-by: "J. Bruce Fields" Cc: Peter Staubach Cc: Trond Myklebust commit 60446067ba7a8e890a91db3b4a7436fe0ebd2dee Author: Marc Eshel Date: Mon Jan 15 18:33:36 2007 -0500 gfs2: stop giving out non-cluster-coherent leases Since gfs2 can't prevent conflicting opens or leases on other nodes, we probably shouldn't allow it to give out leases at all. Put the newly defined lease operation into use in gfs2 by turning off lease, unless we're using the "nolock' locking module (in which case all locking is local anyway). Signed-off-by: Marc Eshel Signed-off-by: J. Bruce Fields Cc: Steven Whitehouse commit 4698afe8e3a725576366f86560a8a8242b21b9f7 Author: J. Bruce Fields Date: Wed Jul 4 17:21:37 2007 -0400 locks: export setlease to filesystems Export setlease so it can used by filesystems to implement their lease methods. Signed-off-by: "J. Bruce Fields" commit f9ffed26d6f3e6ac9988947242821579d615fda7 Author: J. Bruce Fields Date: Tue Nov 14 15:51:40 2006 -0500 locks: provide a file lease method enabling cluster-coherent leases Currently leases are only kept locally, so there's no way for a distributed filesystem to enforce them against multiple clients. We're particularly interested in the case of nfsd exporting a cluster filesystem, in which case nfsd needs cluster-coherent leases in order to implement delegations correctly. Also add some documentation. Signed-off-by: J. Bruce Fields commit a9933cea7a1d80dd9efae9f1acd857f5dce742b9 Author: J. Bruce Fields Date: Thu Jun 7 17:09:49 2007 -0400 locks: rename lease functions to reflect locks.c conventions We've been using the convention that vfs_foo is the function that calls a filesystem-specific foo method if it exists, or falls back on a generic method if it doesn't; thus vfs_foo is what is called when some other part of the kernel (normally lockd or nfsd) wants to get a lock, whereas foo is what filesystems call to use the underlying local functionality as part of their lock implementation. So rename setlease to vfs_setlease (which will call a filesystem-specific setlease after a later patch) and __setlease to setlease. Also, vfs_setlease need only be GPL-exported as long as it's only needed by lockd and nfsd. Signed-off-by: "J. Bruce Fields" commit 6d5e8b05caf074ae5676ad9aaf92e381226a14a7 Author: J. Bruce Fields Date: Thu May 31 17:03:46 2007 -0400 locks: share more common lease code Share more code between setlease (used by nfsd) and fcntl. Also some minor cleanup. Signed-off-by: "J. Bruce Fields" Acked-by: Christoph Hellwig commit e32b8ee27b486f682a6d13533cfe6549c8abcdef Author: J. Bruce Fields Date: Thu Mar 1 14:34:35 2007 -0500 locks: clean up lease_alloc() Return the newly allocated structure as the return value instead of using a struct ** parameter. Signed-off-by: J. Bruce Fields commit d2ab0b0c4c2570921a9ec1eff1e3a5143e05b231 Author: J. Bruce Fields Date: Sat Jun 30 12:40:32 2007 -0400 locks: convert an -EINVAL return to a BUG There's no point trying to return an error in these cases, which all represent bugs in the callers. Signed-off-by: J. Bruce Fields commit 87250dd26a34c65ae31d08837174222889007641 Author: david m. richter Date: Wed May 9 16:10:27 2007 -0400 leases: minor break_lease() comment clarification clarify that break_lease() checks for presence of any lock, not just leases. Signed-off-by: David M. Richter Signed-off-by: "J. Bruce Fields" commit ede178e216b5dd9200cf2c483c746e0672fbe503 Author: Li Yang Date: Tue Jun 26 11:15:27 2007 +0800 zh_CN/HOWTO: update URLs of git trees Addressing patch from Stefan Richter: HOWTO: update URLs of git trees (It will be better if we update this to commit-id later) Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 29a68ee73ec6a5510cbf9d803cbf6190b615e276 Author: TripleX Date: Fri Jun 22 01:20:36 2007 +0800 Chinese translation of Documentation/stable_api_nonsense.txt This is a Chinese translated version of Documentation/stable_api_nonsense.txt. From: TripleX Signed-off-by: WANG Cong Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 0da1fa0aa2b438aaee6764742d45766d6a9283bc Author: Li Yang Date: Thu Jun 21 22:40:17 2007 +0800 HOWTO: add Chinese translation of Documentation/HOWTO This is a Chinese translated version of Documentation/HOWTO. Currently Chinese involvement in Linux kernel is very low, especially comparing to its largest population base. Language could be the main obstacle. Hope this document will help more Chinese to contribute to Linux kernel. Signed-off-by: Li Yang Signed-off-by: TripleX Chung Signed-off-by: Maggie Chen Signed-off-by: WANG Cong Signed-off-by: Greg Kroah-Hartman commit 5d329e6bb513323bde40668a31e1d734a16eb7b2 Author: IKEDA, Munehiro Date: Tue Jun 12 09:46:04 2007 +0900 Documentation: add Japanese translated stable_api_nonsense.txt Signed-off-by: IKEDA, Munehiro Signed-off-by: Greg Kroah-Hartman commit 73fd625371db08377b7053816c7e486b9bffc18d Author: Tsugikazu Shibata Date: Tue Jun 12 17:16:12 2007 +0900 HOWTO: add Japanese translation of Documentation/HOWTO Add the japanese translation of the Documentation/HOWTO file. Signed-off-by: Tsugikazu Shibata Cc: IKEDA Munehiro Signed-off-by: Greg Kroah-Hartman commit bc4c4f45acbe1f1528d654b0b1793f25c175bf8f Author: Hans-Jürgen Koch Date: Fri Mar 2 13:03:12 2007 +0100 UIO: Hilscher CIF card driver this is a patch that adds support for Hilscher CIF DeviceNet and Profibus cards. I tested it on a Kontron CPX board, and Thomas reviewed it. You can find the user space part here: http://www.osadl.org/projects/downloads/UIO/user/cif-0.1.0.tar.gz Notes: cif_api.c is the main file you want to look at. It contains the functions to open, close, mmap and so on. cif_dps.c adds functions specific to Profibus cards, and cif_dn.c contains functions for DeviceNet cards. cif.c is a universal playground, it's just a small test program. The user space part of this UIO driver is still work in progress, and not everything is tested yet. At the moment, the thread in cif_api.c contains some code that artificially makes the card generate interrupts, this was added for testing and will be removed later. But the driver already contains all the functions needed for useful operation, so it gives a good idea of how such a thing looks like. For comparison, here's what you get from the manufacturer (www.hilscher.com) when you ask for a Linux 2.6 driver: http://www.tglx.de/private/hjk/cif-orig-2.6.tar.bz2 WARNING: Don't look at the code for too long, you might become sick :-) Signed-off-by: Hans-Jürgen Koch Signed-off-by: Greg Kroah-Hartman commit e3e0a28b5b067d16b8e2e5ddaedecda5bd0c3ec2 Author: Hans J. Koch Date: Mon Dec 11 16:59:59 2006 +0100 UIO: Documentation Documentation for the UIO interface From: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit beafc54c4e2fba24e1ca45cdb7f79d9aa83e3db1 Author: Hans J. Koch Date: Thu Dec 7 10:58:29 2006 +0100 UIO: Add the User IO core code This interface allows the ability to write the majority of a driver in userspace with only a very small shell of a driver in the kernel itself. It uses a char device and sysfs to interact with a userspace process to process interrupts and control memory accesses. See the docbook documentation for more details on how to use this interface. From: Hans J. Koch Cc: Thomas Gleixner Cc: Benedikt Spranger Signed-off-by: Greg Kroah-Hartman commit 967e35dcc9ac194b4a6fad69a5a51f93d69bb0d1 Author: Tejun Heo Date: Wed Jul 18 16:38:11 2007 +0900 sysfs: cosmetic clean up on node creation failure paths Node addition failure is detected by testing return value of sysfs_addfm_finish() which returns the number of added and removed nodes. As the function is called as the last step of addition right on top of error handling block, the if blocks looked like the following. if (sysfs_addrm_finish(&acxt)) success handling, usually return; /* fall through to error handling */ This is the opposite of usual convention in sysfs and makes the code difficult to understand. This patch inverts the test and makes those blocks look more like others. Signed-off-by: Tejun Heo Cc: Gabriel C Cc: Miles Lane Signed-off-by: Greg Kroah-Hartman commit a1da4dfe35bc36c3bc9716d995c85b7983c38a76 Author: Tejun Heo Date: Wed Jul 18 16:14:45 2007 +0900 sysfs: kill an extra put in sysfs_create_link() failure path There is a subtle bug in sysfs_create_link() failure path. When symlink creation fails because there's already a node with the same name, the target sysfs_dirent is put twice - once by failure path of sysfs_create_link() and once more when the symlink is released. Fix it by making only the symlink node responsible for putting target_sd. Signed-off-by: Tejun Heo Cc: Gabriel C Cc: Miles Lane Signed-off-by: Greg Kroah-Hartman commit 2ee97caf0a6602f749ddbfdb1449e383e1212707 Author: Cornelia Huck Date: Wed Jul 18 01:43:47 2007 -0700 Driver core: check return code of sysfs_create_link() Check for return value of sysfs_create_link() in device_add() and device_rename(). Add helper functions device_add_class_symlinks() and device_remove_class_symlinks() to make the code easier to read. [akpm@linux-foundation.org: fix unused var warnings] Signed-off-by: Cornelia Huck Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit be3884943674f8ee7656b1d8b71c087ec900c836 Author: Paolo Ciarrocchi Date: Mon Jul 16 23:55:05 2007 +0200 HOWTO: Add the knwon_regression URI to the documentation We should let everybody know about where the regression list is hosted. The more is known the more it is used. Signed-off-by: Paolo Ciarrocchi Cc: Li Yang Cc: TripleX Chung Cc: Maggie Chen Cc: WANG Cong Cc: Tsugikazu Shibata Cc: IKEDA Munehiro Signed-off-by: Greg Kroah-Hartman commit 6b09448ab81e90e59c09cfbc6d0d612dc84a2b1d Author: David Brownell Date: Fri Jul 13 16:32:09 2007 -0700 dev_vdbg() documentation Update CodingStyle to talk about "-DDEBUG" message conventions and the new "-DVERBOSE_DEBUG" convention. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit aebdc3b450a3febf7d7d00cd2235509055ec7082 Author: David Brownell Date: Thu Jul 12 22:08:22 2007 -0700 dev_vdbg(), available with -DVERBOSE_DEBUG This defines a dev_vdbg() call, which is enabled with -DVERBOSE_DEBUG. When enabled, dev_vdbg() acts just like dev_dbg(). When disabled, it is a NOP ... just like dev_dbg() without -DDEBUG. The specific code was moved out of a USB patch, but lots of drivers have similar support. That is, code can now be written to use an additional level of debug output, selected at compile time. Many driver authors have found this idiom to be very useful. A typical usage model is for "normal" debug messages to focus on fault paths and not be very "chatty", so that those messages can be left on during normal operation without much of a performance or syslog load. On the other hand "verbose" messages would be noisy enough that they wouldn't normally be enabled; they might even affect timings enough to change system or driver behavior. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit bc37e2830339cbfa42ac8579a7bf62fc4cdd360d Author: Tejun Heo Date: Wed Jul 18 14:30:28 2007 +0900 sysfs: make sysfs_init_inode() static With sysfs_fill_super() converted to use sysfs_get_inode(), there is no user of sysfs_init_inode() outside of fs/sysfs/inode.c. Make it static. Signed-off-by: Tejun Heo Acked-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit e080e436f605877e47e4950f5386ed843badbb1b Author: Tejun Heo Date: Wed Jul 18 14:29:06 2007 +0900 sysfs: fix sysfs root inode nlink accounting While making sysfs indoes hashed, sysfs root inode was left out. Now that nlink accounting depends on the inode being on the hash, sysfs root inode nlink isn't adjusted properly. Put sysfs root inode on the inode hash by allocating it using sysfs_get_inode() like other sysfs inodes. While at it, massage comments a bit. Signed-off-by: Tejun Heo Acked-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 2c19c49a59ccf2162c0eb999de1ec60c0e07a533 Author: Brandon Philips Date: Tue Jul 17 22:09:34 2007 -0700 Documentation fix devres.txt: lib/iomap.c -> lib/devres.c Signed-off-by: Brandon Philips Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 01da2425f327d7ac673e594bee5655523115970b Author: Akinobu Mita Date: Sat Jul 14 11:03:35 2007 +0900 sysfs: avoid kmem_cache_free(NULL) kmem_cache_free() with NULL is not allowed. But it may happen if out of memory error is triggered in sysfs_new_dirent(). This patch fixes that error handling. Signed-off-by: Akinobu Mita Signed-off-by: Greg Kroah-Hartman commit 3f8df781fc5f9ee5253a54ba669e1c8872844b86 Author: Alan Stern Date: Thu Jul 12 16:57:22 2007 -0400 PM: remove deprecated dpm_runtime_* routines This patch (as933) removes the deprecated dpm_runtime_suspend() and dpm_runtime_resume() routines from the PM core. The only user of those routines is the PCMCIA ds driver; local replacements are added. Signed-off-by: Alan Stern CC: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman commit 471d0558045fe35f8c5f291c1ee63815eb9c2dcd Author: Alan Stern Date: Thu Jul 12 16:55:07 2007 -0400 PM: Remove deprecated sysfs files This patch (as932) removes the deprecated sysfs .../power/state attribute files. Signed-off-by: Alan Stern Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 60a96a59569bab85571d0089682109bd3324e896 Author: Kay Sievers Date: Sun Jul 8 22:29:26 2007 +0200 Driver core: accept all valid action-strings in uevent-trigger This allows the uevent file to handle any type of uevent action to be triggered by userspace instead of just the "add" uevent. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a6bb340da32f0abf76656be1619fb85150eef61b Author: Jens Axboe Date: Wed Jul 11 14:53:28 2007 +0200 debugfs: remove rmdir() non-empty complaint Hi, This patch kills the pointless debugfs rmdir() printk() when called on a non-empty directory. blktrace will sometimes have to call it a few times when forcefully ending a trace, which polutes the log with pointless warnings. Rationale: - It's more code to work-around this "problem" in the debugfs users, and you would have to add code to check for empty directories to do so (or assume that debugfs is using simple_ helpers, but that would be a layering violation). - Other rmdir() implementations don't complain about something this silly. Signed-off-by: Jens Axboe Signed-off-by: Greg Kroah-Hartman commit 2dbba6f773d1e1e4c78f03b0dbf19790d9017693 Author: Johannes Berg Date: Wed Jul 18 15:47:52 2007 -0700 [GENETLINK]: Dynamic multicast groups. Introduce API to dynamically register and unregister multicast groups. Signed-off-by: Johannes Berg Acked-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 84659eb529b33572bb3f8c94e0978bd5d084bc7e Author: Johannes Berg Date: Wed Jul 18 15:47:05 2007 -0700 [NETLIKN]: Allow removing multicast groups. Allow kicking listeners out of a multicast group when necessary (for example if that group is going to be removed.) Signed-off-by: Johannes Berg Acked-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit b4ff4f0419ae5db83553fab79d03a89c10d540a8 Author: Johannes Berg Date: Wed Jul 18 15:46:06 2007 -0700 [NETLINK]: allocate group bitmaps dynamically Allow changing the number of groups for a netlink family after it has been created, use RCU to protect the listeners bitmap keeping netlink_has_listeners() lock-free. Signed-off-by: Johannes Berg Acked-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit f9e29228e6f2058e7b086115ecb7008630ebd832 Author: Thomas Klein Date: Wed Jul 18 17:34:09 2007 +0200 eHEA: Fix bonding support The driver didn't allow an interface's MAC address to be modified if the respective interface wasn't setup - a failing Hcall was the result. Thus bonding wasn't usable. The fix moves the failing Hcall which was registering a MAC address for the reception of BC packets in firmware from the port up and down functions to the port resources setup functions. Additionally the missing update of the last_rx member of the netdev structure was added. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit e190d6b140079c104ba57e5130a9b4ebea618e92 Author: Bryan Wu Date: Tue Jul 17 14:43:44 2007 +0800 Blackfin ethernet driver: on chip ethernet MAC controller driver This patch implements the driver necessary use the Analog Devices Blackfin processor's on-chip ethernet MAC controller. [try#2] - add timeout control - kill dma_config_reg bitfields - some trivial cleanup [try#3] - add endianess check - add DRV_NAME, DRV_VERSION... driver information string - add some comments for silicon anomaly and dma API confusion - some code trivial cleanup [try#4] - add Blackfin latest GPIO pin mux opertion with Michael Hennerich's help and Dan's review - rewrite the DMA descriptor list operation in a more readable way by Joe's review [try#5] - cleanup some coding style by Joe's review. [try#6] - 1.1 version fix a bug when set up multicast list pointed by Mr. yoshfuji - rearrange the desc_list_free function. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: Michael Buesch Cc: Mike Frysinger Cc: Jeff Garzik Cc: Christoph Hellwig Cc: Dan Williams Cc: Joe Perches Cc: YOSHIFUJI Hideaki Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 308a90683da9a3e3da1023a88496f76f95c5dcd8 Author: Yoichi Yuasa Date: Wed Jul 18 11:13:42 2007 +0900 fix wrong argument of tc35815_read_plat_dev_addr() Fix wrong argument of tc35815_read_plat_dev_addr() Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit c81de6addb913423acef6e692fd70688180ab5dd Author: Ivo van Doorn Date: Wed Jul 18 15:38:03 2007 -0700 [RFKILL]: Make state sysfs writable The rfkill state Sysfs attribute should be made writable, we already pass the argument for the store handler, so we only need to update the permissions flag. Signed-off-by: Ivo van Doorn Signed-off-by: David S. Miller commit dbf812d6ae6da1bfd01ea6abc5af60b358e4f9ba Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Jul 17 13:45:43 2007 +0900 ARM/ETHER3: Handle multicast frames. Signed-off-by: YOSHIFUJI Hideaki -- Signed-off-by: Jeff Garzik commit 82a0244df8165b0345cde5258afe176c12dd1e99 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Jul 17 13:46:00 2007 +0900 SAA9730: Handle multicast frames. Signed-off-by: YOSHIFUJI Hideaki -- Signed-off-by: Jeff Garzik commit b947dd4b62a6adfd78292319a9d2e6396c1fb064 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Jul 17 13:45:50 2007 +0900 NI5010: Handle multicast frames. Signed-off-by: YOSHIFUJI Hideaki -- Signed-off-by: Jeff Garzik commit e78af36623b8eeead1c8590b43616eab159526fa Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Jul 17 13:45:54 2007 +0900 NS83820: Handle multicast frames. Signed-off-by: YOSHIFUJI Hideaki -- Signed-off-by: Jeff Garzik commit 7132ab7f6e0309bb8e0424e395ba149aee0c750e Author: Andy Fleming Date: Wed Jul 11 11:43:07 2007 -0500 Fix RGMII-ID handling in gianfar The TSEC/eTSEC can detect the interface to the PHY automatically, but it isn't able to detect whether the RGMII connection needs internal delay. So we need to detect that change in the device tree, propagate it to the platform data, and then check it if we're in RGMII. This fixes a bug on the 8641D HPCN board where the Vitesse PHY doesn't use the delay for RGMII. Signed-off-by: Andy Fleming commit af2d940df2b60b15c271033d381c2f3ead655562 Author: Andy Fleming Date: Wed Jul 11 11:42:35 2007 -0500 Fix Vitesse RGMII-ID support The Vitesse PHY on the 8641D needs to be set up with internal delay to work in RGMII mode. So we add skew when it is set to RGMII_ID mode. Signed-off-by: Andy Fleming Signed-off-by: Haruki Dai Signed-off-by: Haiying Wang commit cc65185d400c4e8698ff1c1b59f90bd491e9bda5 Author: Andy Fleming Date: Tue Jul 10 17:28:49 2007 -0500 Add phy-connection-type to gianfar nodes The TSEC/eTSEC automatically detect their PHY interface type, unless the type is RGMII-ID (RGMII with internal delay). In that situation, it just detects RGMII. In order to fix this, we need to pass in rgmii-id if that is the connection type. Signed-off-by: Andy Fleming commit 1d5e83aac54b64b71b225fd5cf2e82491ad145f6 Author: Andy Fleming Date: Tue Jul 10 16:42:04 2007 -0500 Fix Vitesse 824x PHY interrupt acking The Vitesse 824x PHY doesn't allow an interrupt to be cleared if the mask bit for that interrupt isn't set. This means that the PHY Lib's order of handling interrupts (disable, then clear) breaks on this PHY. However, clearing then disabling the interrupt opens up the code for a silly race condition. So rather than change the PHY Lib, we change the Vitesse driver so it always clears interrupts before disabling them. Further, the ack function only clears the interrupt if interrupts are enabled. Signed-off-by: Andy Fleming Signed-off-by: York Sun Acked-by: Haiying Wang commit 9ee0be05dc69b61e5a869bffebd638b31898dae2 Author: Florin Malita Date: Wed Jul 18 18:04:46 2007 -0400 ISDN HiSax: uninitialized return in hisax_cs_setup Coverity (1792) spotted a possibly uninitialized return value in case of kmalloc() failure: 1116 static int hisax_cs_setup(int cardnr, struct IsdnCard *card, 1117 struct IsdnCardState *cs) 1119 int ret; 1120 1121 if (!(cs->rcvbuf = kmalloc(MAX_DFRAME_LEN_L1, GFP_ATOMIC))) { 1122 printk(KERN_WARNING "HiSax: No memory for isac rcvbuf\n"); 1123 ll_unload(cs); 1124 goto outf_cs; ... 1165 outf_cs: 1166 kfree(cs); 1167 card->cs = NULL; 1168 return ret; The straightforward solution would be to just add the missing initialization but hardcoding the return value in the out_cs branch (only taken on failure) seems to work just as well and it allows killing a couple of other lines too. Signed-off-by: Florin Malita Signed-off-by: Jeff Garzik commit 412edf654a04138805fcda2b46a842f681023eeb Author: Stefan Richter Date: Mon Jul 16 21:05:41 2007 +0200 firewire: fw-sbp2: convert to new SCSI data buffer accessors Signed-off-by: Stefan Richter commit 9c9bdf4d50730fd04b06077e22d7a83b585f26b5 Author: Stefan Richter Date: Tue Jul 17 02:15:36 2007 +0200 firewire: fix memory leak of fw_request instances Found and debugged by Jay Fenlason . The bug was especially noticeable with direct I/O over fw-sbp2. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 5d59a6f1ba90f15132d55d9d4d5a632f15a43d84 Author: Stefan Richter Date: Tue Jul 17 02:13:48 2007 +0200 firewire: remove bogus check in fw_core_handle_request This check is bogus: - Maximum asynchronous payload size for S800...S3200 is 4096. - The p->payload_length is totally uninteresting. Only the request->length of the subsequently allocated and initialized struct fw_request is of significance. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit b980f5a224f3df6c884dbf5ae48797ce352ba139 Author: Stefan Richter Date: Thu Jul 12 22:25:14 2007 +0200 firewire: fw-ohci: fix "scheduling while atomic" context_stop is called by bus_reset_tasklet, among else. Signed-off-by: Stefan Richter commit 362e901c65123e0e72a764fcbe6c3d6a2505c7a6 Author: Stefan Richter Date: Thu Jul 12 22:24:19 2007 +0200 firewire: fw-ohci: flush MMIO write before msleep Signed-off-by: Stefan Richter commit 43509d1fece975ac457282ca1137fe438894a81d Author: Roland Dreier Date: Wed Jul 18 13:28:29 2007 -0700 IB/mthca: Simplify use of size0 in work request posting Current code sets size0 to 0 at the start of work request posting functions and then handles size0 == 0 specially within the loop over work requests. Change this so size0 is set along with f0 the first time through the loop (when nreq == 0). This makes the code easier to understand by making it clearer that f0 and size0 are always initialized if nreq != 0 without having to know that size0 == 0 implies nreq == 0. Also annotate size0 with uninitialized_var() so that this doesn't introduce a new compiler warning. Signed-off-by: Roland Dreier commit e535c699bfeafd0380418156f93494e370613e9d Author: Roland Dreier Date: Wed Jul 18 13:21:14 2007 -0700 IB/mthca: Factor out setting WQE UD segment entries Factor code to set UD entries out of the work request posting functions into inline functions set_tavor_ud_seg() and set_arbel_ud_seg(). This doesn't change the generated code in any significant way, and makes the source easier on the eyes. Signed-off-by: Roland Dreier commit 400ddc11eb01a8d04c580892fde3adbd45ebdc9e Author: Roland Dreier Date: Wed Jul 18 12:55:42 2007 -0700 IB/mthca: Factor out setting WQE remote address and atomic segment entries Factor code to set remote address and atomic segment entries out of the work request posting functions into inline functions set_raddr_seg() and set_atomic_seg(). This doesn't change the generated code in any significant way, and makes the source easier on the eyes. Signed-off-by: Roland Dreier commit a10d9a71bafd3a283da240d2868e71346d2aef6f Author: Peter Zijlstra Date: Wed Jul 18 20:59:22 2007 +0200 i386: fixup TRACE_IRQ breakage The TRACE_IRQS_ON function in iret_exc: calls a C function without ensuring that the segments are set properly. Move the trace function and the enabling of interrupt into the C stub. Signed-off-by: Peter Zijlstra Signed-off-by: Linus Torvalds commit 29eb51101c02df517ca64ec472d7501127ad1da8 Author: Roland McGrath Date: Mon Jul 16 01:03:16 2007 -0700 Handle bogus %cs selector in single-step instruction decoding The code for LDT segment selectors was not robust in the face of a bogus selector set in %cs via ptrace before the single-step was done. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 0fbfa6a9062c71b62ec216c0294b676b76e41661 Author: Roland Dreier Date: Wed Jul 18 11:47:55 2007 -0700 IB/mlx4: Factor out setting other WQE segments Factor code to set remote address, atomic and datagram segments out of mlx4_ib_post_send() into small helper functions. This doesn't change the generated code in any significant way, and makes the source easier on the eyes. Signed-off-by: Roland Dreier commit 587ca7619a150cef0ce0dd8fd08c367e502f0421 Author: Haavard Skinnemoen Date: Wed Jul 18 20:32:49 2007 +0200 [AVR32] Initialize phy_mask for both macb devices The STK1000 uses pullups on the MDIO lines to the PHY, but they are too weak. This causes the PHY layer to detect PHYs on all possible MII addresses. Mask out all but the correct address to prevent this from happening. Signed-off-by: Haavard Skinnemoen commit 3da86ee4f1884c70edbf76f61bfbbe028d2d1685 Author: Haavard Skinnemoen Date: Wed Jul 18 20:06:04 2007 +0200 [AVR32] Fix atomic_add_unless() and atomic_sub_unless() These functions depend on "result" being initalized to 0, but "result" is not included as an input constraint to the inline assembly block following its initialization, only as an output constraint. Thus gcc thinks it doesn't need to initialize it, so result ends up undefined if the "unless" condition is true. This fixes an oops in sunrpc where the faulty atomics caused rpciod_up() to not start the workqueue as it should. Signed-off-by: Haavard Skinnemoen commit f3e26984f1794f3472a50f330c5561766faa477b Author: Robert P. J. Day Date: Thu Jul 12 18:31:08 2007 -0400 [AVR32] Correct misspelled CONFIG_BLK_DEV_INITRD variable. Signed-off-by: Robert P. J. Day Signed-off-by: Haavard Skinnemoen commit aa15f63790cfd4110ff57c37aa1c6c34133d8a09 Author: Haavard Skinnemoen Date: Fri Jul 13 11:26:01 2007 +0200 [AVR32] Fix build error in parse_tag_rdimg() This code is inside an #ifdef with a misspelled config symbol, so it hasn't been used for a long time. Fix it before fixing the config symbol to keep bisection working. Signed-off-by: Haavard Skinnemoen commit d420d9e32f4bd741b2f0b7227a91941107f96b47 Author: Roland Dreier Date: Wed Jul 18 11:46:27 2007 -0700 IB/mlx4: Factor out setting WQE data segment entries Factor code to set data segment entries out of mlx4_ib_post_send() into set_data_seg(). This cleans up the code and lets the compiler do a better job -- on x86_64: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-16 (-16) function old new delta mlx4_ib_post_send 1598 1582 -16 Signed-off-by: Roland Dreier commit d4003ba0a11f9fb484bd45fd83b75f7108871ef2 Author: Kristoffer Nyborg Gregertsen Date: Fri Jul 6 14:37:30 2007 +0200 [AVR32] Don't wire up macb0 unless SW6 is in default position If the user wants to sacrifice macb0 for more GPIOs, let him. Signed-off-by: Haavard Skinnemoen commit 95a42267cd933a95275c1d6835010d662259f74e Author: Hans-Christian Egtvedt Date: Fri Jul 6 14:34:03 2007 +0200 [AVR32] Wire up SSC platform device 0 as TX on ATSTK1000 board Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 9cf6cf58d06527fc5bc8e2965ddccdeca59ccee3 Author: Hans-Christian Egtvedt Date: Fri Jul 6 14:31:55 2007 +0200 [AVR32] Add Atmel SSC driver platform device to AT32AP architecture This patch adds register definitions, clocks and IRQs to the platform devices. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit e122eaf69422e5d9ce93fc9786099098e3b9e1c4 Author: Haavard Skinnemoen Date: Wed Jun 20 15:29:15 2007 +0200 [AVR32] Remove optimization of unaligned word loads If we let unaligned word loads bypass the generic unaligned handling, gcc may combine it with a swap.b instruction and turn it into a ldwsp instruction, which does not work with unaligned addresses. Revert the optimization to prevent the RNDIS driver from crashing. Hopefully we'll figure something out later (it may be better to do the optimization in gcc.) Signed-off-by: Haavard Skinnemoen commit a8e93ed8cb3d9aa22d192033009357526548c825 Author: David Brownell Date: Tue Jun 12 14:34:47 2007 +0200 [AVR32] Make STK1000 mux settings configurable This adds some STK1002-specific config options covering the jumper settings, so the kernel can automatically be configured to include the relevant devices. One of them replaces the previous internal SW2_DEFAULT setting; SPI config is affected by two of the jumpers; and a fourth one switches between LCD and the second Ethernet connector. (There's more that to be done.) Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 9e58e1855c9815ad4944df90f695a7645c50f463 Author: Hans-Christian Egtvedt Date: Mon Jun 4 16:10:57 2007 +0200 [AVR32] CPU frequency scaling for AT32AP This patch enables CPU frequency scaling for AT32AP devices. This will enable the CPU to scale between the speed of the high speed bus and the master clock and thus save some power. The patch also adds a parent to cpu_clk and a cpu_clk_set_rate to enable changing the CPU clock divider in a sane way. The driver does not check if the given rate is 0, thus resulting in a div by 0. I think this check should be go into the clk_set_rate framework, and not here. Tested on AT32AP7000/ATSTK1000. Hardware documentation can be found in the AT32AP7000 datasheet. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 7a5b80590772c29bba1d54d3685622177d6fe39f Author: Haavard Skinnemoen Date: Mon Jun 4 12:58:30 2007 +0200 [AVR32] Split SM device into PM, RTC, WDT and EIC Split the SM platform device into separate platform devices for PM, RTC, WDT and EIC. This is more correct according to the documentation and allows us to simplify the code a little. Also turn the EIC driver into a real platform driver. Signed-off-by: Haavard Skinnemoen Acked-by: Hans-Christian Egtvedt commit c6083cd61b5a64a1c73d1634744382f54cb99595 Author: David Brownell Date: Fri May 25 18:47:47 2007 -0700 [AVR32] faster avr32 unaligned access Use a more conventional implementation for unaligned access, and include an AT32AP-specific optimization: the CPU will handle unaligned words. The result is always faster and smaller for 8, 16, and 32 bit values. For 64 bit quantities, it's presumably larger. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 3fbc54165d7217abf62b871c0dd074e76ce0eb31 Author: Sam Ravnborg Date: Tue Jul 17 22:27:22 2007 +0200 [PATCH] x86: do not recompile boot for each build Keep the arch/i386/boot directory from being rebuilt every time. Signed-off-by: Sam Ravnborg Signed-off-by: H. Peter Anvin commit 8c027ae2dcfa7b9130941a2a743c735c1fee04ee Author: H. Peter Anvin Date: Mon Jul 16 11:58:24 2007 -0700 [x86 setup] Save/restore DS around invocations of INT 10h There exists at least one card, Trident TVGA8900CL (BIOS dated 1992/9/8) which clobbers DS when "scrolling in an SVGA text mode of more than 800x600 pixels." Although we are extremely unlikely to run into that situation, it is cheap insurance to save and restore DS, and it only adds a grand total of 50 bytes to the total output. Pointed out by Etienne Lorrain. Cc: Etienne Lorrain Signed-off-by: H. Peter Anvin commit 7ad37df02c529525c4ad19035359af89d2d2a5bd Author: H. Peter Anvin Date: Tue Jul 17 16:16:10 2007 -0700 [x86 setup] VGA: Clear the Protect bit before setting the vertical height If the user has asked for the vertical height registers to be recomputed by setting bit 15 in the video mode number, we do so without clearing the Protect bit in the Vertical Retrace Register before setting the Overflow register. As a result, if the VGA BIOS had set the Protect bit, the write to the Overflow register will be dropped, and bits [9:8] of the vertical height will be left unchanged. This is a bug imported from the assembly version of this code. It was pointed out by Etienne Lorrain. Cc: Etienne Lorrain Signed-off-by: H. Peter Anvin commit 5593eaa854d0b23c3b270933a93b9b82946df729 Author: H. Peter Anvin Date: Sat Jul 14 16:47:13 2007 -0700 [x86 setup] Fix assembly constraints Fix incorrect assembly constraints. In particular, fix memory constraints used inside push..pop, which can cause invalid operation since gcc may generate %esp-relative references. Additionally: outl() should have "dN" not "dn". query_mca() shouldn't listen 16/32-bit registers in an 8-bit only context. has_eflag(): the "mask" is only used well after both the stack pointer and the output registers have been touched; this requires the output registers to be earlyclobbers (=&) and the input to exclude memory (so "ri", not "g"). Thanks to Etienne Lorrain and Chuck Ebbert for prompting this review. Cc: Etienne Lorrain Cc: Chuck Ebbert Signed-off-by: H. Peter Anvin commit 9aa3909c0ea33da41755e15182fa4f88ae036d83 Author: H. Peter Anvin Date: Fri Jul 13 16:28:27 2007 -0700 [x86 setup] build/tools.c: fix comment Correct a comment in arch/i386/boot/build/tools.c; we now build the kernel from only two components instead of three, since the boot sector has been integrated in the setup code. Signed-off-by: H. Peter Anvin commit 72af61c6ae6ce6e6b3935a11073b193508cb3b39 Author: H. Peter Anvin Date: Fri Jul 13 16:26:55 2007 -0700 [x86 setup] MAINTAINERS: document x86 setup code git tree Document the existence of a published git tree for the x86 setup code. Signed-off-by: H. Peter Anvin commit 80885456e844552044c8c5f1f9bf0f6773b187ea Author: Roland Dreier Date: Wed Jul 18 11:30:34 2007 -0700 IB/mthca: Factor out setting WQE data segment entries Factor code to set data segment entries out of the work request posting functions into inline functions mthca_set_data_seg() and mthca_set_data_seg_inval(). This makes the code more readable and also allows the compiler to do a better job -- on x86_64: add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-69 (-69) function old new delta mthca_arbel_post_srq_recv 373 369 -4 mthca_arbel_post_receive 570 562 -8 mthca_tavor_post_srq_recv 520 508 -12 mthca_tavor_post_send 1344 1330 -14 mthca_arbel_post_send 1481 1467 -14 mthca_tavor_post_receive 792 775 -17 Signed-off-by: Roland Dreier commit 97989ada7628da262eafb4bebce0a319c7cb0f5f Author: Robert P. J. Day Date: Mon Jul 16 10:47:51 2007 -0300 V4L/DVB (5847): Clean up schedule_timeout calls in cpia2 and ivtv code Signed-off-by: Robert P. J. Day Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f3a43d3082cd9c2308612e0331ad3b1b9d3a7a33 Author: Robert P. J. Day Date: Mon Jul 16 10:46:42 2007 -0300 V4L/DVB (5846): Clean up setting state and scheduling timeouts Replace assignments to "current->state" with the preferred calls to schedule_timeout_interruptible(). Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit bd58df6d522d5a9c791f6a4820e480e9be60650d Author: Hans Verkuil Date: Tue Jul 10 17:47:07 2007 -0300 V4L/DVB (5844): ivtv: add high volume debugging flag Add support for high volume debug messages, allowing them to be turned on selectively. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 90851fe9fad68db24da8cb497bad7327b97ed3d2 Author: Hans Verkuil Date: Tue Jul 10 15:08:33 2007 -0300 V4L/DVB (5843): ivtv: fix missing signal_pending check. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f885969196da6ae905162c0d1c5f0553de12cb40 Author: Hans Verkuil Date: Tue Jul 10 14:58:33 2007 -0300 V4L/DVB (5842): ivtv: Add locking to ensure stream setup is atomic. Starting an MPEG and VBI capture simultaneously caused errors in the VBI setup: this setup was done twice when it should be done only for the first stream that is opened. Added a mutex to prevent this from happening. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0901973f4bde9c1004795c9c2321bdc51f3996f1 Author: Hans Verkuil Date: Tue Jul 10 14:51:33 2007 -0300 V4L/DVB (5841): tveeprom: add support for Philips FQ1216LME MK3 tuner. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3ea96615381157fc7b94549db559adabd7d4233f Author: Mauro Carvalho Chehab Date: Mon Jul 16 09:27:20 2007 -0300 V4L/DVB (5840): fix dst and cx24123: tune() callback changed signess for delay tune() dvb_frontend callback changed delay signess: int (*tune)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params, unsigned int mode_flags, - int *delay, + unsigned int *delay, This change caused warnings on cx24123 and dst modules: /home/v4l/master/v4l/cx24123.c:1034: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1782: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1808: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1837: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1860: warning: initialization from incompatible pointer type This patch corrects the function prototype on both modules to follow the core change. Signed-off-by: Mauro Carvalho Chehab commit 260f8d7c4cda79b087a182eb03e8574ba41a171e Author: Oliver Endriss Date: Fri Jul 13 11:54:35 2007 -0300 V4L/DVB (5838): dvb-core: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22) Fix signedness warnings (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 0402a6c2aadbd5ff0e70a67f80a4907bf76792c6 Author: Oliver Endriss Date: Thu Jul 12 23:22:59 2007 -0300 V4L/DVB (5837): stv0299: Fix signedness warning (gcc 4.1.1, kernel 2.6.22) Fix signedness warning (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit defd574ec07edaa1587da144d03b18495ab484b1 Author: Oliver Endriss Date: Thu Jul 12 23:08:07 2007 -0300 V4L/DVB (5836): dvb-ttpci: re-initialize aspect ratio and pan scan after arm crash Re-initialize aspect ratio and pan scan after arm crash. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 804b4458943f14bf144d3c3ba50097ced9b27b29 Author: Oliver Endriss Date: Thu Jul 12 20:37:50 2007 -0300 V4L/DVB (5835): saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22) Fix signedness warnings (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 372280d2a3593e90d8849a5dc5676d2e9799e3a3 Author: Trent Piepho Date: Fri Jul 13 18:46:19 2007 -0300 V4L/DVB (5834): dvb-core: fix signedness warnings and const stripping Make some pointers const, and then delete some now unnecessary casts, which were the wrong signedness anyway, being used to strip the const from another pointer. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit d67be61ebe5efaf9c4c11bf168781d678854c966 Author: Trent Piepho Date: Wed Jul 11 20:28:44 2007 -0300 V4L/DVB (5832): ir-common: optimize bit extract function New code is simpler, shorter, compiles to about half the size, and is 2 to 4 times faster depending on how many bits in the mask are set. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ba2cf98249795f03792d1409a3b6aaa589ea0745 Author: Trent Piepho Date: Thu Jul 5 19:04:27 2007 -0300 V4L/DVB (5831): stradis: use ARRAY_SIZE sizeof(palette2fmt) / sizeof(u32) => ARRAY_SIZE(palette2fmt) Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 59800555f79a52394c3c29e19e448b4635daf14c Author: Marco Gittler Date: Wed Jul 4 19:18:34 2007 -0300 V4L/DVB (5829): Firmware extract and loading for opera dvb-usb update Better way of creating and loading the firmware used. Update for get_dvb_firmware script to extract the files for opera usb-box Help file for creating the firmware added Signed-off-by: Marco Gittler Signed-off-by: Mauro Carvalho Chehab commit b31c33bd8b339e426138dd267ec969291f802a0d Author: Douglas Schilling Landgraf Date: Mon Jul 2 23:16:17 2007 -0300 V4L/DVB (5828): Kconfig: Added GemTek USB radio and removed experimental dependency. Added GemTek USB radio and removed experimental dependency. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 66a17879e9f18a38c4ca5e6ba600a3f5b1b51188 Author: Thierry MERLE Date: Tue Jun 26 16:35:30 2007 -0300 V4L/DVB (5826): Usbvision: video mux cleanup - usbvision_muxsel simplified, now uses some well known constants. - since the decoder needs to change input norm, call to muxsel added when changing video standard. Signed-off-by: Thierry MERLE Acked-by: Dwaine Garden Signed-off-by: Mauro Carvalho Chehab commit ffddcaa6ec4e85ed8504deac1f51f44c86ec1d23 Author: Matthew Garrett Date: Sat Jun 30 15:41:27 2007 -0300 V4L/DVB (5825): Alter the tuner type for the WinTV USB UK PAL model. Alter the tuner type for the WinTV USB UK PAL model. Signed-off-by: Matthew Garrett Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit a1bad7773e562f331b5951def24f73c38579e0cb Author: Thierry MERLE Date: Tue Jun 26 16:35:30 2007 -0300 V4L/DVB (5824): Usbvision: Hauppauge WinTV USB SECAM_L fix - Hauppauge WinTV USB SECAM_L fixed (needed some picture X and Y shiftings) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit f5c965abdf44ee6983712e54bbbcc7905af56d39 Author: James Le Cuirot Date: Mon Jul 2 12:53:25 2007 -0300 V4L/DVB (5821): Saa7134: add remote control support for LifeView FlyDVB-S LR300 It has been confirmed that the FlyDVB IR codes currently in the kernel work with the LifeView FlyDVB-S LR300. This one line addition adds it to the list of supported cards. Signed-off-by: James Le Cuirot Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9b7cc42917ed07ab75269d35cd7709a5fd6336e0 Author: Mauro Carvalho Chehab Date: Mon Jul 2 15:48:40 2007 -0300 V4L/DVB (5820): Cleanup on cinergyT2: Remove unneeded if(1) Before kernel 2.6.14, the driver checked for status before stopping the thread. So, a compatibility test did exist. After 2.6.14, the if (state) were replaced by: if (1) However, it makes no sense to keep the if(1). Signed-off-by: Mauro Carvalho Chehab commit 18f3fa1e2eab297a2f7ec704385fa0ecfda0de55 Author: Mauro Carvalho Chehab Date: Mon Jul 2 15:39:57 2007 -0300 V4L/DVB (5819): Cleanup: reorder some includes Some includes were added after some non-include macros, on old drivers. Better to keep all includes at the beginning of the files. This change also helps to make backports to properly work at the development tree. Signed-off-by: Mauro Carvalho Chehab commit 7e520d09f1a4b3da1d09a4540e3f4fa852658a0d Author: Jean Delvare Date: Sun Jul 1 18:37:51 2007 -0300 V4L/DVB (5815): Cx88: i2c structure templates clean-up Clean up the use of structure templates in cx88-i2c and cx88-vp3054-i2c. For one thing, a real template is supposed to be read-only. And in some cases it's more efficient to initialize the few fields we need individually. This clean-up shrinks cx88-i2c.o by 33% and cx88-vp3054-i2c.o by 49% (x86_64). Signed-off-by: Jean Delvare Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4de7bb44cc6aa6e0a74f80c628f600da5b8fcd47 Author: Adrian Bunk Date: Sun Jul 1 18:24:33 2007 -0300 V4L/DVB (5814): Unexport dvb_pll_configure Now that it's static, it should no longer be exported to modules... Signed-off-by: Adrian Bunk Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8fb2191a74a0e2a29002c06084e015d33d2ecdda Author: Adrian Bunk Date: Sun Jul 1 18:22:00 2007 -0300 V4L/DVB (5813): TUNER_TEA5761 kconfig fixes The following doesn't make much sense: drivers/media/video/Kconfig: ... config TUNER_TEA5761 tristate "TEA 5761 radio tuner (EXPERIMENTAL)" ... drivers/media/video/Makefile: ... ifneq ($(CONFIG_TUNER_TEA5761),) tuner-objs += tea5761.o endif ... With this setup, TUNER_TEA5761=m is equivalent to TUNER_TEA5761=y. This patch therefore changes TUNER_TEA5761 to a bool. The missing dependency on EXPERIMENTAL the prompt text indicates also gets added by this patch. Additionally, the Makefile entry can now be written in a more compact way. Signed-off-by: Adrian Bunk Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 51b540292a349b380ccc0572401c6ac343acdf4a Author: Matthias Kaehlcke Date: Mon Jul 2 10:19:38 2007 -0300 V4L/DVB (5811): Use mutex instead of semaphore in Virtual Video driver The Virtual Video driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Mauro Carvalho Chehab commit b9378fdbc334d1575b492108eac822a78c0c46d9 Author: Matthias Kaehlcke Date: Mon Jul 2 10:04:52 2007 -0300 V4L/DVB (5809): Use mutex instead of semaphore in Philips webcam driver The Philips webcam driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. -- Signed-off-by: Matthias Kaehlcke Signed-off-by: Mauro Carvalho Chehab commit 55c0d1005a0e5f590f71f918e49bdc81362f93a6 Author: Trent Piepho Date: Fri Jun 29 00:17:36 2007 -0300 V4L/DVB (5807): Bttv: Add support for DBG_[SG]_REGISTER ioctls Adds the advanced debugging register read/write ioctl support to the bttv driver. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 8c2c0dfe4da28a152c0de2c2ca3a66c1bc2fef7c Author: Trent Piepho Date: Thu Jun 28 18:30:36 2007 -0300 V4L/DVB (5806): Bttv: Be consistent in using symbolic names instead of constants For svhs, tuner, and tuner_type, be consistent in using UNSET instead of -1. For tuner_type also consistently use the existing constants: 0 => TUNER_TEMIC_PAL 1 => TUNER_PHILIPS_PAL_I 2 => TUNER_PHILIPS_NTSC 4 => TUNER_ABSENT 5 => TUNER_PHILIPS_PAL 21 => TUNER_TEMIC_4039FR5_NTSC 25 => TUNER_LG_PAL_I_FM Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ac7dc84584310a836d13236767d71545f5b695b3 Author: Trent Piepho Date: Thu Jun 28 17:51:08 2007 -0300 V4L/DVB (5805): Bttv: Fix problems with probing for non-existent tuners The bttv driver has code to detect if a tda9887 is present, that was previous used to auto-load the tda9887 driver. Now there is no tda9887 driver, so the code is pointless; it just figures out if it should load the driver and then does nothing. For cards that are defined as having no tuner, the init code would still do i2c probes for various tuner devices and auto-load the tuner module. That can be skipped for cards that don't need it. The code is made to understand that in addition to 'UNSET', 'TUNER_ABSENT' also means no tuner. The tuner into printk()s are also made nicer. Levels are added, INFO or WARNING, depending on the meaning. For cards with no tuner, or no tuner defined, a more informative message is printed. Card has no tuner, before patch: bttv0: tuner type=-1 or bttv0: tuner type=4 After patch: bttv0: tuner absent Card has a tuner, but the type isn't defined, before patch: bttv0: tuner type=-1 After patch: bttv0: tuner type unset [<- also warning now, as the tuner won't work right] Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 27cb786f4ec5fe85e9e2deffa4d33eed2f588cb0 Author: Michael Krufky Date: Thu Jun 28 12:19:20 2007 -0300 V4L/DVB (5803): Bttv: add support for DViCO FusionHDTV 2 add analog video support for DViCO FusionHDTV 2 Thanks to Todd Ignasiak for donating the card. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c350f617ff5440dedea63b9d7826644742ec215d Author: Michael Krufky Date: Wed Jun 27 16:26:32 2007 -0300 V4L/DVB (5801): Tuner: update FCV1236D ranges to match the datasheet Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b82736362b24046d6d2279260ce0b88653dc43da Author: Michael Krufky Date: Wed Jun 27 14:38:45 2007 -0300 V4L/DVB (5800): Tuner: correct description of Philips FCV1236D tuner The old description was "Philips 1236D ATSC/NTSC dual in", which can be confused with other Philips tuner models. This patch corrects the name to "Philips FCV1236D ATSC/NTSC dual in", and updates the range and params array names to match the description. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cd2cd0aad0c8d5d29492335307b371f247b7a60f Author: Michael Krufky Date: Sun Jun 24 18:14:52 2007 -0300 V4L/DVB (5799): Or51211: remove hardcoded fcv1236d tuner programming - Remove hardcoded fcv1236d tuner programmming from or51211.c - Alter dvb-bt8xx for the pcHDTV-2000 to use dvb-pll for fcv1236d support. Thanks to Jarom Hatch for testing this change. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f1b24397e86c4c5b6984e2e67c17a53cdab14b35 Author: Michael Krufky Date: Fri Oct 13 22:18:01 2006 -0300 V4L/DVB (5798): Dvb-pll: add support for Philips fcv1236d This patch adds support to the dvb-pll library for the Philips fcv1236d tuner, based on the FCV1236D datasheet. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d06cdbe59068a143ff2de2474fea62923cb7026f Author: Marco Gittler Date: Thu Jun 28 10:10:00 2007 -0300 V4L/DVB (5795): Fix: remove unused struct that could avoiding load the firmware The dvb_usb_device* d is not used anymore and can be removed. Signed-off-by: Marco Gittler Signed-off-by: Mauro Carvalho Chehab commit 8218b0b2caecf4af55742e12e9986c15605bb197 Author: Michael Krufky Date: Tue Jun 26 13:12:08 2007 -0300 V4L/DVB (5793): Tuner: remove hardware-specific info from public header Move internal structures and debug macros to drivers/media/video/tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bebeaea0a54869b59b45ea22a93f325ce0369d61 Author: Antoine Jacquet Date: Mon Jun 25 16:00:34 2007 -0300 V4L/DVB (5792): Zr364xx: add support for Trust Powerc@m 970Z Add Trust Powerc@m 970Z (0x06d6:0x003b) to the list of supported devices. Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit ea6337417da26a74a3b91c554ae9823995f8a84d Author: Mauro Carvalho Chehab Date: Mon Jun 25 15:42:01 2007 -0300 V4L/DVB (5791): Fix Kbuild for kbd-ir-i2c Potentially, all board types with I2C and IR support can use an i2c based IR. Currently, the driver is selected only if bt848 or saa7134 boards are selected. Signed-off-by: Mauro Carvalho Chehab commit 2f3ed0538b2ac6d63b95c04b0ee0e7b9ac1ee220 Author: Mauro Carvalho Chehab Date: Mon Jun 25 15:33:41 2007 -0300 V4L/DVB (5790): Fix error handling for stv680 Signed-off-by: Mauro Carvalho Chehab commit 2d9078f73eafb2606e1adbb4e551d0cf1f5daf89 Author: Mauro Carvalho Chehab Date: Mon Jun 25 15:21:05 2007 -0300 V4L/DVB (5789): Fix 3dfx Voodoo entries on Cardlist Signed-off-by: Mauro Carvalho Chehab commit 829ea96477e775df0698b54dbfa913b6b55a4d6d Author: Michael Krufky Date: Mon Jun 25 14:54:09 2007 -0300 V4L/DVB (5788): Cx88-input: convert nested if's to switch..case In the function, cx88_ir_handle_key: - convert nested if statement to a switch..case block Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e7d11ecbde987e56845cff012b4a28d7001667b8 Author: Edgar Pisani Date: Mon Jun 25 14:46:05 2007 -0300 V4L/DVB (5787): Cx88: add remote control support for Leadtek Winfast DTV1000 Signed-off-by: Edgar Pisani Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 39cf1e810a6b464a8469bf318f21206d84ffb1d8 Author: Jan Frey Date: Mon Jun 25 14:34:06 2007 -0300 V4L/DVB (5786): Ir-kbd-i2c: add support for Hauppauge HVR1300 remote - add support for the I2C based IR transceiver of the Hauppauge HVR-1300 - remove bad code from cx88-input.c Signed-off-by: Jan Frey Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 434b25263a236c9dd980617d69863ba0eff8c744 Author: Wade Berrier Date: Mon Jun 25 13:02:16 2007 -0300 V4L/DVB (5785): Revisited: 3dfx Voodoo TV 200 (US) Fix support for 3dfx Voodoo TV 200 variant Signed-off-by: Wade Berrier Signed-off-by: Mauro Carvalho Chehab commit 096bb77abac4e44c37870f4f8adaec813295eb23 Author: Michael Krufky Date: Fri Jun 22 17:41:07 2007 -0300 V4L/DVB (5784): Dibusb-mb: fix tuner autodetection regression We must set i2c_msg.addr in order for the autodetection test to succeed! Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7d816b256df83070e75d4f738c10d66bfc192040 Author: Mauro Carvalho Chehab Date: Fri Jun 22 17:26:54 2007 -0300 V4L/DVB (5783): Fix excess of debug messages on cx88-mpeg Closes the issue opened on Kernel bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=8383 There's no need to print timeout without debug turned on: Apr 27 23:02:14 video kernel: cx88[1]/2-mpeg: cx8802_timeout Signed-off-by: Mauro Carvalho Chehab commit 47a9991e806940f400f90d7b9cbcf7c2925e4fce Author: Michael Krufky Date: Tue Jun 12 16:10:51 2007 -0300 V4L/DVB (5780): Dvb: Remove static dependencies on dvb-pll This patch removes all static dependencies on the dvb-pll module. All exported dvb_pll_desc's have been UNexported, and the caller will reference the individual dvb_pll_desc by it's index in the pll_list array. Signed-off-by: Michael Krufky Signed-off-by: Trent Piepho Signed-off-by: Patrick Boettcher Acked-by: Oliver Endriss Acked-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6c08d9290e2fc87b217d0f7c9cd67c9240ad7147 Author: Michael Krufky Date: Tue Jun 12 12:43:25 2007 -0300 V4L/DVB (5779): Dibusb-mb: fix broken 'tuner_pass_ctrl' functionality 'tuner_pass_ctrl' functionality of the dib3000-mb devices was broken in the previous changeset: "dibusb-mb: convert pll handling to properly use dvb-pll" This patch fixes this problem by assigning this functionality to the i2c_gate_ctrl callback Signed-off-by: Michael Krufky Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 865dd115c95df6997f3d9dd638e6f92298f0422f Author: Michael Krufky Date: Tue Jun 12 12:40:35 2007 -0300 V4L/DVB (5778): Dvb-usb: kill unused tuner/i2c functions These two functions are no longer being used: dvb_usb_tuner_init_i2c dvb_usb_tuner_set_params_i2c This functionality has been taken over by dvb-pll Signed-off-by: Michael Krufky Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4ce15678926cef4886df46964142fc2520c216cd Author: Trent Piepho Date: Sat Jun 2 16:30:46 2007 -0300 V4L/DVB (5777): Dvb-pll digitv dvb-usb: Eliminate last user of dvb_pll_configure The last user of dvb_pll_configure was the dvb-usb function dvb_usb_tuner_calc_regs(), which was nothing more than a wrapper around dvb_pll_configure(). It's just a copy of the functionality provided by the tuner_ops calc_regs method, and can be deleted. There were two users of dvb_usb_tuner_calc_regs(). One was dvb_usb_tuner_set_params_i2c(), which is converted to use fe->ops.tuner_ops.calc_regs(). The other was the digitv driver. This driver can use one of two demods, mt352 or nxt6000. For the mt352, the driver would set tuner_ops.calc_regs to dvb_usb_tuner_calc_regs(). We can just attach dvb_pll and use the tuner_ops.calc_regs() provided by that module. For the nxt600, the driver would set tuner_ops.set_params to digitv_nxt6000_tuner_set_params. That function would in turn use dvb_usb_tuner_calc_regs(). We convert it to use tuner_ops.calc_regs() instead, and use dvb_pll_attach. The digitv_tuner_attach() needs to know which frontend was attached by digitv_frontend_attach(), since the nxt6000 needs tuner_ops.set_params() to be overridden with digitv_nxt6000_tuner_set_params(). So, to do this a digitv_state that says which frontend was used is added to the dvb_usb_device private state field. Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b784e526a8333db57d1b9f385a12553066bdba64 Author: Rafael Bilski Date: Wed Jun 20 05:37:27 2007 -0300 V4L/DVB (5776): Hardware MPEG audio fix for SAA7134 based "KNC One TV-Station DVR" card With previous patch card is generating MPEG audio stream too. Unfortunatly I2S audio output is muted. Unmute it. Signed-off-by: Rafal Bilski Signed-off-by: Mauro Carvalho Chehab commit aac0ca6a8b84541b28af9d18d8b84f90653ce0d0 Author: Rafał Bilski Date: Wed Jun 20 05:36:26 2007 -0300 V4L/DVB (5775): Alsa fix for SAA7134 based "KNC One TV-Station DVR" card Sound recording doesn't work for this card because ACNI and ACPF are not set before snd_card_saa7134_capture_prepare(). As a result timeout occurs. These registers aren't poked because thread never gets wake up signal. ACNI initialization is done in the thread. Sound is muted when capture stops. Shouldn't be because it may be used during TV playback. Signed-off-by: Rafal Bilski Signed-off-by: Mauro Carvalho Chehab commit 6d7930e0cde1b27c3beca399e233be058ac0b93f Author: Michael Krufky Date: Fri Jun 15 19:17:46 2007 -0300 V4L/DVB (5772): Cx88: remove two unused pointers from struct cx8802_dev The following two pointers in struct cx8802_dev are unused - remove them: void* fe_handle; int (*fe_release)(void *handle); Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 302170a4b47e869372974abd885dd11d5536b64a Author: Michael Krufky Date: Fri Jun 15 19:14:52 2007 -0300 V4L/DVB (5771): Get_dvb_firmware: update script for new location Get_dvb_firmware: update script for new location of sp8870 firmware This url is no longer valid: http://www.technotrend.de/new/217g/tt_Premium_217g.zip Replace with: http://www.softwarepatch.pl/9999ccd06a4813cb827dbb0005071c71/tt_Premium_217g.zip Thanks-to: Tobias Stoeber Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f5948bbab04988f2b58e1a7ca893ffcf5dcfa243 Author: Hans Verkuil Date: Sat Jun 16 18:24:47 2007 -0300 V4L/DVB (5770): Ivtv: fix return code of VIDIOC_G/S_FBUF when no FB is present Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 47fd3ba9fc62d23a985f4969719c3091438d21c5 Author: Hans Verkuil Date: Sat Jun 16 17:02:11 2007 -0300 V4L/DVB (5769): Ivtv: fix broken VBI output support The old service_set_out setting was still tested, even though it no longer was ever set and was in fact obsolete. This meant that everything that was written to /dev/vbi16 was ignored. Removed the service_set_out variable altogether and now it works again. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 27b5a3957a205bcaa07952ed27981f69b2b2f764 Author: Hans Verkuil Date: Sat Jun 16 16:46:56 2007 -0300 V4L/DVB (5768): Ivtv: fix converity warning Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4052fcc7ba32ebd54cc907991cb855d909ce9d1c Author: Luca Risolia Date: Wed Jun 13 15:11:15 2007 -0300 V4L/DVB (5767): ZC0301 driver updates - Make the driver depend on V4L2 only (KConfig) - Better and safe locking mechanism of the device structure on open(), close() and disconnect() - Use kref for handling device deallocation - Generic cleanups Signed-off-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit 3b2ae0be9e246974db65a5bf4ccd2de328f3dede Author: Luca Risolia Date: Wed Jun 13 14:52:01 2007 -0300 V4L/DVB (5766): ET61x251 driver updates - Make the driver depend on V4L2 only (KConfig) - Better and safe locking mechanism of the device structure on open(), close() and disconnect() - Use kref for handling device deallocation - Generic cleanups Signed-off-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit 3770be34199ace8c497ce454cebd7d63347dc4c3 Author: Luca Risolia Date: Wed Jun 13 14:37:50 2007 -0300 V4L/DVB (5765): SN9C1xx driver updates - Add support for pair OV7630+SN9C120 - Better and safe locking mechanism of the device structure on open(), close() and disconnect() - Use kref for handling device deallocation - Generic cleanups Signed-off-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit a6e2b40cb430e1e3a22fbb56807edebf71bf6188 Author: Mauro Carvalho Chehab Date: Fri Jun 8 08:21:27 2007 -0300 V4L/DVB (5763): Fix tea5761 unselection Signed-off-by: Mauro Carvalho Chehab commit 5d807c9fc3fe8a88f1bb95a54da11cebed1612a6 Author: Michael Krufky Date: Wed Jun 6 16:17:57 2007 -0300 V4L/DVB (5759): Tuner-simple: store tuning operations in tuner_operations struct Create static struct tuner_operations simple_tuner_ops for tuner-simple tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0f838f8d02415a25358850cc32d36cd72c2a798b Author: Michael Krufky Date: Wed Jun 6 16:17:17 2007 -0300 V4L/DVB (5758): Tea5767: store tuning operations in tuner_operations structure Create static struct tuner_operations tea5767_tuner_ops for tea5767 tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e407cd54eecc955b2658106403a294612bf4ed66 Author: Michael Krufky Date: Wed Jun 6 16:16:29 2007 -0300 V4L/DVB (5757): Tea5761: store tuning operations in tuner_operations structure Create static struct tuner_operations tea5761_tuner_ops for tea5761 tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9af596ebc7ad3afb0df520b4becad915dd5a5584 Author: Michael Krufky Date: Wed Jun 6 16:15:48 2007 -0300 V4L/DVB (5756): Tda9887: store tuning operations in tuner_operations structure Create static struct tuner_operations tda9887_tuner_ops for tda9887 tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7fd8b263678ab8430b49c99976ade681f8a78439 Author: Michael Krufky Date: Wed Jun 6 16:15:15 2007 -0300 V4L/DVB (5755): Tda8290: store tuning operations in tuner_operations structure Create static struct tuner_operations tda8290_tuner_ops for tda8290 tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c22bcb07ad4555fe7ac4ce724c8ad1de889f9477 Author: Michael Krufky Date: Wed Jun 6 16:14:18 2007 -0300 V4L/DVB (5754): Mt20xx: store tuning operations in tuner_operations structure Create static struct tuner_operations mt2050_tuner_ops and mt2032_tuner_ops for mt20xx tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7a91a80a0d1a0a83a94e773ec6245b31b7c4ceed Author: Michael Krufky Date: Wed Jun 6 16:10:39 2007 -0300 V4L/DVB (5753): Tuner: create struct tuner_operations Move tuner callback function pointers out of struct tuner, into struct tuner_operations. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 018ec5440b4994f560cdde78be6fb10d7ab370d7 Author: Mauro Carvalho Chehab Date: Thu Jun 7 08:26:37 2007 -0300 V4L/DVB (5750): Remove obsoleted support for PROC_FS on vicam.c Procfs support on V4L were converted to sysfs support by a pre-2.6 patch: http://www.ussg.iu.edu/hypermail/linux/kernel/0307.1/2356.html There's no sense on keeping the dead code inside vicam.c. Also,it won't work anyway, as part of proc_fs support were previously inside videodev.c. Signed-off-by: Mauro Carvalho Chehab commit 890be2bb55774290479672b98fcb0486b57e758e Author: Mauro Carvalho Chehab Date: Thu Jun 7 08:10:41 2007 -0300 V4L/DVB (5774a): Remove CONFIG_BIGPHYS_AREA from zoran_driver CONFIG_BIGPHYS_AREA is an out-of-tree kernel patch. It makes no sense to keep supporting this on mainstream. The out-of-tree compilation with CONFIG_BIGPHYS_AREA will still be preserved at the v4l-dvb development tree at: http://linuxtv.org/hg/v4l-dvb Signed-off-by: Mauro Carvalho Chehab commit b7c97abd8171709cc35d8aab70b9962fcad9f9fa Author: Michael Krufky Date: Wed Jun 6 15:28:10 2007 -0300 V4L/DVB (5747): Tea5761: remove duplicated "#include " The line, "#include " appears twice. This patch removes the second occurance. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f3a0d86f1dc60c3ae13ccde188c533e58e7e3197 Author: Trent Piepho Date: Mon Jun 4 20:18:51 2007 -0300 V4L/DVB (5745): Dvb: use '+=' instead of '=' for EXTRA_CFLAGS The Makefiles in the dvb directory tree used '=' when defining EXTRA_CFLAGS rather than '+=', which is far more common in the rest of the kernel source. = 14 times (9 of which this patch removes) := 25 times += 123 times This change also has certain advantages for the out of kernel v4l-dvb build system. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 052c50d91642f10e10c3c10837c89a7355881e76 Author: Michael Krufky Date: Mon Jun 4 16:00:45 2007 -0300 V4L/DVB (5743): Tuner: clean up kfree() after release Although it is safe to kfree(NULL), We only need to kfree(priv) if the release callback is undefined. As it stands now, there is some redundancy in the operation of releasing the priv data structures. This patch will call kfree(priv) and set priv to NULL, if the release callback isnt defined. Otherwise, let the release callback handle this itself. Thanks to Mauro Carvalho Chehab for suggesting this. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 024cf53089f7c8e58934407f07ca2a7b5bed3b06 Author: Michael Krufky Date: Mon Jun 4 15:20:11 2007 -0300 V4L/DVB (5742): Tuner: define release callback for mt20xx, tda9887 and tda8290 Define tuner release callbacks for mt20xx, tda9887 and tda8290, so that these drivers can release their own private structures themselves. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit be2b85a13543bbaf1a141b3a54f84c1e3b059e69 Author: Michael Krufky Date: Mon Jun 4 14:40:27 2007 -0300 V4L/DVB (5741): Tuner: add release callback Individual tuner drivers are now allocating memory themselves for their own private data structures. This changeset adds a release callback to the tuner operations, so that newer drivers that may require more complex data structures may release this private data themselves. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9ee476a56c3ee119a02b6823659f5698b1241f04 Author: Adrian Bunk Date: Tue Jun 5 05:22:00 2007 -0300 V4L/DVB (5740): Git-dvb: fix the tea5761 tuner support Due to a typo the tea5761 tuner support was dead code. This patch also fixes a bug in the no longer dead code: A void function can't return anything. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 0c71bf1c3065e80cc3ab91293829169bdeda2c42 Author: Robert P. J. Day Date: Tue Jun 5 05:20:56 2007 -0300 V4L/DVB (5739): Replace C code with calls to ARRAY_SIZE macro. Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit e0099e9edabd855bf83d3f57b1843f0b06bfb19d Author: Michael Krufky Date: Wed May 30 13:29:32 2007 -0300 V4L/DVB (5734): Cx88: kill dev->fw_size Now that cx88-blackbird is only accepting the official firmware image, we no longer have any need to store the size of the firmware inside the cx88 data structure. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 25472237320b4979d38eb15bc842f592c94d20f5 Author: Hans Verkuil Date: Wed May 30 09:39:46 2007 -0300 V4L/DVB (5733): Blackbird should accept only new cx2341x encoding firmwares Remove temporary support for older 256 kB firmwares. ivtv, pvrusb2 and blackbird can now all handle the newer larger firmwares, so support for the older (buggier) firmware can be removed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a957641bbafc9f44050c965fe1ddc0f7b771d416 Author: Hans Verkuil Date: Tue May 29 07:18:55 2007 -0300 V4L/DVB (5729): Remove support for 256 Kb firmware files. For backwards compatibility firmware files of 256 Kb were allowed: all drivers have now been updated to support the newer larger firmwares so remove this compatibility code and only support the newer firmware. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 74fa39e5902faf1f5eb3ee642e2e069875a0343e Author: Mauro Carvalho Chehab Date: Tue May 29 07:14:59 2007 -0300 V4L/DVB (5727): Remove VIVI_SCATTER vivi scatter method were used as a proof of concept. It can be safelly removed from mainstream, since the current method is faster and better than the previous solution. Signed-off-by: Mauro Carvalho Chehab commit 3e0e38e6e4b6f64f22f2fb6aca36b25f10f779cb Author: Christoph Hellwig Date: Fri Jun 1 20:15:26 2007 -0300 V4L/DVB (5724): Saa7134-tvaudio: kthread conversion Acked-by: Hermann Pitton Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit b208319993ceff7ebfcc6bb914fe94d29e48a891 Author: Michael Krufky Date: Tue May 29 22:54:06 2007 -0300 V4L/DVB (5719): Tuner: Move device-specific private data out of tuner struct Create private data struct for device specific private data. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 56584c9ea9a6dcd672f97ebfeebc4903e8b903bc Author: Michael Krufky Date: Tue May 29 15:36:37 2007 -0300 V4L/DVB (5718): Mt20xx: whitespace cleanup replace leading spaces with tabs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2e02b9a717388c99f2c2ef0aa03f86334bbf8fc7 Author: Douglas Schilling Landgraf Date: Sun May 27 14:05:01 2007 -0300 V4L/DVB (5705): Removed unnecessary .hardware from video_device struct. From: Douglas Schilling Landgraf Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 805b35634b6c349738664619a6d2eb8ece02fe63 Author: Robert P. J. Day Date: Mon May 28 16:21:40 2007 -0300 V4L/DVB (5704): Remove worthless references to obsolete MODULE_PARM macro. Remove the long-dead references to the obsolete MODULE_PARM macro. Given that the first one of those is actually misspelled as "MODULE_PARAM", it's clear that they can't have been doing any good. Acked-by: Thierry Merle Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit 2c8a3a33558d3f5aa18b56eada66fbe712ee6bb7 Author: Dmitry Torokhov Date: Mon Jul 16 09:28:15 2007 -0300 V4L/DVB (5698): Input: drivers/media - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov Acked-by: Thierry Merle Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit afb758c4b03b17ff856f2bd58e488d152b342875 Author: Uwe Bugla Date: Sat May 26 07:56:29 2007 -0300 V4L/DVB (5701): Documentation/dvb/bt8xx.txt update This patch synchronizes the Documentation for bt8xx-based cards to the actual state of kernel 2.6.22-rc1. Signed-off-by: Uwe Bugla Signed-off-by: Manu Abraham Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit d577ee004d1bb4620ae43758ca7a0aa35319faaa Author: Aapo Tahkola Date: Tue May 8 18:33:52 2007 -0300 V4L/DVB (5696): M920x: add missing error handling to prevent syslog spamming Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 3ab3b69de52460ee676304aa773cd37b0b952905 Author: Aapo Tahkola Date: Tue May 8 18:23:38 2007 -0300 V4L/DVB (5695): M920x: enable second adapter on LifeView TV Walker Twin Enable second adapter on LifeView TV Walker Twin DVB-T USB2.0 Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 3847b22ab59a9110c9e7433ac75751070047280e Author: Aapo Tahkola Date: Tue May 8 18:21:47 2007 -0300 V4L/DVB (5694): M920x: fix for Dposh devices Make sure devices manufactured by Dposh are not affected by previous hw pid filtering changes Doing so might crash it. Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 55bbe5ea203373c07c10a9d1d5088dd013345027 Author: Aapo Tahkola Date: Tue May 8 12:56:54 2007 -0300 V4L/DVB (5693): M920x: second endpoint also needs to be changed to alt setting Spotted by Jeremy Nysen. Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 47f8df0fc0a5bd2e7e46ca438715ffa290051f72 Author: Aapo Tahkola Date: Tue May 8 12:03:55 2007 -0300 V4L/DVB (5692): M920x: attempt to fix hw pid filters on second endpoint Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 7cb47a14609eed6db2041fd1fe888027b2a3c3e0 Author: Daniel Gimpelevich Date: Thu May 17 18:10:17 2007 -0300 V4L/DVB (5685): Cx88: add support for ADS Tech Instant Video PCI Signed-off-by: Daniel Gimpelevich Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8083c5200e74a5db11c9671bfc1bcaefe8c48737 Author: Dmitry Torokhov Date: Mon May 21 11:51:11 2007 -0300 V4L/DVB (5684): V4L: ir-kbd-i2c - switch to using msecs_to_jiffies() Signed-off-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit 749823a06e74620ff3fefc75eab9d6fa473a9b39 Author: Dmitry Torokhov Date: Mon May 21 11:48:11 2007 -0300 V4L/DVB (5683): V4L: cx88 - switch to using msecs_to_jiffies() Signed-off-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit b4ba788425f83e0b402a543c816a1cad01873699 Author: Dmitry Torokhov Date: Mon May 21 11:41:02 2007 -0300 V4L/DVB (5682): SAA7134 - switch to use msecs_to_jiffies() Signed-off-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit c57032decdd07e531fc557a207c9ecd5eef9274d Author: Mauro Carvalho Chehab Date: Mon May 21 11:39:21 2007 -0300 V4L/DVB (5681): Correct aliases for STD/L and STD/Lc Some macros were using very weird names, like PAL/L (this std doesn't exist). Fixing it. Signed-off-by: Mauro Carvalho Chehab commit 783aa8fa1fe666a039edb784d9458647da97d28a Author: Akinobu Mita Date: Sun May 20 09:12:10 2007 -0300 V4L/DVB (5678): Zr364xx: fix return values This patch fixes several return value related problems in zr364xx. - return -ENOMEM instead of -ENODEV on out of memory - zr364xx checks video_register_device() error only when its return value is -1. But video_register_device() doesn't always return -1 on error. - If usb_register() returns error, module_init() wrongly returns 1: retval = usb_register(&zr364xx_driver) < 0; ... return retval; And it allows the module to be loaded. Because sys_init_module() doesn't see positive return value as error. Signed-off-by: Akinobu Mita Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 1b9d313c38291c6d60f1fbf6a2bc62c484fdaa21 Author: Hans Verkuil Date: Fri May 18 16:18:17 2007 -0300 V4L/DVB (5674): Models 30012-30039 are for a low profile PVR250, not PVR150. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e80666b87b7f832cad7f824c4ec5799b1c99fa5e Author: Hans Verkuil Date: Thu May 17 06:52:32 2007 -0300 V4L/DVB (5671): Autodetect new PVR150 low profile cards. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f72ce644479fc06774367ed3c80d0f94e54d938b Author: Oliver Endriss Date: Sun May 13 23:25:57 2007 -0300 V4L/DVB (5669): Budget-av: Add support for EasyWatch DVB-S (0x1894:0x001b) Add support for Satelco EasyWatch PCI DVB-S card (subsystem 0x1894:0x001b). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 7b68814d797ae29095b7651e172c28a31ee37fda Author: Michael Krufky Date: Tue May 8 18:23:40 2007 -0300 V4L/DVB (5637): Cx88: kill core->pll_desc and core->pll_addr Now that dvb-pll is being used properly in all cx88-dvb instances, the cx88 driver no longer needs to store pll_desc nor pll_addr. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b7754d74d20b701603eacf587a92ec6f71a302e1 Author: Trent Piepho Date: Tue May 8 18:05:16 2007 -0300 V4L/DVB (5636): Integrate all users of the fmd1216 tuner with dvb-pll Enhance the dvb-pll definition of the fmd1216 tuner by adding an init sequence and a sleep sequence. The init sequence sets the AGC control register to 0xa0, selecting the fast time constant and 112 dBuV take-over point. This the recommended value for DVB-T operation. The sleep sequence sets bit P4 (which is believed to turn the analog demodulator on), turns off the tuning voltage, and sets the AGC control register to 0x60 (external AGC voltage, the recommended value for analog operation). The existing dvb-pll users in the cx88 driver, listed below, will gain these init and sleep sequences. CX88_BOARD_HAUPPAUGE_HVR1100 Hauppauge WinTV-HVR1100 DVB-T/Hybrid CX88_BOARD_HAUPPAUGE_HVR1100LP Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profi CX88_BOARD_WINFAST_DTV2000H WinFast DTV2000 H CX88_BOARD_HAUPPAUGE_HVR3000 Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DV CX88_BOARD_HAUPPAUGE_HVR1300 Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encod This non-dvb-pll user in the cx88 driver should only gain the sleep sequence, as it already had an equivalent init sequence. The non-dvb-pll code for this user is removed. X88_BOARD_DNTV_LIVE_DVB_T_PRO digitalnow DNTV Live! DVB-T Pro In these saa7134 driver, these non-dvb-pll users are converted to use dvb-pll: SAA7134_BOARD_MD7134 Medion 7134 SAA7134_BOARD_ASUS_EUROPA2_HYBRID Asus Europa2 OEM The saa7134 functions philips_fmd1216_tuner_init(), philips_fmd1216_tuner_sleep(), and philips_fmd1216_tuner_set_params() are deleted and the dvb-pll versions are used. This should result in equivalent sleep, init, and tuning sequences being sent to the tuner. For the cxusb driver, only one board is effected: USB_PID_MEDION_MD95700 Medion MD95700 This board used dvb_usb_tuner_init_i2c() and dvb_usb_tuner_set_params_i2c() for init and tuning, respectively. These functions are effectively the same as the dvb-pll versions. They call a tuner pass control function defined at the dvb-usb level, but this does not matter, as this card does not have a tuner pass control function (only the dib3000mb does). This board will gain the sleep sequence, while init and tuning should be unchanged. Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4919c49278b3299c1373912dec9c3d9cf27ec56d Author: Aapo Tahkola Date: Tue May 8 17:36:40 2007 -0300 V4L/DVB (5628): Add support for A-LINK DTU dvb-t adapter Support for A-LINK DTU(m) is not included in this patch. Signed-off-by: Aapo Tahkola Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit e62a42090cdeaa6bbd3d22fa25309592c5eebbbd Author: Luca Olivetti Date: Mon May 7 16:57:57 2007 -0300 V4L/DVB (5626): Marked af9005 driver as experimental and fix dependencies Marked af9005 driver as experimental and add dependency for qt1010; Added a dependency on qt1010 in Kconfig; Corrected the experimental gain reduction of the mt2060 in case of strong signal (though it is code included in #ifdef 0). Signed-off-by: Luca Olivetti Signed-off-by: Mauro Carvalho Chehab commit af4e067e1dcf926d9523dff11e46c45fd9fa9da2 Author: Luca Olivetti Date: Mon May 7 15:19:32 2007 -0300 V4L/DVB (5625): Add support for the AF9005 demodulator from Afatech Signed-off-by: Luca Olivetti Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 79d3a8bede9350e2ff28b950341dcfead85ba04b Author: Michael Krufky Date: Wed May 9 14:52:52 2007 -0300 V4L/DVB (5652): Dibusb-mb: use dvb_attach for dib3000mb_attach convert calls to dib3000mb_attach to use dvb_attach Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fbfee8684ff235c8cc4e8859913a017dabd59c03 Author: Michael Krufky Date: Wed May 9 15:58:17 2007 -0300 V4L/DVB (5651): Dibusb-mb: convert pll handling to properly use dvb-pll moved tda665x pll_init into dvb_pll_desc dvb_pll_tda665x.initdata convert handling of tda665x and tua6010xs to properly use dvb-pll Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9bc7c04852194377fc276072359a19b5134250cc Author: Michael Krufky Date: Wed May 9 13:34:54 2007 -0300 V4L/DVB (5650): Umt-010: trivial whitespace cleanup Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a3497135d829a7911b1b6a7e81ab78066cfa4131 Author: Michael Krufky Date: Wed May 9 13:33:21 2007 -0300 V4L/DVB (5649): Umt-010: convert tua6034 handling to properly use dvb-pll Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 890693925218501f7f7afc4cd6706fc76f395b91 Author: Michael Krufky Date: Wed May 9 11:49:24 2007 -0300 V4L/DVB (5648): Dvb/frontends: remove unnecessary #include's of "dvb-pll.h" These sources do not need to #include "dvb-pll.h" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 480f75acbc1452c0fc7b2ee595bde17c18f798aa Author: Tony Wan Date: Fri May 11 11:33:50 2007 -0300 V4L/DVB (5647): Saa7134: enable ir-remote for 10moons TM300 Using Encore's key codes, we needn't add any additional key table. Signed-off-by: Tony Wan Signed-off-by: Mauro Carvalho Chehab commit aaccb82bdb93889987497b2b712c5160cdf79240 Author: Tony Wan Date: Thu May 10 12:16:47 2007 -0300 V4L/DVB (5646): V4l: saa7134: add support for 10moons TM300 card Support the 10moons TM300 TV card (so called TV Master 3), which is a 10moons saa7130 based board. Here not include features for the IR-remote. It has been tested using TVTIME. The card was auto-detected and all the input sources worked correct with sound. Signed-off-by: Tony Wan Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit c5f48367fe54c46805774eeea8e828de54a5ad7b Author: Thierry MERLE Date: Tue May 8 17:22:29 2007 -0300 V4L/DVB (5644): Usbvision: video_ioctl2 conversion The ioctl entry point, a big switch/case, is splitted in little functions. These functions are set as callbacks for the video_ioctl2 video4linux facility. This improves the driver memory consumption and enables the v4l1 compatibility as a side effect. Signed-off-by: Thierry MERLE Acked-by: Dwaine P. Garden Signed-off-by: Mauro Carvalho Chehab commit ea1f83cee96badc28d3f67ef29ac29c9d0eb0a1b Author: Thierry MERLE Date: Wed May 2 18:43:55 2007 -0300 V4L/DVB (5643): Usbvision: make common video and radio ioctls Radio and video ioctls are the same, delete the usbvision_do_radio_ioctl function add the special cases for radio in usbvision_v4l2_do_ioctl Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 8c7189d1939f6e15c4ebc23a98b3b9f34bd004d7 Author: David Warman Date: Mon Apr 30 14:17:04 2007 -0300 V4L/DVB (5642): add comment that VO_MODE is also being set. usbvision_set_video_format: add comment that VO_MODE is also being set. Signed-off-by: David Warman Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 9fe01e5c297e716c6b50166c3c032a6c07604e5b Author: David Warman Date: Mon Apr 30 14:12:19 2007 -0300 V4L/DVB (5641): change VideoNorm to NTSC for Belkin USB Videobus II Signed-off-by: David Warman Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 9b98fd28b4a181cafaa5247a04d1be6d2ca7c863 Author: Michael Krufky Date: Mon May 7 01:48:56 2007 -0300 V4L/DVB (5635): Budget-av: convert philips sd1878 / tda8261 to use dvb-pll removed philips_sd1878_tda8261_tuner_set_params, using dvb_pll_attach, instead. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8511df9ec2ef4c33a6b1e76527d5b47da8bc0bb6 Author: Michael Krufky Date: Mon May 7 01:34:36 2007 -0300 V4L/DVB (5634): Saa7134-dvb: convert philips td1316 handling to use dvb-pll removed mt352_aver777_tuner_calc_regs, using dvb_pll_attach, instead. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4abe9f9d94e60303c30b1a9bbbc8e6532f6138cb Author: Michael Krufky Date: Sat May 5 12:15:57 2007 -0300 V4L/DVB (5633): Tuv1236d: move rf input switching code into dvb-pll This patch removes duplicate code from cx88-dvb and saa7134-dvb that handles rf input switching for the TUV1236d tuner. The functionality is added to dvb-pll, where all the other code that handles the TUV1236d is kept. Signed-off-by: Michael Krufky Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 77d675047062d514acdc1bbe9f84658b39f99abe Author: Michael Krufky Date: Sat May 5 12:05:39 2007 -0300 V4L/DVB (5632): Dvb-pll: pass dvb_frontend_parameters to generic set() function Rename dvb_pll_desc.setbw() to set(), and accept struct dvb_frontend_parameters instead of passing both freq and bandwidth, so that this may be used as a generic function. In order to do this, dvb_pll_configure must also be altered in the same manner, to take struct dvb_frontend_parameters instead of freq and bandwidth. Signed-off-by: Michael Krufky Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 900858ecb30c27ac94369052be650e25c0fd7d2a Author: Simon Arlott Date: Sun May 6 21:06:32 2007 -0300 V4L/DVB (5631): Dvb-core: Add level fixes to printk()s, plus spelling/grammer All the printks had missing level prefixes so I've fixed these too. Also fixed some grammer errors. Signed-off-by: Simon Arlott Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ecf854df72847d90d5e44b6676a855677b5a33df Author: Trent Piepho Date: Sat May 5 20:11:32 2007 -0300 V4L/DVB (5629): Cx88: VP3054 support can't be a module when cx88 is compiled in If cx88 support is compiled into the kernel while vp3054 is left as a module, the kernel will fail to link. Adjust the existing "#if" code in cx88 so that it won't consider vp3054 to be supported in this case. It might make sense to move vp3054 selection into the "customisation" menu instead of a cx88 sub-option (though this is a cx88 feature, there is no extra chip involved). It might also make sense to use dvb_attach() to load vp3054 support. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 8573a9e6a8ed724b7e3074dc8762d4117ed0b3aa Author: Mauro Carvalho Chehab Date: Sun Apr 8 01:09:11 2007 -0300 V4L/DVB (5563a): Add experimental support for tea5761 tuner This driver were made based on tea5761 specs. Signed-off-by: Mauro Carvalho Chehab commit 826ea8f22cf612d534f33c492c98f7895043bfd1 Author: Tony Breeds Date: Wed Jul 18 16:17:48 2007 +1000 Revert "[POWERPC] Do firmware feature fixups after features are initialised" This reverts commit 5a26f6bbb767d7ad23311a1e81cfdd2bebefb855. The original patch causes boot failures when built with ppc64_defconfig. The quickest fix is to revert it while alterates are investigated. Signed-off-by: Tony Breeds Signed-off-by: Linus Torvalds commit 4f3731da16678026a564b1d7ae218131e4af6810 Author: Tony Breeds Date: Wed Jul 18 11:03:55 2007 +1000 Fix compile failure in arch/powerpc/kernel/pci-common.c This fixes the fallout from the recent powerpc merge (commit 489de30259e667d7bc47da9da44a0270b050cd97): CC arch/powerpc/kernel/pci-common.o arch/powerpc/kernel/pci-common.c:160: error: conflicting types for 'pcibios_add_platform_entries' include/linux/pci.h:889: error: previous declaration of 'pcibios_add_platform_entries' was here Signed-off-by: Tony Breeds Tested-by: Bret Towe Signed-off-by: Linus Torvalds commit b4e44590f0811e629faf2de4aea15e752d83ce3d Author: Swen Schillig Date: Wed Jul 18 10:55:13 2007 +0200 [SCSI] zfcp: code cleanup improve code for buffer enqueue. easy readability and maintainability. Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit aa551daf5cc6fb6c6e09bb993737f9cd46dc7145 Author: Heiko Carstens Date: Wed Jul 18 10:55:10 2007 +0200 [SCSI] zfcp: NULL vs 0 usage Get rid of two 'warning: Using plain integer as NULL pointer'. Signed-off-by: Heiko Carstens Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 0d661327a7578c3fca43db78f32e92a902237e7a Author: Swen Schillig Date: Wed Jul 18 10:55:08 2007 +0200 [SCSI] zfcp: Replace kmalloc/memset with kzalloc Memory allocated with kmalloc is always initialzed to 0 with memset. Replace the two calls with kzalloc, that already does both steps. Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 08547354c17a50a54906b7936d6ecb05ea39bedd Author: FUJITA Tomonori Date: Sat Jul 7 18:11:35 2007 +0900 [SCSI] libsas: kill unused smp_portal code Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit ba1fc175cc6c0af7e78241e50160344f0f198282 Author: FUJITA Tomonori Date: Mon Jul 9 12:52:08 2007 +0900 [SCSI] libsas: add SAS management protocol handler This patch adds support for SAS Management Protocol (SMP) passthrough support via bsg. aic94xx can use this. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 7aa68e80bd481faae1234bc2a7e4bcc9348f98b4 Author: FUJITA Tomonori Date: Mon Jul 9 12:52:06 2007 +0900 [SCSI] transport_sas: add SAS management protocol support The sas transport class attaches one bsg device to every SAS object (host, device, expander, etc). LLDs can define a function to handle SMP requests via sas_function_template::smp_handler. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3ac709c113daa19e375e8b0fef318fab1713f687 Author: Matthew Wilcox Date: Tue Jul 17 13:38:03 2007 -0600 [SCSI] a4000t, zorro7xx, mvme16x, bvme6000,sim710: xxx_device_remove seems buggy Fix drivers misusing dev_to_shost Some drivers were using dev_to_shost to go from a struct device to the corresponding shost. Unfortunately, dev_to_shost only looks up the tree to find an shost (it's designed to go from a scsi_device or a scsi_target to the parent scsi_host), and these drivers were calling it with the parent of the scsi_host. I've fixed this by saving a pointer to the Scsi_Host in the drvdata, which matches what most scsi drivers do. Signed-off-by: Matthew Wilcox Cc: Geert Uytterhoeven Signed-off-by: James Bottomley commit 88e2f98e1b3eb27ae708daa3b37dd50f3f06c952 Author: Salyzyn, Mark Date: Tue Jul 17 14:01:28 2007 -0400 [SCSI] aacraid: add vpd to inquiry Report VPD inquiry page 0x80 with an unique array creation serial number (CUID). When an array is created, the metadata stored on the physical drives gets an unique serial number. This serial number remains constant through array morphing or migration to other controllers. This patch is a forward port and modification to survive morphing and migration operations, of a similar piece of (un-attributed author) code added to the SLES10 SP1 aacraid driver. To test the results of the patch, observe that /dev/disk/by-id/ entries will show up for the arrays resulting from the udev rules. Also, as per the udev rules, 'scsi_id -g -x -a -s /block/sd? -d /dev/sd?' will report the ID_SERIAL as constructed from the inquiry data. It was reported to me that the 'ADPT' leading the serial number was bad form, that the inquiry vendor field was enough to differentiate the storage uniquely. Subsequent search found that another Adaptec AAC based driver reported the 8 hex serial number only without such adornments, so dropped ADPT to match. Resubmitting the patch with this alteration. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 9ad5204d68a3b48b92907d88d1c28d33fde6ba2a Author: Salyzyn, Mark Date: Tue Jul 17 11:15:08 2007 -0400 [SCSI] aacraid: incorrect dma mapping mask during blinkled recover or user initiated reset Incorrect dma mask was used for blinkled (firmware assert) recovery or user initiated reset during initialization portion. Ensure that all callers of aac_fib_map_free null out the fib allocation references to prevent multiple free. Although serious sounding, no reports of these problems have surfaced... Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit fd622b1b4ef976fab4d2ac1cd5c8f4aece805765 Author: Salyzyn, Mark Date: Tue Jul 17 10:59:19 2007 -0400 [SCSI] aacraid: correct valid container response in management ioctl During an Adapter Initiated scan request, the query disk ioctl reports a value of 2 rather than 1 for the valid field. This presents a problem for some legacy management applications. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit ef1d8df72fce074584244a8e3c4ae91606ccd784 Author: Prakash, Sathya Date: Tue Jul 17 14:18:41 2007 +0530 [SCSI] mpt fusion: add support for Brocade branded LSI FC HBA Add support for Brocade 410/420 4Gbit FC HBAs. They are re-branded LSI HBAs [LSI7104EP-LC/LSI7204EP-LC] Signed-off-by: Sathya Prakash Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 57ce21bfccaf3b24296f1e097682177e49017a57 Author: Prakash, Sathya Date: Mon Jul 2 17:04:10 2007 +0530 [SCSI] mpt fusion: deregister from transport layer if PCI registration failed The mptspi and mptsas drivers are modified to deregister from transport layer if registration with PCI driver failed Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 0c8db6beb81a07147f64cffd33bd43b9e96f4f40 Author: Prakash, Sathya Date: Tue Jul 17 13:40:10 2007 +0530 [SCSI] add PCI_VENDOR_ID macro for Brocade in pci_ids.h Adds PCI_VENDOR_ID_BROCADE macro in include/linux/pci_ids.h file. This macro is used in MPT Fusion FC drivers to support Brocade branded FC controllers signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit edb9068d0d7a3ba92f66b8c86cba625f3a439f64 Author: Prakash, Sathya Date: Tue Jul 17 14:39:14 2007 +0530 [SCSI] mpt fusion: add sysfs attributes to display IOC parameters New sysfs scsi_host attributes are added to provide information about Firmware version, BIOS version, MPI version and other product related information signed-off-by: Sathya Praksh Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit fc6e740d0b8619b7e5b6a1899d2db73e309de6a5 Author: Jan Engelhardt Date: Mon Jul 9 12:00:08 2007 -0700 [SCSI] Use menuconfig objects Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 072c3a9d4fe8d270d0b0a8e2c2e34b7f253ceab1 Author: Adrian Bunk Date: Mon Jul 9 12:00:01 2007 -0700 [SCSI] seagate: make seagate_st0x_detect() static seagate_st0x_detect() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 078dda95c521b1c78d1b5da69ac90d581abc9951 Author: Adrian Bunk Date: Mon Jul 9 12:00:01 2007 -0700 [SCSI] wd33c93: cleanups - #include for getting the prototypes of {dis,en}able_irq() - make the needlessly global wd33c93_setup() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 44818efbad185eea75adad0e8cab97650a7370ab Author: Adrian Bunk Date: Mon Jul 9 11:59:59 2007 -0700 [SCSI] small cleanups This patch contains the following cleanups: - make needlessly global functions static - every file should #include the headers containing the prototypes for it's global functions Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 9d720d82dc295521d70939c3f5edd54050730f09 Author: James Bottomley Date: Mon Jul 16 13:15:51 2007 -0500 [SCSI] libsas: fix lockdep issue with ATA lockdep noticed that with ATA support the port->dev_list_lock was entangled at irq context, so it now needs to become IRQ safe Signed-off-by: James Bottomley commit 0f05df8b3b41bc258bdf520b72e8cf7c524048b7 Author: James Bottomley Date: Mon Jul 16 13:41:04 2007 -0500 [SCSI] libsas, aic94xx: fix dma mapping cockups with ATA This one was noticed by Gilbert Wu of Adaptec: The libata core actually does the DMA mapping for you, so there has to be an exception in the device drivers that *don't* do dma mapping for ATA commands. However, since we've already done this, libsas must now dma map any ATA commands that it wishes to issue ... and yes, this is a horrible mess. Additionally, the test in aic94xx for ATA protocols isn't quite right. Signed-off-by: James Bottomley commit 3a2755af37b317d47fdc3dd15178adaf5d47263e Author: Darrick J. Wong Date: Tue Jan 30 01:18:58 2007 -0800 [SCSI] sas_ata: Implement sas_task_abort for ATA devices ATA devices need special handling for sas_task_abort. If the ATA command came from SCSI, then we merely need to tell SCSI to abort the scsi_cmnd. However, internal commands require a bit more work--we need to fill the qc with the appropriate error status and complete the command, and eventually post_internal will issue the actual ABORT TASK. Signed-off-by: James Bottomley commit fe059f122fb9d1bd3a629d4215a4dde11df66f98 Author: Darrick J. Wong Date: Tue Jan 30 01:18:55 2007 -0800 [SCSI] sas_ata: Assign sas_task to scsi_cmnd to enable EH for ATA devices The SATL should connect the scsi_cmnd to the sas_task (despite the presence of libata) so that requests to abort scsi_cmnds headed to the ATA device can be processed by the EH and aborted correctly. The abort status should still be propagated from sas -> ata -> scsi. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 5986c3d305f497d3ff33d65e4d9ff6d00121407b Author: Darrick J. Wong Date: Tue Jan 30 01:18:52 2007 -0800 [SCSI] libsas: Unknown STP devices should be reported to libata as unknown. When libsas encounters a STP device whose protocol isn't recognized (i.e. not ATA or ATAPI), we should set the ata_device's class to ATA_DEV_UNKNOWN instead of ATA_DEV_ATA. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit d97db63f8dd22e7b669982e47db0c5e3f569a6b5 Author: Darrick J. Wong Date: Tue Jan 30 01:18:49 2007 -0800 [SCSI] libsas: Accept SAM_GOOD for ATAPI devices in sas_ata_task_done A sas_task sent to an ATAPI devices returns SAM_GOOD if successful. Therefore, we should treat this the same way we treat ATA commands that succeed. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 38691593cda9674f41d8708eaa73b0b7e14e95c3 Author: Darrick J. Wong Date: Tue Jan 30 01:18:44 2007 -0800 [SCSI] sas_ata: Don't copy aic94xx's sactive to ata_port Since the aic94xx sequencer assigns its own NCQ tags to ATA commands, it no longer makes any sense to copy the sactive field in the STP response to ata_port->sactive, as that will confuse libata. Also, libata seems to be capable of managing sactive on its own. The attached patch gets rid of one of the causes of the BUG messages in ata_qc_new, and seems to work without problems on an IBM x206m. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 1c50dc83f9ca752b1e1b985f1ce33d2695103ffa Author: Darrick J. Wong Date: Tue Jan 30 01:18:41 2007 -0800 [SCSI] sas_ata: ata_post_internal should abort the sas_task This patch adds a new field, lldd_task, to ata_queued_cmd so that libata users such as libsas can associate some data with a qc. The particular ambition with this patch is to associate a sas_task with a qc; that way, if libata decides to timeout a command, we can come back (in sas_ata_post_internal) and abort the sas task. One question remains: Is it necessary to reset the phy on error, or will the libata error handler take care of it? (Assuming that one is written, of course.) This patch, as it is today, works well enough to clean things up when an ATA device probe attempt fails halfway through the probe, though I'm not sure this is always the right thing to do. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 35a7f2f698d309cc50d98e56312dd907427b7ba4 Author: Darrick J. Wong Date: Tue Jan 30 01:18:38 2007 -0800 [SCSI] sas_ata: sas_ata_qc_issue should return AC_ERR_* The sas_ata_qc_issue function was incorrectly written to return error codes such as -ENOMEM. Since libata OR's qc->err_mask with the return value, It is necessary to make my code return one of the AC_ERR_ codes instead. For now, use AC_ERR_SYSTEM because an error here means that the OS couldn't send the command to the controller. If anybody has a suggestion for a better AC_ERR_ code to use, please suggest it. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 3eb7a51a3ae0ed0227e051ecf75199fccbb4cc73 Author: Darrick J. Wong Date: Tue Jan 30 01:18:35 2007 -0800 [SCSI] sas_ata: Satisfy libata qc function locking requirements ata_qc_complete and ata_sas_queuecmd require that the port lock be held when they are called. sas_ata doesn't do this, leading to BUG messages about qc tags newly allocated qc tags already being in use. This patch fixes the locking, which should clean up the rest of those messages. So far I've tested this against an IBM x206m with two SATA disks with no BUG messages and no other signs of things going wrong, and the machine finally passed the pounder stress test. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit ba330ffebb43c37cabc765c7cb0a80df01554657 Author: Darrick J. Wong Date: Fri Nov 10 16:59:24 2006 -0800 [SCSI] aic94xx: Don't call pci_map_sg for already-mapped scatterlists It turns out that libata has already dma_map_sg'd the scatterlist entries that go with an ata_queued_cmd by the time it calls sas_ata_qc_issue. sas_ata_qc_issue passes this scatterlist to aic94xx. Unfortunately, aic94xx assumes that any scatterlist passed to it needs to be pci_map_sg'd... which blows away the mapping that libata created! This causes (on a x260) Calgary IOMMU table leaks and duplicate frees when aic94xx and libata try to {pci,dma}_unmap_sg the scatterlist. Signed-off-by: Darrick J. Wong Key this check off ATA_PROTOCOL_STP Signed-off-by: James Bottomley commit 338ec57003ff9d7bc1471677e61872455977a5de Author: Darrick J. Wong Date: Wed Oct 18 14:43:37 2006 -0700 [SCSI] Migrate libsas ATA code into a separate file This is a respin of my earlier patch that migrates the ATA support code into a separate file. For now, the controversial linking bits have been removed per James Bottomley's request for a patch that contains only the migration diffs, which means that libsas continues to require libata. I intend to address that problem in a separate patch. This patch is against the aic94xx-sas-2.6 git tree, and it has been sanity tested on my x206m with Seagate SATA and SAS disks without uncovering any new problems. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 0281e02c5671f50701924465744edd3e2feb5d6f Author: James Bottomley Date: Mon Oct 16 13:25:30 2006 -0500 [SCSI] libsas: fixup NCQ for SATA disks We actually had two problems: the one with the tag (which is fixed by zeroing the tag before sending the taskfile to the sequencer) but the other with the fact that we sent our first NCQ command to the device before the sequencer had been informed of the NCQ tagging capabilities. I fixed the latter by moving the rphy_add() to the correct point in the code after the NCQ capabilities are set up. Signed-off-by: James Bottomley commit 528fd55200ec135548e71aee43650bca92a041aa Author: James Bottomley Date: Mon Oct 16 10:57:05 2006 -0500 [SCSI] libsas: better error handling in sas_ex_discover_end_dev() This replaces a few BUG_ON() statements with the correct failure error handling. There are still many more to do. Signed-off-by: James Bottomley commit 27e92471b5d8b3e70646dfaf9369d96773972efd Author: James Bottomley Date: Sun Oct 15 20:24:35 2006 -0500 [SCSI] aic94xx: add SATAPI support It turns out this is fairly easy to plumb in by recognising the three command types and copying the CDB. The protocol response path needs to be amended to cope with SAS_PROTO_RESPONSE. Signed-off-by: James Bottomley commit bdab4e877819cc8b682797901c8b37567fec3c5e Author: Darrick J. Wong Date: Fri Oct 13 16:56:25 2006 -0700 [SCSI] libsas: support NCQ for SATA disks This patch adds SATAII NCQ support to libsas. Both the use_ncq and the dma_xfer flags in ata_task must be set for NCQ to work correctly on the Adaptec SAS controller. The rest of the patch adds ATA_FLAG_NCQ to sata_port_info and sets up ap->scsi_host so that ata_setup_ncq doesn't crash. Please note that this patch is against the aic94xx-sas git tree, not scsi-misc. Thanks also to James Bottomley for providing an earlier version of this patch from which to work. I've tested this patch on a x206m with a ST380819AS SATA2 disk plugged into the Adaptec SAS controller. The drive came up with a queue depth of 31, and I successfully ran an I/O flood test to coerce libata into sending multiple commands simultaneously. A kernel probe recorded the maximum tag number that had been seen before and after the flood test; before the test it was 2 and after it was 30, as I expected. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 797f49de3d95d964a360bcf0167cc20e249bb90b Author: Darrick J. Wong Date: Thu Oct 5 15:12:37 2006 -0700 [SCSI] aic94xx: SATA tag mask not set correctly The aic94xx controller has a bitmask establishing which tags are ok to use with a SATA NCQ disk. When the queue depth is 32, however, the expression that is used sets the mask to zero, not 0xFFFFFFFF. This patch widens the width of the integer so that this case is handled properly. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 38e2f035587b0674b3168931c8402f4d719fdd76 Author: James Bottomley Date: Thu Sep 7 15:52:09 2006 -0500 [SCSI] libsas: fix up sas_smp_phy_control() The prototype of this has changed for the link speed setting patch. Need to update the SATA use of this. Signed-off-by: James Bottomley commit 1acce1942a32296f7c25ba82776c97e9c04c8e1e Author: James Bottomley Date: Tue Aug 22 12:39:19 2006 -0500 [SCSI] libsas: Add SATA support to STP piece for SATA on SAS expanders This patch adds support for SATA over SAS expanders to the previous two SATA support in libsas patches. There were a couple of nasty non trivial things to sort out before this one could be made to work. Firstly, I'd like to thank Doug Gilbert for diagnosing a problem with the LSI expanders where the REPORT_SATA_PHY command was returning the D2H FIS in the wrong order (Although, here, I think I have to blame the SAS standards which specifies the FIS "shall be returned in little endian format" and later on "which means resp[24] shall be FIS type" The latter, of course, implying big endian format). Just to make sure, I put a check for the D2H FIS type being in the wrong position and reverse the FIS data if it is. The second is a problem outlined in Annex G of the SAS standard (again, a technical point with D2H FIS ... necessitating a phy reset on certain conditions). With the patch, I can now see my SATA-1 disk in a cascaded expander configuration. Signed-off-by: James Bottomley commit fa1c1e8f1ece48c7baa3ba529bfd0d10a0bdf4eb Author: Darrick J. Wong Date: Thu Aug 10 19:19:47 2006 -0700 [SCSI] Add SATA support to libsas Hook the scsi_host_template functions in libsas to delegate functionality to libata when appropriate. Signed-off-by: Darrick J. Wong Misc code changes and merge fixes and update for libata->drivers/ata move Signed-off-by: James Bottomley commit dfdcdd42fdf63452ddd1bed6f49ae2a35dfb5d6c Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: disable all non-virtual drivers A domU Xen environment has no non-virtual drivers, so make sure they're all disabled at once. Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell commit 9ec2b804e099e8a326369e6cccab10dee1d172ee Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: use iret directly when possible Most of the time we can simply use the iret instruction to exit the kernel, rather than having to use the iret hypercall - the only exception is if we're returning into vm86 mode, or from delivering an NMI (which we don't support yet). When running native, iret has the behaviour of testing for a pending interrupt atomically with re-enabling interrupts. Unfortunately there's no way to do this with Xen, so there's a window in which we could get a recursive exception after enabling events but before actually returning to userspace. This causes a problem: if the nested interrupt causes one of the task's TIF_WORK_MASK flags to be set, they will not be checked again before returning to userspace. This means that pending work may be left pending indefinitely, until the process enters and leaves the kernel again. The net effect is that a pending signal or reschedule event could be delayed for an unbounded amount of time. To deal with this, the xen event upcall handler checks to see if the EIP is within the critical section of the iret code, after events are (potentially) enabled up to the iret itself. If its within this range, it calls the iret critical section fixup, which adjusts the stack to deal with any unrestored registers, and then shifts the stack frame up to replace the previous invocation. Signed-off-by: Jeremy Fitzhardinge commit 600b2fc242992e552e0b4e24c8c1f084b341f39b Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: suppress abs symbol warnings for unused reloc pointers arch/i386/xen/xen-asm.S defines some small pieces of code which are used to implement a few paravirt_ops. They're designed so they can be used either in-place, or be inline patched into their callsites if there's enough space. Some of those operations need to make calls out (specifically, if you re-enable events [interrupts], and there's a pending event at that time). These calls need the call instruction to be relocated if the code is patched inline. In this case xen_foo_reloc is a section-relative symbol which points to xen_foo's required relocation. Other operations have no need of a relocation, and so their corresponding xen_bar_reloc is absolute 0. These are the cases which are triggering the warning. This patch adds those symbols to the list of safe abs symbols. Signed-off-by: Jeremy Fitzhardinge Cc: Adrian Bunk commit 6487673b8a858f99a5348e1078b3f5aec700f9e0 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: Attempt to patch inline versions of common operations This patchs adds the mechanism to allow us to patch inline versions of common operations. The implementations of the direct-access versions save_fl, restore_fl, irq_enable and irq_disable are now in assembler, and the same code is used for both out of line and inline uses. Signed-off-by: Jeremy Fitzhardinge Cc: Chris Wright Cc: Keir Fraser commit 60223a326fc8fa6e90e2c3fd28ae6de4a311d731 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: Place vcpu_info structure into per-cpu memory An experimental patch for Xen allows guests to place their vcpu_info structs anywhere. We try to use this to place the vcpu_info into the PDA, which allows direct access. If this works, then switch to using direct access operations for irq_enable, disable, save_fl and restore_fl. Signed-off-by: Jeremy Fitzhardinge Cc: Chris Wright Cc: Keir Fraser commit 3e2b8fbeec8f005672f2a2e862fb9c26a0bafedc Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: handle external requests for shutdown, reboot and sysrq The guest domain can be asked to shutdown or reboot itself, or have a sysrq key injected, via xenbus. This patch adds a watcher for those events, and does the appropriate action. Signed-off-by: Jeremy Fitzhardinge Cc: Chris Wright commit fefa629abebe328cf6d07f99fe5796dbfc3e4981 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: machine operations Make the appropriate hypercalls to halt and reboot the virtual machine. Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright commit 0d160211965b79de989cf2d170985abeb8da5ec6 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: add virtual network device driver The network device frontend driver allows the kernel to access network devices exported exported by a virtual machine containing a physical network device driver. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Acked-by: Jeff Garzik Cc: Ian Pratt Cc: Christian Limpach Cc: Stephen Hemminger Cc: Christoph Hellwig Cc: Rusty Russell Cc: Herbert Xu Cc: Keir Fraser Cc: netdev@vger.kernel.org commit 9f27ee595038653ddf8bca871200d39247d6f4fc Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: add virtual block device driver. The block device frontend driver allows the kernel to access block devices exported exported by a virtual machine containing a physical block device driver. Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright Cc: Arjan van de Ven Cc: Greg KH Cc: Jens Axboe commit 4bac07c993d03434ea902d3d4290d9e45944b66c Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: add the Xenbus sysfs and virtual device hotplug driver This communicates with the machine control software via a registry residing in a controlling virtual machine. This allows dynamic creation, destruction and modification of virtual device configurations (network devices, block devices and CPUS, to name some examples). [ Greg, would you mind giving this a review? Thanks -J ] Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Greg KH commit ad9a86121f5a374b48ce2924f8a9d7e94a04db27 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: Add grant table support Add Xen 'grant table' driver which allows granting of access to selected local memory pages by other virtual machines and, symmetrically, the mapping of remote memory pages which other virtual machines have granted access to. This driver is a prerequisite for many of the Xen virtual device drivers, which grant the 'device driver domain' restricted and temporary access to only those memory pages that are currently involved in I/O operations. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright commit b536b4b9623084d86f2b1f19cb44a2d6d74f00bf Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: use the hvc console infrastructure for Xen console Implement a Xen back-end for hvc console. * * * Add early printk support via hvc console, enable using "earlyprintk=xen" on the kernel command line. From: Gerd Hoffmann Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Acked-by: Ingo Molnar Acked-by: Olof Johansson commit 8b84ad942b534f8faeb34b68f0f7277ea375fed0 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: hack to prevent bad segment register reload The hypervisor saves and restores the segment registers as part of the state is saves while context switching. If, during a context switch, the next process doesn't use the TLS segments, it invalidates the GDT entry, causing the segment register reload to fault. This fault effectively doubles the cost of a context switch. This patch is a band-aid workaround which clears the usermode %gs after it has been saved for the previous process, but before it gets reloaded for the next, and it avoids having the hypervisor attempt to erroneously reload it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit d66bf8fcf3fce058a1cd164a7c8ee6093fdf039c Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: lazy-mmu operations This patch uses the lazy-mmu hooks to batch mmu operations where possible. This is primarily useful for batching operations applied to active pagetables, which happens during mprotect, munmap, mremap and the like (mmap does not do bulk pagetable operations, so it isn't helped). Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright commit f120f13ea0dbb0b0d6675683d5f6faea71277e65 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: Add support for preemption Add Xen support for preemption. This is mostly a cleanup of existing preempt_enable/disable calls, or just comments to explain the current usage. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit f87e4cac4f4e940b328d3deb5b53e642e3881f43 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: SMP guest support This is a fairly straightforward Xen implementation of smp_ops. Xen has its own IPI mechanisms, and has no dependency on any APIC-based IPI. The smp_ops hooks and the flush_tlb_others pv_op allow a Xen guest to avoid all APIC code in arch/i386 (the only apic operation is a single apic_read for the apic version number). One subtle point which needs to be addressed is unpinning pagetables when another cpu may have a lazy tlb reference to the pagetable. Xen will not allow an in-use pagetable to be unpinned, so we must find any other cpus with a reference to the pagetable and get them to shoot down their references. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Benjamin LaHaise Cc: Ingo Molnar Cc: Andi Kleen commit ab55028886dd1dd54585f22bf19a00eb23869340 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: Implement sched_clock Implement xen_sched_clock, which returns the number of ns the current vcpu has been actually in an unstolen state (ie, running or blocked, vs runnable-but-not-running, or offline) since boot. Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright Cc: john stultz commit f91a8b447b9af64f589f6e13fec7f09b5927563d Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: Account for stolen time This patch accounts for the time stolen from our VCPUs. Stolen time is time where a vcpu is runnable and could be running, but all available physical CPUs are being used for something else. This accounting gets run on each timer interrupt, just as a way to get it run relatively often, and when interesting things are going on. Stolen time is not really used by much in the kernel; it is reported in /proc/stats, and that's about it. Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright Cc: john stultz Cc: Rik van Riel commit 9a4029fd3409eb224eb62c32d9792071382694ec Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: ignore RW mapping of RO pages in pagetable_init When setting up the initial pagetable, which includes mappings of all low physical memory, ignore a mapping which tries to set the RW bit on an RO pte. An RO pte indicates a page which is part of the current pagetable, and so it cannot be allowed to become RW. Once xen_pagetable_setup_done is called, set_pte reverts to its normal behaviour. Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright Cc: ebiederm@xmission.com (Eric W. Biederman) commit f4f97b3ea90130520afb478cbc2918be2b6587b8 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: Complete pagetable pinning Xen requires all active pagetables to be marked read-only. When the base of the pagetable is loaded into %cr3, the hypervisor validates the entire pagetable and only allows the load to proceed if it all checks out. This is pretty slow, so to mitigate this cost Xen has a notion of pinned pagetables. Pinned pagetables are pagetables which are considered to be active even if no processor's cr3 is pointing to is. This means that it must remain read-only and all updates are validated by the hypervisor. This makes context switches much cheaper, because the hypervisor doesn't need to revalidate the pagetable each time. This also adds a new paravirt hook which is called during setup once the zones and memory allocator have been initialized. When the init_mm pagetable is first built, the struct page array does not yet exist, and so there's nowhere to put he init_mm pagetable's PG_pinned flags. Once the zones are initialized and the struct page array exists, we can set the PG_pinned flags for those pages. This patch also adds the Xen support for pte pages allocated out of highmem (highpte) by implementing xen_kmap_atomic_pte. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Zach Amsden commit c85b04c3749507546f6d5868976e4793e35c2ec0 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: add pinned page flag Add a new definition for PG_owner_priv_1 to define PG_pinned on Xen pagetable pages. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit e738fca8d7dffec30eeee231c38f128eed56c8c8 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: configuration Put config options for Xen after the core pieces are in place. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit 15c84731d647c34d1491793fa6be96f5de3432eb Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: time implementation Xen maintains a base clock which measures nanoseconds since system boot. This is provided to guests via a shared page which contains a base time in ns, a tsc timestamp at that point and tsc frequency parameters. Guests can compute the current time by reading the tsc and using it to extrapolate the current time from the basetime. The hypervisor makes sure that the frequency parameters are updated regularly, paricularly if the tsc changes rate or stops. This is implemented as a clocksource, so the interface to the rest of the kernel is a simple clocksource which simply returns the current time directly in nanoseconds. Xen also provides a simple timer mechanism, which allows a timeout to be set in the future. When that time arrives, a timer event is sent to the guest. There are two timer interfaces: - An old one which also delivers a stream of (unused) ticks at 100Hz, and on the same event, the actual timer events. The 100Hz ticks cause a lot of spurious wakeups, but are basically harmless. - The new timer interface doesn't have the 100Hz ticks, and can also fail if the specified time is in the past. This code presents the Xen timer as a clockevent driver, and uses the new interface by preference. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Ingo Molnar Cc: Thomas Gleixner commit e46cdb66c8fc1c8d61cfae0f219ff47ac4b9d531 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: event channels Xen implements interrupts in terms of event channels. Each guest domain gets 1024 event channels which can be used for a variety of purposes, such as Xen timer events, inter-domain events, inter-processor events (IPI) or for real hardware IRQs. Within the kernel, we map the event channels to IRQs, and implement the whole interrupt handling using a Xen irq_chip. Rather than setting NR_IRQ to 1024 under PARAVIRT in order to accomodate Xen, we create a dynamic mapping between event channels and IRQs. Ideally, Linux will eventually move towards dynamically allocating per-irq structures, and we can use a 1:1 mapping between event channels and irqs. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Ingo Molnar Cc: Eric W. Biederman commit 3b827c1b3aadf3adb4c602d19863f2d24e7cbc18 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 xen: virtual mmu Xen pagetable handling, including the machinery to implement direct pagetables. Xen presents the real CPU's pagetables directly to guests, with no added shadowing or other layer of abstraction. Naturally this means the hypervisor must maintain close control over what the guest can put into the pagetable. When the guest modifies the pte/pmd/pgd, it must convert its domain-specific notion of a "physical" pfn into a global machine frame number (mfn) before inserting the entry into the pagetable. Xen will check to make sure the domain is allowed to create a mapping of the given mfn. Xen also requires that all mappings the guest has of its own active pagetable are read-only. This is relatively easy to implement in Linux because all pagetables share the same pte pages for kernel mappings, so updating the pte in one pagetable will implicitly update the mapping in all pagetables. Normally a pagetable becomes active when you point to it with cr3 (or the Xen equivalent), but when you do so, Xen must check the whole pagetable for correctness, which is clearly a performance problem. Xen solves this with pinning which keeps a pagetable effectively active even if its currently unused, which means that all the normal update rules are enforced. This means that it need not revalidate the pagetable when loading cr3. This patch has a first-cut implementation of pinning, but it is more fully implemented in a later patch. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit 5ead97c84fa7d63a6a7a2f4e9f18f452bd109045 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 xen: Core Xen implementation This patch is a rollup of all the core pieces of the Xen implementation, including: - booting and setup - pagetable setup - privileged instructions - segmentation - interrupt flags - upcalls - multicall batching BOOTING AND SETUP The vmlinux image is decorated with ELF notes which tell the Xen domain builder what the kernel's requirements are; the domain builder then constructs the address space accordingly and starts the kernel. Xen has its own entrypoint for the kernel (contained in an ELF note). The ELF notes are set up by xen-head.S, which is included into head.S. In principle it could be linked separately, but it seems to provoke lots of binutils bugs. Because the domain builder starts the kernel in a fairly sane state (32-bit protected mode, paging enabled, flat segments set up), there's not a lot of setup needed before starting the kernel proper. The main steps are: 1. Install the Xen paravirt_ops, which is simply a matter of a structure assignment. 2. Set init_mm to use the Xen-supplied pagetables (analogous to the head.S generated pagetables in a native boot). 3. Reserve address space for Xen, since it takes a chunk at the top of the address space for its own use. 4. Call start_kernel() PAGETABLE SETUP Once we hit the main kernel boot sequence, it will end up calling back via paravirt_ops to set up various pieces of Xen specific state. One of the critical things which requires a bit of extra care is the construction of the initial init_mm pagetable. Because Xen places tight constraints on pagetables (an active pagetable must always be valid, and must always be mapped read-only to the guest domain), we need to be careful when constructing the new pagetable to keep these constraints in mind. It turns out that the easiest way to do this is use the initial Xen-provided pagetable as a template, and then just insert new mappings for memory where a mapping doesn't already exist. This means that during pagetable setup, it uses a special version of xen_set_pte which ignores any attempt to remap a read-only page as read-write (since Xen will map its own initial pagetable as RO), but lets other changes to the ptes happen, so that things like NX are set properly. PRIVILEGED INSTRUCTIONS AND SEGMENTATION When the kernel runs under Xen, it runs in ring 1 rather than ring 0. This means that it is more privileged than user-mode in ring 3, but it still can't run privileged instructions directly. Non-performance critical instructions are dealt with by taking a privilege exception and trapping into the hypervisor and emulating the instruction, but more performance-critical instructions have their own specific paravirt_ops. In many cases we can avoid having to do any hypercalls for these instructions, or the Xen implementation is quite different from the normal native version. The privileged instructions fall into the broad classes of: Segmentation: setting up the GDT and the GDT entries, LDT, TLS and so on. Xen doesn't allow the GDT to be directly modified; all GDT updates are done via hypercalls where the new entries can be validated. This is important because Xen uses segment limits to prevent the guest kernel from damaging the hypervisor itself. Traps and exceptions: Xen uses a special format for trap entrypoints, so when the kernel wants to set an IDT entry, it needs to be converted to the form Xen expects. Xen sets int 0x80 up specially so that the trap goes straight from userspace into the guest kernel without going via the hypervisor. sysenter isn't supported. Kernel stack: The esp0 entry is extracted from the tss and provided to Xen. TLB operations: the various TLB calls are mapped into corresponding Xen hypercalls. Control registers: all the control registers are privileged. The most important is cr3, which points to the base of the current pagetable, and we handle it specially. Another instruction we treat specially is CPUID, even though its not privileged. We want to control what CPU features are visible to the rest of the kernel, and so CPUID ends up going into a paravirt_op. Xen implements this mainly to disable the ACPI and APIC subsystems. INTERRUPT FLAGS Xen maintains its own separate flag for masking events, which is contained within the per-cpu vcpu_info structure. Because the guest kernel runs in ring 1 and not 0, the IF flag in EFLAGS is completely ignored (and must be, because even if a guest domain disables interrupts for itself, it can't disable them overall). (A note on terminology: "events" and interrupts are effectively synonymous. However, rather than using an "enable flag", Xen uses a "mask flag", which blocks event delivery when it is non-zero.) There are paravirt_ops for each of cli/sti/save_fl/restore_fl, which are implemented to manage the Xen event mask state. The only thing worth noting is that when events are unmasked, we need to explicitly see if there's a pending event and call into the hypervisor to make sure it gets delivered. UPCALLS Xen needs a couple of upcall (or callback) functions to be implemented by each guest. One is the event upcalls, which is how events (interrupts, effectively) are delivered to the guests. The other is the failsafe callback, which is used to report errors in either reloading a segment register, or caused by iret. These are implemented in i386/kernel/entry.S so they can jump into the normal iret_exc path when necessary. MULTICALL BATCHING Xen provides a multicall mechanism, which allows multiple hypercalls to be issued at once in order to mitigate the cost of trapping into the hypervisor. This is particularly useful for context switches, since the 4-5 hypercalls they would normally need (reload cr3, update TLS, maybe update LDT) can be reduced to one. This patch implements a generic batching mechanism for hypercalls, which gets used in many places in the Xen code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Ian Pratt Cc: Christian Limpach Cc: Adrian Bunk commit a42089dd358a7673a0a23126589a9029e57c2049 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 xen: Add Xen interface header files Add Xen interface header files. These are taken fairly directly from the Xen tree, but somewhat rearranged to suit the kernel's conventions. Define macros and inline functions for doing hypercalls into the hypervisor. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright commit 24037a8b69dbf15bfed8fd42a2a2e442d7b0395b Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 Add nosegneg capability to the vsyscall page notes Add the "nosegneg" fake capabilty to the vsyscall page notes. This is used by the runtime linker to select a glibc version which then disables negative-offset accesses to the thread-local segment via %gs. These accesses require emulation in Xen (because segments are truncated to protect the hypervisor address space) and avoiding them provides a measurable performance boost. Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright Signed-off-by: Jeremy Fitzhardinge Acked-by: Zachary Amsden Cc: Roland McGrath Cc: Ulrich Drepper commit 688340ea34c61ad12473ccd837325b59aada9a93 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 Add a sched_clock paravirt_op The tsc-based get_scheduled_cycles interface is not a good match for Xen's runstate accounting, which reports everything in nanoseconds. This patch replaces this interface with a sched_clock interface, which matches both Xen and VMI's requirements. In order to do this, we: 1. replace get_scheduled_cycles with sched_clock 2. hoist cycles_2_ns into a common header 3. update vmi accordingly One thing to note: because sched_clock is implemented as a weak function in kernel/sched.c, we must define a real function in order to override this weak binding. This means the usual paravirt_ops technique of using an inline function won't work in this case. Signed-off-by: Jeremy Fitzhardinge Cc: Zachary Amsden Cc: Dan Hecht Cc: john stultz commit d572929cdd12a60732c3522f7cf011bfa29165cf Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 paravirt: helper to disable all IO space In a virtual environment, device drivers such as legacy IDE will waste quite a lot of time probing for their devices which will never appear. This helper function allows a paravirt implementation to lay claim to the whole iomem and ioport space, thereby disabling all device drivers trying to claim IO resources. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Rusty Russell commit 5f4352fbffd6c45123dbce9e195efd54df4e177e Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 Allocate and free vmalloc areas Allocate/release a chunk of vmalloc address space: alloc_vm_area reserves a chunk of address space, and makes sure all the pagetables are constructed for that address range - but no pages. free_vm_area releases the address space range. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright Cc: "Jan Beulich" Cc: "Andi Kleen" commit bdef40a6af64a0140a65df49bf504124d57094a9 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 paravirt: export __supported_pte_mask __supported_pte_mask is needed when constructing pte values. Xen device drivers need to do this to make mappings of foreign pages (ie, pages granted to us by other domains). Signed-off-by: Jeremy Fitzhardinge commit c70df74376c1e29a04e07e23dd3f4c384d6166dd Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: make siblingmap functions visible Paravirt implementations need to set the sibling map on new cpus. Signed-off-by: Jeremy Fitzhardinge commit 724faa89ccd8fae65f3d41a47b0e1034cf07918b Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: unstatic smp_store_cpu_info Paravirt implementations need to store cpu info when bringing up cpus. Signed-off-by: Jeremy Fitzhardinge commit 53787013248f52af81d99f63454e5a5cf34d6f12 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: unstatic leave_mm Make globally leave_mm visible, specifically so that Xen can use it to shoot-down lazy uses of cr3. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit 03f0c2f950f813e3b26c56ed041ba170479d479c Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: increase IRQ limit When running with CONFIG_PARAVIRT, we may want lots of IRQs even if there's no IO APIC. Signed-off-by: Jeremy Fitzhardinge Cc: "Eric W. Biederman" commit 6996d3b63fd9a64341bc80dad1b556fd3eb81272 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: add a hook for once the allocator is ready Add a hook so that the paravirt backend knows when the allocator is ready. This is useful for the obvious reason that the allocator is available, but the other side-effect of having the bootmem allocator available is that each page now has an associated "struct page". Signed-off-by: Jeremy Fitzhardinge commit fdb4c338c8d1d494e17c3422a3ea2129f6791596 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: add an "mm" argument to alloc_pt It's useful to know which mm is allocating a pagetable. Xen uses this to determine whether the pagetable being added to is pinned or not. Signed-off-by: Jeremy Fitzhardinge commit 810bab448e563ffd1718d78e9a3756806b626acc Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 use elfnote.h to generate vsyscall notes. Use existing elfnote.h to generate vsyscall notes, rather than doing it locally. Changes elfnote.h a bit to suit, since this is the first asm user, and it wasn't quite right. Signed-off-by: Jeremy Fitzhardinge Cc: "Eric W. Biederman" Cc: Roland McGrath Cc: Andrew Morton commit 86313c488a6848b7ec2ba04e74f25f79dd32a0b7 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 usermodehelper: Tidy up waiting Rather than using a tri-state integer for the wait flag in call_usermodehelper_exec, define a proper enum, and use that. I've preserved the integer values so that any callers I've missed should still work OK. Signed-off-by: Jeremy Fitzhardinge Cc: James Bottomley Cc: Randy Dunlap Cc: Christoph Hellwig Cc: Andi Kleen Cc: Paul Mackerras Cc: Johannes Berg Cc: Ralf Baechle Cc: Bjorn Helgaas Cc: Joel Becker Cc: Tony Luck Cc: Kay Sievers Cc: Srivatsa Vaddagiri Cc: Oleg Nesterov Cc: David Howells commit 10a0a8d4e3f6bf2d077f94344441909abe670f5a Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:02 2007 -0700 Add common orderly_poweroff() Various pieces of code around the kernel want to be able to trigger an orderly poweroff. This pulls them together into a single implementation. By default the poweroff command is /sbin/poweroff, but it can be set via sysctl: kernel/poweroff_cmd. This is split at whitespace, so it can include command-line arguments. This patch replaces four other instances of invoking either "poweroff" or "shutdown -h now": two sbus drivers, and acpi thermal management. sparc64 has its own "powerd"; still need to determine whether it should be replaced by orderly_poweroff(). Signed-off-by: Jeremy Fitzhardinge Acked-by: Len Brown Signed-off-by: Chris Wright Cc: Andrew Morton Cc: Randy Dunlap Cc: Andi Kleen Cc: Al Viro Cc: Arnd Bergmann Cc: David S. Miller commit 0ab4dc92278a0f3816e486d6350c6652a72e06c8 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:02 2007 -0700 usermodehelper: split setup from execution Rather than having hundreds of variations of call_usermodehelper for various pieces of usermode state which could be set up, split the info allocation and initialization from the actual process execution. This means the general pattern becomes: info = call_usermodehelper_setup(path, argv, envp); /* basic state */ call_usermodehelper_(info, stuff...); /* extra state */ call_usermodehelper_exec(info, wait); /* run process and free info */ This patch introduces wrappers for all the existing calling styles for call_usermodehelper_*, but folds their implementations into one. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Rusty Russell Cc: David Howells Cc: Bj?rn Steinbrink Cc: Randy Dunlap commit d84d1cc7647c7e4f77d517e2d87b4a106a0420d9 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:02 2007 -0700 add argv_split() argv_split() is a helper function which takes a string, splits it at whitespace, and returns a NULL-terminated argv vector. This is deliberately simple - it does no quote processing of any kind. [ Seems to me that this is something which is already being done in the kernel, but I couldn't find any other implementations, either to steal or replace. Keep an eye out. ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Andrew Morton Cc: Randy Dunlap commit 1e66df3ee301209f4a38df097d7cc5cb9b367a3f Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:02 2007 -0700 add kstrndup Add a kstrndup function, modelled on strndup. Like strndup this returns a string copied into its own allocated memory, but it copies no more than the specified number of bytes from the source. Remove private strndup() from irda code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Andrew Morton Cc: Randy Dunlap Cc: YOSHIFUJI Hideaki Cc: Akinobu Mita Cc: Arnaldo Carvalho de Melo Cc: Al Viro Cc: Panagiotis Issaris Cc: Rene Scharfe commit 8b4a40809e5330c9da5d20107d693d92d73b31dc Author: Maciej W. Rozycki Date: Wed Jul 18 00:49:11 2007 -0700 zs: move to the serial subsystem This is a reimplementation of the zs driver for the serial subsystem. Any resemblance to the old driver is purely coincidential. ;-) I do hope I got the handling of modem lines right -- better do not tackle me about the issue unless you feel too good... Any users of the old driver: please note the numbers of the serial lines have now been swapped, i.e. ttyS0 <-> ttyS1 and ttyS2 <-> ttyS3. It has to do with the modem lines mentioned above; basically the port A in a given chip has to be initialised before the port B if you want to use the latter as the serial console (which is usually the case), as operations on modem lines of the serial line associated with the port B access both ports (see the comment at the top of the driver for the details of wiring used). Please update your scripts. This is also the reason each SCC now requests an IRQ once only (as seen in "/proc/interrupts") -- the handler takes care of both ports at once as the line associated with the port B has to take status update interrupts from both ports (and yet the line of the port A takes its own for itself too). The old driver never got it right... Signed-off-by: Maciej W. Rozycki Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b187f180cc942e50007aa039f8e3a620ee5f3171 Author: Yinghai Lu Date: Wed Jul 18 00:49:10 2007 -0700 serial: add early_serial_setup() back to header file early_serial_setup was removed from serial.h, but forgot to put in serial_8250.h Signed-off-by: Yinghai Lu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04e08d0e9b936b91e761454b3134e260c4f50696 Author: Arnd Bergmann Date: Wed Jul 18 00:49:09 2007 -0700 fbdev: make fb_append_extra_logo() depend on fb=y We can't show the extra logo from boot code if FB is built as a module. Make the FB_LOGO_EXTRA depend on FB=y. Signed-off-by: Arnd Bergmann Cc: Al Viro Cc: "Antonino A. Daplas" Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 851a8a7fd451db3dcd5d44d784083f0f66b24d57 Author: Jesper Juhl Date: Wed Jul 18 00:49:08 2007 -0700 dm: fix memory leak in dm_create_persistent() when starting metadata update thread fails If, in dm_create_persistent(), the call to create_singlethread_workqueue() fails then we'll return without freeing the memory allocated to 'ps', thus leaking sizeof(struct pstore) bytes. This patch fixes the leak. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit add0b43ca67bf281ef7ac8ab47e9ee7b2d97a69f Author: Paul Mundt Date: Wed Jul 18 18:39:45 2007 +0900 UBI: fix compile warning cdev.c whines in current git: drivers/mtd/ubi/cdev.c: In function `major_to_device': drivers/mtd/ubi/cdev.c:67: warning: control reaches end of non-void function Shut it up. Signed-off-by: Paul Mundt Signed-off-by: Artem Bityutskiy commit 784c145444e7dd58ae740d406155b72ac658f151 Author: Artem Bityutskiy Date: Wed Jul 18 13:42:10 2007 +0300 UBI: fix error handling in erase worker Do not switch to read-only mode in case of -EINTR and some other obvious cases. Switch to RO mode only when we do not know what is the error. Reported-by: Vinit Agnihotri Signed-off-by: Artem Bityutskiy commit 63b6c1ed56f69fdd35122dc591164587e3407ba0 Author: Artem Bityutskiy Date: Tue Jul 17 15:04:20 2007 +0300 UBI: fix comments Signed-off-by: Artem Bityutskiy commit 503990ebb21e5aabe497a3eb1d39bef0bbc1be6f Author: Artem Bityutskiy Date: Wed Jul 11 16:03:29 2007 +0300 UBI: remove unneeded error checks Pointed to by viro. Signed-off-by: Artem Bityutskiy commit 2db61c95c03d08bb885c87a816540e75190c924a Author: Fernando Luis Vázquez Cao Date: Wed Jul 11 17:11:45 2007 +0900 UBI: cleanup usage of try_module_get The use of try_module_get(THIS_MODULE) in ubi_get_device_info does not offer real protection against unexpected driver unloads, since we could be preempted before try_modules_get gets executed. It is the caller who should manipulate the refcounts. Besides, ubi_get_device_info is an exported symbol which guarantees protection when accessed through symbol_get. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Artem Bityutskiy commit d08c3b78b8c46a01b8fa59037a0d9fbb777fb465 Author: Vinit Agnihotri Date: Tue Jul 10 13:04:59 2007 +0300 UBI: fix overflow bug I was experiencing overflows in multiplications for volume->used_bytes in vmt.c & vtbl.c, while creating & resizing large volumes. vol->used_bytes is long long however its 2 operands vol->used_ebs & vol->usable_leb_size are int. So their multiplication for larger values causes integer overflows. Typecasting them solves the problem. My machine & flash details: 64Bit dual-core AMD opteron, 1 GB RAM, linux 2.6.18.3. mtd size = 6GB, volume size= 5GB, peb_size = 4MB. heres patch which does the fix. Signed-off-by: Vinit Agnihotri Signed-off-by: Artem Bityutskiy commit 2f3cdb55eef4fa1398965e893f731fb6e6312d34 Author: Artem Bityutskiy Date: Fri Jul 6 14:38:46 2007 +0300 UBI: bugfix in max_sqnum calculation Do not zero max_sqnum after a new volume has been found. Signed-off-by: Artem Bityutskiy commit 76eafe479ec30dd72b8cf209c4f576eac3c93112 Author: Brijesh Singh Date: Fri Jul 6 14:35:43 2007 +0300 UBI: bugfix in sqnum calculation Hi,I came across problem of having two leb with same sequence no.This happens when we continuously write one block again and again and reboot machine before background thread erases those blocks. The problem here was,when we find two blocks with same sequence no,we take the higher one,but we were not updating max seq no,so next block may have the same seqnum. This patch solves this problem. Signed-off-by: Brijesh Singh Signed-off-by: Artem Bityutskiy commit 2f176f79877937082ce052977e552a75e23a73d1 Author: Brijesh Singh Date: Thu Jul 5 15:07:35 2007 +0530 UBI: fix signed-unsigned multiplication There is signed multiplication assigned to unsigned ei.addr in io.c. This causes wrong addresses for big multiplication.This patch solves the problem. Signed-off-by: Brijesh Singh Signed-off-by: Artem Bityutskiy commit 84a925806210e002fab29966c09b9c92f382a79d Author: Artem Bityutskiy Date: Wed Jul 4 16:16:51 2007 +0300 UBI: fix bug in atomic_leb_change() atomic_leb_change() is only allowed for dynamic volumes, so set the volume type correctly. Signed-off-by: Artem Bityutskiy commit a6ded48e34f803fcbb42719cee452d1f18938ec7 Author: Vinit Agnihotri Date: Wed Jul 4 16:35:56 2007 +0300 UBI: fix message Increase UBI devices couter after the message, not before. Signed-off-by: Vinit Agnihotri Signed-off-by: Artem Bityutskiy commit b89044bfa06e8a9a82094fda031cc6d4e8d4a0b0 Author: Artem Bityutskiy Date: Mon Jun 18 16:29:30 2007 +0300 UBI: fix debugging stuff Do not check volumes which are currently in use because thay may be in inconsistent state. Signed-off-by: Artem Bityutskiy commit 94784d916458d51043ba76849b9beaf330baef2f Author: Artem Bityutskiy Date: Mon Jun 18 12:06:30 2007 +0300 UBI: bugfix in error path When volume creation fails, we have to set ubi->volumes[vol_id] back to NULL. This patch also tweaks some debugging stuff. Signed-off-by: Artem Bityutskiy commit 7753f1692f53d82b4cc08084462b0fd2803c1f04 Author: Vignesh Babu Date: Tue Jun 12 10:31:05 2007 +0530 UBI: use is_power_of_2() Replacing (n & (n-1)) in the context of power of 2 checks with is_power_of_2 Signed-off-by: Vignesh Babu Signed-off-by: Artem Bityutskiy commit d7f0c4dc31f1297a613f1e61a7d682dc9a5e859a Author: Vinit Agnihotri Date: Fri Jun 15 15:31:22 2007 +0530 UBI: fix freeing ubi->vtbl while unloading ubi->vtbl is allocated using vmalloc() in vtbl.c empty_create_lvol(), but it is freed in build.c with kfree() Signed-off-by: Vinit Agnihotri Signed-off-by: Artem Bityutskiy commit 21600546ab84e451adb88771b52b64b97866a444 Author: Artem Bityutskiy Date: Tue May 22 12:23:21 2007 +0300 UBI: fix MAINTAINERS Fix UBI git tree URL. Signed-off-by: Artem Bityutskiy commit a443db48e05a8d2d8db0a17409655c58da65a35e Author: Artem Bityutskiy Date: Mon May 21 20:26:05 2007 +0300 UBI: bugfix in ubi_leb_change() Do not call 'ubi_wl_put_peb()' if the LEB was unmapped. Reported-by: Gabor Loki Signed-off-by: Artem Bityutskiy commit 3261ebd7d4194ff30d0eae7ba8d937dcccf7235d Author: Christoph Hellwig Date: Mon May 21 17:41:46 2007 +0300 UBI: kill homegrown endian macros Kill UBI's homegrown endianess handling and replace it with the standard kernel endianess handling. Signed-off-by: Christoph Hellwig Signed-off-by: Artem Bityutskiy commit bf07803a6827ef8d4c9d840a1de800ba36db0213 Author: Christoph Hellwig Date: Thu May 17 16:32:10 2007 +0200 UBI: cleanup ioctl handling - don't do access_ok + get/put user but use the proper macro - remove useless checks Signed-off-by: Christoph Hellwig Signed-off-by: Artem Bityutskiy commit 16d8cd7ce408a20db1ab192e0fb565573e446b28 Author: Artem Bityutskiy Date: Wed May 16 15:49:16 2007 +0300 UBI: error path bugfix No need to unlock the lock, this will be done at out_unlock. Signed-off-by: Artem Bityutskiy commit f800f09bf44871f6c6e4d3e42a60946e1ea51b17 Author: Artem Bityutskiy Date: Sun May 6 16:45:43 2007 +0300 UBI: minor comma fix Use coma at the the last elements of structure initializer. Daniel Stone's explanation: Because it turns: - .attr = foo + .attr = foo, + .bar = baz into: + .bar = baz, i.e., far less likely to screw up a merge. Signed-off-by: Artem Bityutskiy commit 92ad8f37509a7d9d5dd6e0092211b092a7ca7fb1 Author: Artem Bityutskiy Date: Sun May 6 16:12:54 2007 +0300 UBI: use vmalloc for large buffers UBI allocates temporary buffers of PEB size, which may be 256KiB. Use vmalloc instead of kmalloc for such big temporary buffers. Signed-off-by: Artem Bityutskiy commit 79b510c0f21174f4bd055d1aab156e548ae3a5f2 Author: Artem Bityutskiy Date: Sat May 5 17:36:17 2007 +0300 UBI: add few more comments Add few comments above ubi_scan_add_used() to explain why it is so complex. Requested by Satyam Sharma . Signed-off-by: Artem Bityutskiy commit 941dfb07ed91451b1c58626a0d258dfdf468b593 Author: Artem Bityutskiy Date: Sat May 5 16:33:13 2007 +0300 UBI: set correct gluebi device size In case of static volumes, make emulated MTD device size to be equivalent to data size, rather then volume size. Reported-by: John Smith Signed-off-by: Artem Bityutskiy commit 4ab60a0d7c92cab16f7e470f80ea039a0b174bce Author: Artem Bityutskiy Date: Sat May 5 14:59:23 2007 +0300 UBI: do not let to read too much In case of static volumes it is prohibited to read more data then available. Signed-off-by: Artem Bityutskiy commit 78d87c95b89ccf86c142494beada3082810ed368 Author: Artem Bityutskiy Date: Sat May 5 11:24:02 2007 +0300 UBI: fix error path in create_vtbl() There were several bugs in volume table creation error path. Thanks to Satyam Sharma and Florin Malita for finding and analysing them: http://lkml.org/lkml/2007/5/3/274 This patch makes ubi_scan_add_to_list() static and renames it to add_to_list(), just because it is not needed outside scan.c anymore. Signed-off-by: Artem Bityutskiy commit c4e90ec0134d7bedebbe3fe58ed5d431293886d4 Author: Florin Malita Date: Thu May 3 11:49:57 2007 -0400 UBI: fix dereference after kfree Coverity (CID 1614) spotted new_seb being dereferenced after kfree() in create_vtbl's write_error path. Signed-off-by: Florin Malita Signed-off-by: Artem Bityutskiy commit 341e1a0cf2d8965c8b2f7941a6b2f2c2170df469 Author: Artem Bityutskiy Date: Thu May 3 11:59:51 2007 +0300 UBI: fix memory leak in checking code Reported-by: Eric Sesterhenn / Snakebyte Signed-off-by: Artem Bityutskiy commit e9f410b1c035b6e63f0b4c3d6cfe4298d6a04492 Author: Dmitry Monakhov Date: Wed Jul 18 09:09:15 2007 -0400 ext4: extent macros cleanup Use the EXT_LAST_INDEX macro; that's what it's there for. Clean up ext4_ext_ext_grow_indepth() so the correct EXT_FIRST_INDEX or EXT_FIRST_MACRO is used as necessary. The two macros are equivalent, so the C will collapse the if statement out, but it makes the code much more readable. Signed-off-by: Dmitry Monakhov Acked-by: Alex Tomas Signed-off-by: Dave Kleikamp Singed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 26d535ed24f74ce949d7b49e40574c45cd845cdd Author: Dmitry Monakhov Date: Wed Jul 18 08:33:37 2007 -0400 Fix compilation with EXT_DEBUG, also fix leXX_to_cpu conversions. Signed-off-by: Dmitry Monakhov Acked-by: Alex Tomas Signed-off-by: Dave Kleikamp Signed-off-by: "Theodore Ts'o" commit d699594dc151c664a2b307e680a3cd9b7145fd83 Author: Dave Hansen Date: Wed Jul 18 08:33:51 2007 -0400 ext4: remove extra IS_RDONLY() check ext4_change_inode_journal_flag() is only called from one location: ext4_ioctl(EXT3_IOC_SETFLAGS). That ioctl case already has a IS_RDONLY() call in it so this one is superfluous. Signed-off-by: Dave Hansen Cc: Signed-off-by: Andrew Morton Signed-off-by: Dave Kleikamp Signed-off-by: "Theodore Ts'o" commit 1330593eb2d055bdd6ed935886cf2c13c896b288 Author: Vignesh Babu Date: Wed Jul 18 09:11:02 2007 -0400 ext4: Use is_power_of_2() Replace (n & (n-1)) in the context of power of 2 checks with is_power_of_2() Signed-off-by: Vignesh Babu Cc: Signed-off-by: Andrew Morton Signed-off-by: Dave Kleikamp Signed-off-by: "Theodore Ts'o" commit fc0e15a667121e02686cc52679f6272959fb60cc Author: Eric Sandeen Date: Wed Jul 18 09:20:44 2007 -0400 Use zero_user_page() in ext4 where possible Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit f8628a14a27eb4512a1ede43de1d9db4d9f92bc3 Author: Andreas Dilger Date: Wed Jul 18 08:38:01 2007 -0400 ext4: Remove 65000 subdirectory limit This patch adds support to ext4 for allowing more than 65000 subdirectories. Currently the maximum number of subdirectories is capped at 32000. If we exceed 65000 subdirectories in an htree directory it sets the inode link count to 1 and no longer counts subdirectories. The directory link count is not actually used when determining if a directory is empty, as that only counts subdirectories and not regular files that might be in there. A EXT4_FEATURE_RO_COMPAT_DIR_NLINK flag has been added and it is set if the subdir count for any directory crosses 65000. A later fsck will clear EXT4_FEATURE_RO_COMPAT_DIR_NLINK if there are no longer any directory with >65000 subdirs. Signed-off-by: Andreas Dilger Signed-off-by: Kalpak Shah Signed-off-by: "Theodore Ts'o" commit 6dd4ee7cab7e3a17c571aebd444f4344c8c4946e Author: Kalpak Shah Date: Wed Jul 18 09:19:57 2007 -0400 ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields We need to make sure that existing ext3 filesystems can also avail the new fields that have been added to the ext4 inode. We use s_want_extra_isize and s_min_extra_isize to decide by how much we should expand the inode. If EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature is set then we expand the inode by max(s_want_extra_isize, s_min_extra_isize , sizeof(ext4_inode) - EXT4_GOOD_OLD_INODE_SIZE) bytes. Actually it is still an open question about whether users should be able to set s_*_extra_isize smaller than the known fields or not. This patch also adds the functionality to expand inodes to include the newly added fields. We start by trying to expand by s_want_extra_isize bytes and if its fails we try to expand by s_min_extra_isize bytes. This is done by changing the i_extra_isize if enough space is available in the inode and no EAs are present. If EAs are present and there is enough space in the inode then the EAs in the inode are shifted to make space. If enough space is not available in the inode due to the EAs then 1 or more EAs are shifted to the external EA block. In the worst case when even the external EA block does not have enough space we inform the user that some EA would need to be deleted or s_min_extra_isize would have to be reduced. Signed-off-by: Andreas Dilger Signed-off-by: Kalpak Shah Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80 Author: Kalpak Shah Date: Wed Jul 18 09:15:20 2007 -0400 ext4: Add nanosecond timestamps This patch adds nanosecond timestamps for ext4. This involves adding *time_extra fields to the ext4_inode to extend the timestamps to 64-bits. Creation time is also added by this patch. These extended fields will fit into an inode if the filesystem was formatted with large inodes (-I 256 or larger) and there are currently no EAs consuming all of the available space. For new inodes we always reserve enough space for the kernel's known extended fields, but for inodes created with an old kernel this might not have been the case. So this patch also adds the EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature flag(ro-compat so that older kernels can't create inodes with a smaller extra_isize). which indicates if the fields fitting inside s_min_extra_isize are available or not. If the expansion of inodes if unsuccessful then this feature will be disabled. This feature is only enabled if requested by the sysadmin. None of the extended inode fields is critical for correct filesystem operation. Signed-off-by: Andreas Dilger Signed-off-by: Kalpak Shah Signed-off-by: Eric Sandeen Signed-off-by: Dave Kleikamp Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 0f49d5d019afa4e94253bfc92f0daca3badb990b Author: Jose R. Santos Date: Wed Jul 18 08:50:18 2007 -0400 jbd2: Move jbd2-debug file to debugfs The jbd2-debug file used to be located in /proc/sys/fs/jbd2-debug, but it incorrectly used create_proc_entry() instead of the sysctl routines, and no proc entry was ever created. Instead of fixing this we might as well move the jbd2-debug file to debugfs which would be the preferred location for this kind of tunable. The new location is now /sys/kernel/debug/jbd2/jbd2-debug. Signed-off-by: Jose R. Santos Signed-off-by: "Theodore Ts'o" commit e23291b9120c11aafb2ee76fb71a062eb3c1056c Author: Jose R. Santos Date: Wed Jul 18 08:57:06 2007 -0400 jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG When the JBD code was forked to create the new JBD2 code base, the references to CONFIG_JBD_DEBUG where never changed to CONFIG_JBD2_DEBUG. This patch fixes that. Signed-off-by: Jose R. Santos Signed-off-by: "Theodore Ts'o" commit eb40a09c679d7f9709f7087add57f2e1c7122bb3 Author: Jose R. Santos Date: Wed Jul 18 08:37:25 2007 -0400 ext4: Set the journal JBD2_FEATURE_INCOMPAT_64BIT on large devices Set the journals JBD2_FEATURE_INCOMPAT_64BIT on devices with more than 32bit block sizes during mount time. This ensure proper record lenth when writing to the journal. Signed-off-by: Jose R. Santos Signed-off-by: Andreas Dilger Signed-off-by: Mingming Cao Signed-off-by: Laurent Vivier Signed-off-by: "Theodore Ts'o" commit c29c0ae7f282828da3695167ed870131798348d9 Author: Alex Tomas Date: Wed Jul 18 09:19:09 2007 -0400 ext4: Make extents code sanely handle on-disk corruption Add more run-time checking of extent header fields and remove BUG_ON checks so we don't panic the kernel just because the on-disk filesystem is corrupted. Signed-off-by: Alex Tomas Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit ff9ddf7e847c4dc533f119efb6c77a6e57ab6397 Author: Jan Kara Date: Wed Jul 18 09:24:20 2007 -0400 ext4: copy i_flags to inode flags on write Propagate flags such as S_APPEND, S_IMMUTABLE, etc. from i_flags into ext4-specific i_flags. Quota code changes these flags on quota files (to make it harder for sysadmin to screw himself) and these changes were not correctly propagated into the filesystem. (This is a forward port patch from ext3) Signed-off-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 1e2462f93e011f63fd0f1fedd2c05338ca6b31c2 Author: Mingming Cao Date: Wed Jul 18 09:00:55 2007 -0400 ext4: Enable extents by default Turn on extents feature by default in ext4 filesystem, to get wider testing of extents feature in ext4dev. This can be disabled using -o noextents. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 749269facaf87f6e516c3af12763e03181b9c139 Author: Amit Arora Date: Wed Jul 18 09:02:56 2007 -0400 Change on-disk format to support 2^15 uninitialized extents This change was suggested by Andreas Dilger. This patch changes the EXT_MAX_LEN value and extent code which marks/checks uninitialized extents. With this change it will be possible to have initialized extents with 2^15 blocks (earlier the max blocks we could have was 2^15 - 1). This way we can have better extent-to-block alignment. Now, maximum number of blocks we can have in an initialized extent is 2^15 and in an uninitialized extent is 2^15 - 1. Signed-off-by: Amit Arora commit 3fd8f9e4b6c184d03d340bc86630f700de967fa8 Author: Cornelia Huck Date: Wed Jul 18 02:38:32 2007 -0700 [NETFILTER]: xt_connlimit needs to depend on nf_conntrack With NF_CONNTRACK=n, NETFILTER_XT_MATCH_CONNLIMIT=m I get the following errors on current git: CC [M] net/netfilter/xt_connlimit.o In file included from net/netfilter/xt_connlimit.c:27: include/net/netfilter/nf_conntrack.h:100: error: field 'ct_general' has incomplete type include/net/netfilter/nf_conntrack.h: In function 'nf_ct_get': include/net/netfilter/nf_conntrack.h:164: error: 'const struct sk_buff' has no member named 'nfct' include/net/netfilter/nf_conntrack.h: In function 'nf_ct_put': include/net/netfilter/nf_conntrack.h:171: warning: implicit declaration of function 'nf_conntrack_put' include/net/netfilter/nf_conntrack.h: In function 'nf_ct_is_untracked': include/net/netfilter/nf_conntrack.h:253: error: 'const struct sk_buff' has no member named 'nfct' In file included from net/netfilter/xt_connlimit.c:28: include/net/netfilter/nf_conntrack_core.h: In function 'nf_conntrack_confirm': include/net/netfilter/nf_conntrack_core.h:68: error: 'struct sk_buff' has no member named 'nfct' Adding a dependency in Kconfig fixes this. Signed-off-by: Cornelia Huck Signed-off-by: David S. Miller commit ebd61cc042b16e6cf2486aafbfff9e4be8c213ee Author: Adrian Bunk Date: Wed Jul 18 02:21:50 2007 -0700 [NETFILTER]: ipt_iprange.h must #include ipt_iprange.h must #include since it uses __be32. This patch fixes kernel Bugzilla #7604. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 75a69ac6d66d2504ecbc4b46645fb0835a55a57c Author: Samuel Ortiz Date: Wed Jul 18 02:16:30 2007 -0700 [IrDA]: Fix IrDA build failure When having built-in IrDA, we hit the following error: `irda_sysctl_unregister' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irda_proc_unregister' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irsock_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irttp_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `iriap_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irda_device_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irlap_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irlmp_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [_all] Error 2 This is due to the irda_init fix recently added, where we call __exit routines from an __init one. It is a build failure that I didn't catch because it doesn't show up when building IrDA as a module. My apologies for that. The following patch fixes that failure and is against your net-2.6 tree. I hope it can make it to the merge window, and stable@kernel.org is CCed on this mail. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 83ca46e7ac7b2883ae7d02503a01e8f1578afe4e Author: Stephen Rothwell Date: Wed Jul 18 02:13:42 2007 -0700 [ATM]: nicstar needs virt_to_bus Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 12972621c8a18465e3d20cc8e3006a8b7f7788df Author: Denis Cheng Date: Wed Jul 18 02:12:56 2007 -0700 [NET]: move __dev_addr_discard adjacent to dev_addr_discard for readability Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 26cc2522cb6ebf0c1c736485e102e9654cde1145 Author: Denis Cheng Date: Wed Jul 18 02:12:03 2007 -0700 [NET]: merge dev_unicast_discard and dev_mc_discard into one this two functions could share the dev->_xmit_lock acquired context. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 456ad75c89cdb72e11dcdb6b0794802a6f50c8a3 Author: Denis Cheng Date: Wed Jul 18 02:10:54 2007 -0700 [NET]: move dev_mc_discard from dev_mcast.c to dev.c Because this function is only called by unregister_netdevice, this moving could make this non-global function static, and also remove its declaration in netdevice.h; Any further, function __dev_addr_discard is also just called by dev_mc_discard and dev_unicast_discard, keeping this two functions both in one c file could make __dev_addr_discard also static and remove its declaration in netdevice.h; Futhermore, the sequential call to dev_unicast_discard and then dev_mc_discard in unregister_netdevice have a similar mechanism that: (netif_tx_lock_bh / __dev_addr_discard / netif_tx_unlock_bh), they should merged into one to eliminate duplicates in acquiring and releasing the dev->_xmit_lock, this would be done in my following patch. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit eb4965344965530411359891214cd6fcab483649 Author: Johannes Berg Date: Wed Jul 18 02:07:51 2007 -0700 [NETLINK]: negative groups in netlink_setsockopt Reading netlink_setsockopt it's not immediately clear why there isn't a bug when you pass in negative numbers, the reason being that the >= comparison is really unsigned although 'val' is signed because nlk->ngroups is unsigned. Make 'val' unsigned too. [ Update the get_user() cast to match. --DaveM ] Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit f77ae9390438409b535f3b1854672e54120cd38b Author: Patrick McHardy Date: Wed Jul 18 02:04:39 2007 -0700 [PPPOL2TP]: Reset meta-data in xmit function Reset netfilter data and IP CB, fix dst_entry leak. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7d4372b5ae2f891e8bfa96c98d450255f58b4dc1 Author: Patrick McHardy Date: Wed Jul 18 02:04:09 2007 -0700 [PPPOL2TP]: Fix use-after-free Don't use skb->len after passing it to ip_queue_xmit. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 99acaeb92fc2d52900f00b8e926d9ad81b6e93bb Author: Gabriel Craciunescu Date: Wed Jul 18 02:00:04 2007 -0700 [PKT_SCHED]: Some typo fixes in net/sched/Kconfig Signed-off-by: Gabriel Craciunescu Signed-off-by: David S. Miller commit bd0bf0765ea1fba80d7085e1f0375ec045631dc1 Author: Patrick McHardy Date: Wed Jul 18 01:55:52 2007 -0700 [XFRM]: Fix crash introduced by struct dst_entry reordering XFRM expects xfrm_dst->u.next to be same pointer as dst->next, which was broken by the dst_entry reordering in commit 1e19e02c~, causing an oops in xfrm_bundle_ok when walking the bundle upwards. Kill xfrm_dst->u.next and change the only user to use dst->next instead. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 16751347a060a10c09b11593bb179fd5b0240c04 Author: Stephen Hemminger Date: Mon Jul 16 18:35:52 2007 -0700 [TCP]: remove unused argument to cong_avoid op None of the existing TCP congestion controls use the rtt value pased in the ca_ops->cong_avoid interface. Which is lucky because seq_rtt could have been -1 when handling a duplicate ack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 44beac008631d1b8a52f103e04eacba2bda81511 Author: Robert P. J. Day Date: Mon Jul 16 18:35:07 2007 -0700 [ATM]: [idt77252] Rename CONFIG_ATM_IDT77252_SEND_IDLE to not resemble a Kconfig variable Signed-off-by: Robert P. J. Day Signed-off-by: chas williams Signed-off-by: David S. Miller commit 78e4be16e0563bb6bf25c178d1eb2f5f6f622eb2 Author: Amol Lad Date: Mon Jul 16 18:34:36 2007 -0700 [ATM]: [drivers] ioremap balanced with iounmap Signed-off-by: Amol Lad Signed-off-by: chas williams Signed-off-by: David S. Miller commit de24a193124e40fc4f23160336982de1565d51fc Author: Adrian Bunk Date: Mon Jul 16 18:34:04 2007 -0700 [ATM]: [lanai] sram_test_word() must be __devinit Signed-off-by: Adrian Bunk Signed-off-by: chas williams Signed-off-by: David S. Miller commit 2db84a8699db45c1c62dccdad61323eab56c111e Author: Robert P. J. Day Date: Mon Jul 16 18:31:51 2007 -0700 [ATM]: [nicstar] Replace C code with call to ARRAY_SIZE() macro. Signed-off-by: Robert P. J. Day Signed-off-by: chas williams Signed-off-by: David S. Miller commit b5492c4ed7a3fbbfa1a62db54e4934fd0b6a45ac Author: Robert P. J. Day Date: Mon Jul 16 18:31:24 2007 -0700 [ATM]: Eliminate dead config variable CONFIG_BR2684_FAST_TRANS. Signed-off-by: chas williams Signed-off-by: David S. Miller commit 782f7956891c95e54c5b008b24ebf9e82fd84796 Author: vignesh babu Date: Mon Jul 16 18:30:36 2007 -0700 [ATM]: Replacing kmalloc/memset combination with kzalloc. Signed-off-by: vignesh babu Signed-off-by: chas williams Signed-off-by: David S. Miller commit 0929c2dd83317813425b937fbc0041013b8685ff Author: Ranko Zivojnovic Date: Mon Jul 16 18:28:32 2007 -0700 [NET]: gen_estimator deadlock fix -Fixes ABBA deadlock noted by Patrick McHardy : > There is at least one ABBA deadlock, est_timer() does: > read_lock(&est_lock) > spin_lock(e->stats_lock) (which is dev->queue_lock) > > and qdisc_destroy calls htb_destroy under dev->queue_lock, which > calls htb_destroy_class, then gen_kill_estimator and this > write_locks est_lock. To fix the ABBA deadlock the rate estimators are now kept on an rcu list. -The est_lock changes the use from protecting the list to protecting the update to the 'bstat' pointer in order to avoid NULL dereferencing. -The 'interval' member of the gen_estimator structure removed as it is not needed. Signed-off-by: Ranko Zivojnovic Signed-off-by: David S. Miller commit dd121c4bbf60336773485e91b5cfc57596b45151 Author: Michael Chan Date: Mon Jul 16 18:27:32 2007 -0700 [BNX2]: Update version to 1.6.3. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7ea6920ee9480118e2bd2d712d667820703f55cd Author: Michael Chan Date: Mon Jul 16 18:27:10 2007 -0700 [BNX2]: Use constants for stats ticks. Change all stats related magic numbers to constants. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c2d3db8c7cbb94e77461627085b85d74dc64d716 Author: Michael Chan Date: Mon Jul 16 18:26:43 2007 -0700 [BNX2]: Add delay before reading firmware version. The management firmware may still be loading during bnx2_init_one() because of the D3hot -> D0 transition and the firmware version may not be available without waiting a bit. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e30372c91273bb5777597362c74e63f96d9cd434 Author: Michael Chan Date: Mon Jul 16 18:26:23 2007 -0700 [BNX2]: Support NVRAM on 5709. The NVRAM interface is slightly modified on the 5709. To properly support it, we need to change the buffered flag in the flash data structure into multiple flags to indicate buffered operation, address translation, and the use of write enable (WREN). The 5709 flash only requires the buffered operation bit to be set. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a5f8967e171a6fa27da8e6d06d3ef85f7fed43c1 Author: David S. Miller Date: Wed Jul 18 00:33:23 2007 -0700 [SPARC64]: Set vio->desc_buf to NULL after freeing. Otherwise we trigger assertions on the next link-up. Signed-off-by: David S. Miller commit 0785b9dcdc3d93e67529e4bd819a427776d3a07e Author: Stephen Rothwell Date: Wed Jul 18 00:09:30 2007 -0700 [SPARC]: Mark sparc and sparc64 as not having virt_to_bus Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit d762acdbd3b2bd9a714ace47d7b0c76133d7b295 Author: David S. Miller Date: Wed Jul 18 00:07:39 2007 -0700 [SPARC64]: Fix reset handling in VNET driver. In vnet_event(), if the channel was reset, try to get the link going again by invoking vio_port_up() after dropping the lock. Signed-off-by: David S. Miller commit a4cd184503f448dda346d2338aa61cb560cc1b14 Author: David S. Miller Date: Wed Jul 18 00:06:22 2007 -0700 [SPARC64]: Handle reset events in vio_link_state_change(). Signed-off-by: David S. Miller commit 8a2950cce6c8fa29bcbf6a3b33a63e0e68337f0e Author: David S. Miller Date: Tue Jul 17 23:12:20 2007 -0700 [SPARC64]: Handle LDC resets properly in domain-services driver. Reset the handshake and per-capability state so that when the link comes back up we'll renegotiate the DS version and then reregister all of the services. Signed-off-by: David S. Miller commit 6160f63518406485c7009cb0f2e1588ea3abccc1 Author: David S. Miller Date: Tue Jul 17 23:03:47 2007 -0700 [SPARC64]: Massively simplify VIO device layer and support hot add/remove. Create and destroy VIO devices in response to MD update events. These run synchronously inside of the MD update mutex so the VIO layer doesn't need to do internal locking of any sort. Signed-off-by: David S. Miller commit 9184a046328d2dfc9f2cf0f831e649a108492124 Author: David S. Miller Date: Tue Jul 17 22:19:10 2007 -0700 [SPARC64]: Simplify VNET probing. Only probe on the vdc-port VIO devices, create parent vnet objects on-demand. Signed-off-by: David S. Miller commit 80dc35dfb98d2fbf3af0b829e3bf6e6a0f631cda Author: David S. Miller Date: Tue Jul 17 21:46:00 2007 -0700 [SPARC64]: Simplify VDC device probing. We just need to match on the vdc-port nodes, the parent is really not interesting at all. Signed-off-by: David S. Miller commit 920c3ed741340a88f2042ab0c44a25b8c743a379 Author: David S. Miller Date: Tue Jul 17 21:37:35 2007 -0700 [SPARC64]: Add basic infrastructure for MD add/remove notification. And add dummy handlers for the VIO device layer. These will be filled in with real code after the vdc, vnet, and ds drivers are reworked to have simpler dependencies on the VIO device tree. Signed-off-by: David S. Miller commit 5517853712f1f6daac8a7b2590f9b821e767aa13 Author: Dmitry Torokhov Date: Wed Jul 18 00:38:45 2007 -0400 Input: document intended meaning of KEY_SWITCHVIDEOMODE Signed-off-by: Dmitry Torokhov commit ad5d972cdad41ab4d6bfb95f656e508707447c95 Author: Pavel Emelianov Date: Wed Jul 18 00:38:32 2007 -0400 Input: switch to using seq_list_xxx helpers This is essentially just a renaming of the existing functions as copies of seq_list_start() and seq_list_next() already existed in the input.c. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 080c652d6d68e5524de800b32f0701f9c6834f23 Author: Dmitry Torokhov Date: Wed Jul 18 00:38:01 2007 -0400 Input: i8042 - give more trust to PNP data on i386 On some boxes that don't have PS/2 mice connected at startup BIOS completely disables AUX port and attempts to access it result in hosed keyboard. Historically we do not trust ACPI/PNP data on i386 and try to poke AUX port even if we did not find an active PNP node for it. However in cases when BIOS writers got KBD port properly described we can assume that they did the right thing for AUX port as well. Signed-off-by: Dmitry Torokhov commit 85f202d5df877f8adcda342b74ab11fbdfea753d Author: Dmitry Torokhov Date: Wed Jul 18 00:37:01 2007 -0400 Input: add driver for Fujitsu serial touchscreens These serial touchscreens are found on some Fujitsu lifebook P-series laptops, and the B6210. Using this requires a new version of inputattach and doing: inputattach -fjt /dev/ttyS0 Big thanks to Stephen Hemminger for testing it and making it work on his B6210 laptop. Signed-off-by: Stephen Hemminger Signed-off-by: Dmitry Torokhov commit 1d25891f3241103d14ea78236504474a138b8ada Author: Semih Hazar Date: Wed Jul 18 00:36:04 2007 -0400 Input: ads7846 - re-check pendown status before reporting events Pendown status from the PENIRQ pin is currently read only at the beginning of a sample set. If the pen is lifted just after sampling has began then sampled values become wrong. This patch adds an optional platform penirq_recheck_delay attribute. If non-zero, samples are only reported to the input subsystem if PENIRQ is still active that long after the samples taken. Signed-off-by: Semih Hazar Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit e4f48861993294c27849076741eb0c090482560b Author: Semih Hazar Date: Wed Jul 18 00:35:56 2007 -0400 Input: ads7846 - introduce sample settling delay The ads7846 driver has support for filtering, but when the chip gets deselected between samples this causes noise. This patch adds support for an optional settling delay time, so that two consecutive samples will be taken with the specified delay time apart. This ensures that the chip won't be deselected, so the noise won't appear. Filtering can still be done, but will have less work to do since each time a new sample is taken the same delay applies. Signed-off-by: Semih Hazar Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit 4994cd8dadcf9d484ab3ec19f3c7c7a4e5353c1c Author: Jan Kratochvil Date: Wed Jul 18 00:35:40 2007 -0400 Input: xpad - add support for leds on xbox 360 pad Export LEDs on Xbox360 pad via led subsystem as a single device in /sys/class/leds/xpad[0-9]+. Xbox360 pad has four leds, which form a circle. Unfortunately the leds can't be controlled independently and can only display a predefined set of patterns (for example one is turned on wile others are off or a rotating pattern - 1-2-3-4). To activate a pattern one needs to send a specific command to the device (see http://www.free60.org/wiki/Gamepad). Led subsystem allows us to set brightness, but there is nothing like brightness on this device. So brightness is actually interpreted as the command (only values between 0 and 14 are accepted). Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 7f5eb9bb8c7fb3bd411674b856872d7ab4a7b1a3 Author: Roland Dreier Date: Tue Jul 17 20:59:02 2007 -0700 IB/mlx4: Return receive queue sizes for userspace QPs from query QP Return the receive queue sizes for both userspace QPs and kernel Qps (not just kernel QPs) from mlx4_ib_query_qp(). Also zero the send queue sizes for userspace QPs to avoid a possible information leak, and set the max_inline_data for kernel QPs to 0 since inline sends are not supported for kernel QPs. Signed-off-by: Roland Dreier commit c9f2ba5ed26a204a78bf23aa08a4f528f11a18f4 Author: Jack Morgenstein Date: Tue Jul 17 13:11:43 2007 +0300 IB/mlx4: Increase max outstanding RDMA reads as target Change the maximum number of outstanding RDMA reads allowed as a target from 4 to 16 to per QP. This allows RDMA read operations to pipeline better. Pointed out by Dotan Barak and Sagi Rotem. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 8f076531cd20fbf83ed889024c8133d0c71a1fe4 Author: Dotan Barak Date: Tue Jul 17 17:58:57 2007 +0300 RDMA/cma: Remove local write permission from QP access flags Local write permission makes no sense as part of the QP access flags, since the access flags only control what the remote end of the connection is allowed to do. Remove the code in the RDMA CM that initializes qp_access_flags with IB_ACCESS_LOCAL_WRITE. Signed-off-by: Dotan Barak Acked-by: Sean Hefty Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 6d7d080e9f7cd535a8821efd3835c5cfa5223ab6 Author: Roland Dreier Date: Tue Jul 17 19:30:51 2007 -0700 IB/mthca: Use uninitialized_var() for f0 Commit 9db48926 ("drivers/infiniband/hw/mthca/mthca_qp: kill uninit'd var warning") added "= 0" to the declarations of f0 to shut up gcc warnings. However, there's no point in making the code bigger by initializing f0 to a random value just to get rid of a warning; setting f0 to 0 is no safer than just using uninitialized_var(), which documents the situation better and gives smaller code too. For example, on x86_64: add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-16 (-16) function old new delta mthca_tavor_post_send 1352 1344 -8 mthca_arbel_post_send 1489 1481 -8 Signed-off-by: Roland Dreier commit 25343469e77bd6f5694bb6b641a8ea1bd2173782 Author: Daniel Drake Date: Sat Jul 14 01:40:54 2007 +0100 [PATCH] zd1211rw: Add ID for Siemens Gigaset USB Stick 54 Tested by David Santinoli zd1211b chip 129b:1667 v4810 high 00-01-e3 AL2230S_RF pa0 ---N- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 6eb07250626c1b51801c2ef9210dc2f321112018 Author: Masakazu Mokuno Date: Sat Jul 14 01:40:11 2007 +0100 [PATCH] zd1211rw: Add ID for Planex GW-US54GXS This patch adds the ID for Planex GW-US54GXS USB wireless adapter sold in Japan. Since this device returns the regulatory region as 0x49, the patch 'Allow channels 1-11 for unrecognised regulatory domains' is required. Tested by Masakazu Mokuno zd1211b chip 2019:5303 v4810 high 00-90-cc AL2230_RF pa0 ---N- Signed-off-by: Masakazu Mokuno Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit ee2c4add43a3977ccb0263bdb460ed63a1b03c02 Author: Zhu Yi Date: Thu Jul 12 16:09:47 2007 +0800 [PATCH] Update version ipw2200 stamp to 1.2.2 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d00d012134864ed48a4f21898c043c262a0c1a31 Author: Zhu Yi Date: Thu Jul 12 16:09:40 2007 +0800 [PATCH] ipw2200: Fix ipw_isr() comments error on shared IRQ Signed-off-by: Tom De Man Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4e157f08a01f6395a43d10630fb3a629d90a02bc Author: Zhu Yi Date: Thu Jul 12 16:09:32 2007 +0800 [PATCH] Fix ipw2200 set wrong power parameter causing firmware error The power mode can only be set 0~5 to firmware. Otherwise there will be a firmware error generated. This patch fixed the invalid power mode requested by driver. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9f3b2416fec56de34408eafbef19bf8ec9a81493 Author: Zhu Yi Date: Thu Jul 12 16:09:24 2007 +0800 [PATCH] ipw2100: Fix `iwpriv set_power` error iwpriv set_power [0~6] can be used for ipw2100. '0' indicates off and '6' indicates auto. 1~5 are the actual power levels. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 90869b249b4621d60920d5d1d53403fe86d8ecb5 Author: Jean Tourrilhes Date: Tue Jul 10 15:51:14 2007 -0500 [PATCH] softmac: Channel is listed twice in scan output SoftMAC outputs the channel twice in the scan output. It should display frequency and channel, but only once for each. Signed-off-by: Jean Tourrilhes Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 8b8857a3bb93a94230fd205be784b01fa1932c47 Author: Johannes Berg Date: Fri Jun 22 00:16:14 2007 +0200 [PATCH] mac80211: regdomain.c needs to include ieee80211_i.h Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fd8bacc98027aa077ffbf2ecb0c3e930325b01a4 Author: Daniel Drake Date: Sat Jun 9 19:07:14 2007 +0100 [PATCH] mac80211: regulatory domain cleanup Currently, a function misnamed ieee80211_init_client() is used to handle regulatory domain control. It is called from ieee80211_register_hwmode(), which typically runs 2 or 3 times (802.11a/b/g), but each time it iterates over all the modes. This patch cleans this up and removes the confusion: ieee80211_init_client was effectively renamed to ieee80211_set_default_regdomain and is now run on a per-mode basis (doesn't have to deal with netdevs). I also moved the regdomain handling code into its own file and added some documentation. Signed-off-by: Daniel Drake Acked-by: Jiri Benc Signed-off-by: John W. Linville commit 7c8081eb8f20aa83deb5f1e95adc8a98902555a9 Author: Johannes Berg Date: Thu Jun 21 18:30:19 2007 +0200 [PATCH] mac80211: use debugfs_rename Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 56055d3ae4cc7fa6d2b10885f20269de8a989ed7 Author: Amit Arora Date: Tue Jul 17 21:42:38 2007 -0400 write support for preallocated blocks This patch adds write support to the uninitialized extents that get created when a preallocation is done using fallocate(). It takes care of splitting the extents into multiple (upto three) extents and merging the new split extents with neighbouring ones, if possible. Signed-off-by: Amit Arora commit a2df2a63407803a833f82e1fa6693826c8c9d584 Author: Amit Arora Date: Tue Jul 17 21:42:41 2007 -0400 fallocate support in ext4 This patch implements ->fallocate() inode operation in ext4. With this patch users of ext4 file systems will be able to use fallocate() system call for persistent preallocation. Current implementation only supports preallocation for regular files (directories not supported as of date) with extent maps. This patch does not support block-mapped files currently. Only FALLOC_ALLOCATE and FALLOC_RESV_SPACE modes are being supported as of now. Signed-off-by: Amit Arora commit 97ac73506c0ba93f30239bb57b4cfc5d73e68a62 Author: Amit Arora Date: Tue Jul 17 21:42:44 2007 -0400 sys_fallocate() implementation on i386, x86_64 and powerpc fallocate() is a new system call being proposed here which will allow applications to preallocate space to any file(s) in a file system. Each file system implementation that wants to use this feature will need to support an inode operation called ->fallocate(). Applications can use this feature to avoid fragmentation to certain level and thus get faster access speed. With preallocation, applications also get a guarantee of space for particular file(s) - even if later the the system becomes full. Currently, glibc provides an interface called posix_fallocate() which can be used for similar cause. Though this has the advantage of working on all file systems, but it is quite slow (since it writes zeroes to each block that has to be preallocated). Without a doubt, file systems can do this more efficiently within the kernel, by implementing the proposed fallocate() system call. It is expected that posix_fallocate() will be modified to call this new system call first and incase the kernel/filesystem does not implement it, it should fall back to the current implementation of writing zeroes to the new blocks. ToDos: 1. Implementation on other architectures (other than i386, x86_64, and ppc). Patches for s390(x) and ia64 are already available from previous posts, but it was decided that they should be added later once fallocate is in the mainline. Hence not including those patches in this take. 2. Changes to glibc, a) to support fallocate() system call b) to make posix_fallocate() and posix_fallocate64() call fallocate() Signed-off-by: Amit Arora commit 454a01e7f486279b0bf8979d94203ab7a503e053 Author: Roland Dreier Date: Tue Jul 17 18:37:43 2007 -0700 IB/cm: Make internal function cm_get_ack_delay() static Signed-off-by: Roland Dreier commit 1743b91710053d00e05632d63de7c457c649042f Author: Roland Dreier Date: Tue Jul 17 18:37:43 2007 -0700 IB/ipath: Remove ipath_get_user_pages_nocopy() It has no callers and is completely dead code. Signed-off-by: Roland Dreier commit da9aec7b627c0369b955f82e855508c6711929ac Author: Roland Dreier Date: Tue Jul 17 18:37:43 2007 -0700 IB/ipath: Make a few functions static Make some functions that are only used in a single .c file static. In addition to being a cleanup, this shrinks the generated code. On x86_64: add/remove: 1/3 grow/shrink: 2/1 up/down: 4777/-4956 (-179) function old new delta handle_errors - 3994 +3994 __verbs_timer 42 710 +668 ipath_do_ruc_send 2131 2246 +115 ipath_no_bufs_available 136 - -136 ipath_disarm_senderrbufs 639 - -639 ipath_ib_timer 658 - -658 ipath_intr 5878 2355 -3523 Signed-off-by: Roland Dreier commit ee49bd9397cd2b8fe7a1962505d81c1d0a1366fc Author: Jack Morgenstein Date: Thu Jul 12 17:50:45 2007 +0300 mlx4_core: Reset device when internal error is detected Reset the device when an internal error is detected. Also, detect errors by polling the error buffer rather than using interrupts. This is more robust and doesn't depend on MSI-X. Remove the old interrupt handler entirely, since we don't want to support two mechanisms for detecting internal errors. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 41179e2de6962b46d1d9f2b4437243ac740efdec Author: Roland Dreier Date: Tue Jul 17 18:37:42 2007 -0700 IB/iser: Make a couple of functions static Make iser_conn_release() and iser_start_rdma_unaligned_sg() static, since they are only used in the .c file where they are defined. In addition to being a cleanup, this even shrinks the generated code by allowing the single call of iser_start_rdma_unaligned_sg() to be inlined into its callsite. On x86_64: add/remove: 0/1 grow/shrink: 1/0 up/down: 466/-533 (-67) function old new delta iser_reg_rdma_mem 1518 1984 +466 iser_start_rdma_unaligned_sg 533 - -533 Signed-off-by: Roland Dreier commit e4daf738683d9e87caf12f4249268d3c9ed2e00f Author: Roland Dreier Date: Tue Jul 17 18:37:42 2007 -0700 IB/mthca: Fix printk format used for firmware version in warning When warning about out-of-date firmware, current mthca code messes up the formatting of the version if the subminor doesn't have three digits. It doesn't fill the field with 0s so we end up with: ib_mthca 0000:0b:00.0: HCA FW version 1.1. 0 is old (1.2. 0 is current). Change the format from "%3d" to "%03d" to get the right thing printed. Signed-off-by: Roland Dreier commit f6be6fbe262d065e85be159ea27460852f13ec90 Author: Roland Dreier Date: Tue Jul 17 18:37:41 2007 -0700 IB/mthca: Schedule MSI support for removal The mthca driver supports both MSI and MSI-X. However, MSI-X works with all hardware that the driver handles, and provides a superset of what MSI does, so there's no point in having code for both. Schedule MSI support for removal in 2008 to give anyone who actually needs MSI and who can't use MSI time to speak up. Signed-off-by: Roland Dreier commit 2b94397adc68c2f0f851539884cc426e03444a26 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:53:47 2007 +0200 IB/ehca: Fix warnings issued by checkpatch.pl Run the existing ehca code through checkpatch.pl and clean up the worst of the coding style violations. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 187c72e31f92791ec70395b80aa9883f2edad97f Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:53:11 2007 +0200 IB/ehca: Restructure ehca_set_pagebuf() Split ehca_set_pagebuf() into three functions depending on MR type (phys/user/fast) and remove superfluous ehca_set_pagebuf_1(). Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit df17bfd4a030f7d986de14210f4b21876a7a2989 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:52:29 2007 +0200 IB/ehca: MR/MW structure refactoring - Rename struct ehca_mr fields to clearly distinguish between kernel and HW page size. - Sort struct ehca_mr_pginfo into a common part and a union containing specific fields for physical, user and fast MR Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 2492398e616451788bc7c7905cadb8734b082bc7 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:51:43 2007 +0200 IB/ehca: Use macro to calculate number of chunks in a mem block Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 4e4e74cae73325c9f8513fae3a5bd9f79458f4a7 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:51:04 2007 +0200 IB/ehca: Use #define for "pages per register_rpage" instead of hardcoded value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a1a6ff11006c3a056cda9e8b13e7388fba3e69a1 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:49:02 2007 +0200 IB/ehca: Use common error code mapping instead of specific ones Instead of one error mapping function for each potential error source in ehca_mrmw.c, use a centralized function that handles all cases, saving a three-figure line count. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 3df78f81e070c0e3330ae1bd40385e2f0d6fea2c Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:48:22 2007 +0200 IB/ehca: Fix memory leak in error path of ehca_get_dma_mr() Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit fbb9318be4b6eba36482e1275729c5c3dfdf8156 Author: Joachim Fenkes Date: Thu Jul 12 17:47:45 2007 +0200 IB/ehca: Fix HW level autodetection Autodetection was missing a few HW revisions, causing certain eHCA1 revisions to be treated like eHCA2. Fixed. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 8fcea95a2a15444d5cc4bee174bb12233aa0a2aa Author: Dotan Barak Date: Sun Jul 15 15:00:09 2007 +0300 IB/mlx4: Take sizeof the correct pointer in call to memset() When clearing the ib_ah_attr parameter in to_ib_ah_attr(), use sizeof *ib_ah_attr instead of sizeof *path. This is the same bug as was fixed for mthca in 99d4f22e ("IB/mthca: Use correct structure size in call to memset()"), but the code was cut and pasted into mlx4 before the fix was merged. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 1c27cb71aa7d86df0271caadfcc196a0518f5e33 Author: Jack Morgenstein Date: Tue Jul 17 18:37:38 2007 -0700 IB/mlx4: Fix port returned from query QP for QPs in INIT state When a QP is in the INIT state, the sched_queue field hasn't been given to the firmware yet, so the firmware cannot return the value when the QP is queried. To handle this, use the port number that is saved in the driver's QP data structure. Found by Dotan Barak and Yaron Gepstein of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 586bb586ae59c473393c09291e86042d263c3ddd Author: Jack Morgenstein Date: Tue Jul 17 18:37:38 2007 -0700 IB/mlx4: Fix flow label returned from query QP Correct the mask used to get the flow label, since the field is 20 bits, not 24 bits. Found by Dotan Barak and Yaron Gepstein of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 1b07db7079103961de64f75761639435e9082504 Author: Steve Wise Date: Wed Jul 11 13:04:35 2007 -0500 RDMA/cxgb3: Remove cm_id reference on listen failures Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit cb32da0416b823b7f4b65e7e85d6cba16ca4d1e1 Author: Paul Mundt Date: Wed Jul 18 09:18:36 2007 +0900 slob: Kill off duplicate kzalloc() definition. With the slab zeroing allocations cleanups Christoph stubbed in a generic kzalloc(), which was missed on SLOB. Follow the SLAB/SLUB changes and kill off the __kzalloc() wrapper that SLOB was using. Reported-by: Jan Engelhardt Signed-off-by: Paul Mundt Signed-off-by: Linus Torvalds commit 1985026d32e69ed6dac3ba0ef8ff10366f060ed3 Author: Linus Torvalds Date: Tue Jul 17 15:57:42 2007 -0700 Revert drivers/ide/ide.c scsi_cmd_ioctl() usage changes The old IDE driver is not ready to take generic SCSI commands, even if it uses them for some specific issues (ie the tray open/close ioctls for IDE CD-ROM's). Pointed out by Bartlomiej. I'm sure we'll have it fixed properly soon enough, but for now we should not allow it to cause problems. Cc: Bartlomiej Zolnierkiewicz Cc: Jens Axboe Signed-off-by: Linus Torvalds commit 8b0d4164b4ac151050953d78c97fcceade69eb3c Author: Linus Torvalds Date: Tue Jul 17 15:43:56 2007 -0700 Make the "z/VM unit record device driver" depend on S390 I really don't see anybody else wanting to select it ;) Signed-off-by: Linus Torvalds commit 8dfd588c3180b7403c402b4545164ee4543f8f86 Author: Al Viro Date: Tue Jul 17 22:29:46 2007 +0100 smp_call_function_single() should be a macro on UP ... or we end up with header include order problems from hell. E.g. on m68k this is 100% fatal - local_irq_enable() there wants preempt_count(), which wants task_struct fields, which we won't have when we are in smp.h pulled from sched.h. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 62715ec832c7229b677415901e98799124efb023 Author: Oleg Nesterov Date: Tue Jul 17 14:37:54 2007 -0700 [SPARC64]: Kill bogus set_fs(KERNEL_DS) in do_rt_sigreturn(). From: Oleg Nesterov Signed-off-by: David S. Miller commit 98fc4839aa00a02da83625e9fedad7a348c0af91 Author: Jeff Garzik Date: Sun Jul 15 21:48:07 2007 -0400 [ISDN] HiSax hfc_pci: minor cleanups * trim trailing whitespace * remove CONFIG_PCI ifdefs, this driver is always PCI (Kconfig enforced) * remove return statements at the tail of a function * remove indentation levels by returning an error code immediately. Makes the code much more readable, and easier to update to PCI hotplug API. Signed-off-by: Jeff Garzik commit d825a49259a272d2451f0bfb0f789534377ac478 Author: Jeff Garzik Date: Sun Jul 15 19:58:24 2007 -0400 [ISDN] HiSax bkm_a4t: split setup into two smaller functions No behavior changes, just code movement. Prep for PCI hotplug API. Well, CONFIG_PCI useless ifdef was removed. Signed-off-by: Jeff Garzik commit a2b66515a7a2df5cbe4627bd355a1f9a73246bdc Author: Jeff Garzik Date: Sun Jul 15 19:25:45 2007 -0400 [ISDN] HiSax enternow: split setup into 3 smaller functions No behavior changes, just code movement. Prep for PCI hotplug API. Signed-off-by: Jeff Garzik commit 7c60e1caa5ddaf7605a8baa91a7d5b6f9c324385 Author: Jeff Garzik Date: Sun Jul 15 16:59:01 2007 -0400 [ISDN] HiSax netjet_u: split setup into 3 smaller functions No behavior changes, just code movement. Prep for PCI hotplug API. Signed-off-by: Jeff Garzik commit 0566a66382ce82310c2bc98fb3560419e9f4349f Author: Jeff Garzik Date: Sun Jul 15 04:25:35 2007 -0400 [ISDN] HiSax netjet_s: code movement, prep for hotplug 1) Remove CONFIG_PCI ifdefs. PCI is required in Kconfig. 2) Break up setup_netjet_s() into three separate internal functions. This helps facilitate upcoming use of PCI hotplug API, and in addition makes the code much easier to follow. No code is changed, just moved around. I even kept the out-of-favor "return(0)" style used in the current source code. Signed-off-by: Jeff Garzik commit 881ebdc9f4fb6466a6198ef7943b8637e0a48232 Author: Jeff Garzik Date: Tue Jul 17 17:14:23 2007 -0400 [ISDN] HiSax: move card state alloc/setup code into separate functions Just code movement. No code changes or cleanups besides that which is required to call the new functions from the old code site. Signed-off-by: Jeff Garzik commit 82bcda95969dc9852f5cc64001c078ec7d3d95ef Author: Jeff Garzik Date: Sat Jul 14 21:58:34 2007 -0400 [ISDN] HiSax: move card setup into separate function No behavior changes, just code movement. Signed-off-by: Jeff Garzik commit 44052e0d91757ecac4a2f659ea3e1a658dd6057e Author: Frank Lichtenheld Date: Tue Jul 17 19:50:53 2007 +0200 mixart: Add missing vmalloc.h include Fixes the following build error: CC sound/pci/mixart/mixart_hwdep.o sound/pci/mixart/mixart_hwdep.c: In function ‘mixart_hwdep_dsp_load’: sound/pci/mixart/mixart_hwdep.c:610: error: implicit declaration of function ‘vmalloc’ sound/pci/mixart/mixart_hwdep.c:617: error: implicit declaration of function ‘vfree’ Signed-off-by: Frank Lichtenheld Signed-off-by: Linus Torvalds commit bec85e8031f7d390643df27e74f8bc9715bb8224 Author: Frank Lichtenheld Date: Tue Jul 17 19:30:38 2007 +0200 hppb: Add missing dma-mapping.h include This fixes the following build-error: CC drivers/parisc/hppb.o drivers/parisc/hppb.c: In function ‘hppb_probe’: drivers/parisc/hppb.c:73: error: implicit declaration of function ‘ccio_request_resource’ Signed-off-by: Frank Lichtenheld Signed-off-by: Linus Torvalds commit 8e1c091cccd551557d24ce845715e8ceb6c49d36 Author: Jeff Garzik Date: Tue Jul 17 05:40:59 2007 -0400 arch/i386/* fs/* ipc/*: mark variables with uninitialized_var() Mark variables with uninitialized_var() if such a warning appears, and analysis proves that the var is initialized properly on all paths it is used. Signed-off-by: Jeff Garzik commit a6343afb6e16b65b9f0b264f94f8207212e7e3ae Author: Jeff Garzik Date: Tue Jul 17 05:39:58 2007 -0400 drivers/*: mark variables with uninitialized_var() Mark variables in drivers/* with uninitialized_var() if such a warning appears, and analysis proves that the var is initialized properly on all paths it is used. Signed-off-by: Jeff Garzik commit b1734d2388cc45ecdec58615e35955d0d402f938 Author: Jeff Garzik Date: Tue Jul 17 02:32:21 2007 -0400 drivers/atm/ambassador: kill uninit'd var warning, and fix bug An uninitialized variable warning illuminated an area where indeed the variable was being used without initialization. Unfortunately, after verifying all such paths were fixed, the warning still appears. So we follow the initialization practice of other variables in this function. Signed-off-by: Jeff Garzik commit ea8b4db97aa41a66c05daa4055a1974692ccd52d Author: Jeff Garzik Date: Tue Jul 17 02:21:50 2007 -0400 [libata] sata_mv: use pci_try_set_mwi() Because sometimes in life, it's ok to fail. Signed-off-by: Jeff Garzik commit 9db48926208562df3c778682e064990170ab8971 Author: Jeff Garzik Date: Tue Jul 17 02:03:49 2007 -0400 drivers/infiniband/hw/mthca/mthca_qp: kill uninit'd var warning drivers/infiniband/hw/mthca/mthca_qp.c: In function ‘mthca_tavor_post_send’: drivers/infiniband/hw/mthca/mthca_qp.c:1594: warning: ‘f0’ may be used uninitialized in this function drivers/infiniband/hw/mthca/mthca_qp.c: In function ‘mthca_arbel_post_send’: drivers/infiniband/hw/mthca/mthca_qp.c:1949: warning: ‘f0’ may be used uninitialized in this function Initializing 'f0' is not strictly necessary in either case, AFAICS. I was considering use of uninitialized_var(), but looking at the complex flow of control in each function, I feel it is wiser and safer to simply zero the var and be certain of ourselves. Signed-off-by: Jeff Garzik commit e5fb4f42268654ca41ab50b1406fb7da97559db5 Author: Jeff Garzik Date: Tue Jul 17 01:56:32 2007 -0400 drivers/net/wan/sbni: kill uninit'd var warning It's actually convenient in the code to initialize this and a sister variable to zero. Signed-off-by: Jeff Garzik commit 2ab934b8afa89b9b3e71b7fb66470a19772f5012 Author: Jeff Garzik Date: Tue Jul 17 01:49:56 2007 -0400 drivers/mtd/ubi/eba: minor cleanup: tighten scope of a local var Signed-off-by: Jeff Garzik commit 0d480db85dea59e1393c3968fbdac0117431e797 Author: Jeff Garzik Date: Tue Jul 17 01:35:08 2007 -0400 drivers/telephony/ixj: cleanup and fix gcc warning 1) Fix gcc uninit'd var warnings by adding 'default' switch stmt labels in two cases. It was lightning-strikes unlikely that a problem would ever arise, but not impossible. 2) Tighten the scope of 'blankword' in two cases. Signed-off-by: Jeff Garzik commit 79c63e1976df035dee587c016d79cbccb130494a Author: Jeff Garzik Date: Tue Jul 17 01:32:29 2007 -0400 drivers/net/wan/pc300_drv: fix bug caught by gcc warning The warning drivers/net/wan/pc300_drv.c: In function ‘cpc_open’: drivers/net/wan/pc300_drv.c:2942: warning: ‘br’ may be used uninitialized in this function was valid. Ensure 'br' is initialized in all cases. Signed-off-by: Jeff Garzik commit ae97fec3701a559929c3529e35417fab133a4d39 Author: Jeff Garzik Date: Tue Jul 17 01:08:29 2007 -0400 drivers/usb/misc/auerswald: fix status check, remove redundant check 1) We should only set 'actual_length' output variable if usb length is known to be good. 2) No need to check actual_length for NULL. The only caller always passes non-NULL value. Signed-off-by: Jeff Garzik commit cad1b9da74f14c5f15b63ffc93c53debe09b3781 Author: Jeff Garzik Date: Tue Jul 17 00:15:54 2007 -0400 [netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails Signed-off-by: Jeff Garzik commit f6c4286590e7cb13dd16cb2a6e4dc4a27ce6df1d Author: Jeff Garzik Date: Tue Jul 17 00:01:09 2007 -0400 [netdrvr] natsemi: Fix device removal bug This episode illustrates how an overused warning can train people to ignore that warning, which winds up hiding bugs. The warning drivers/net/natsemi.c: In function ‘natsemi_remove1’: drivers/net/natsemi.c:3222: warning: ignoring return value of ‘device_create_file’, declared with attribute warn_unused_result is oft-ignored, even though at close inspection one notices this occurs in the /remove/ function, not normally where creation occurs. A quick s/create/remove/ and we are fixed, with the warning gone. Signed-off-by: Jeff Garzik commit 6f686d3d14621b90f3793b705bdf9fa624fd29ca Author: Jeff Garzik Date: Mon Jul 16 21:25:01 2007 -0400 kernel/auditfilter: kill bogus uninit'd-var compiler warning Kill this warning... kernel/auditfilter.c: In function ‘audit_receive_filter’: kernel/auditfilter.c:1213: warning: ‘ndw’ may be used uninitialized in this function kernel/auditfilter.c:1213: warning: ‘ndp’ may be used uninitialized in this function ...with a simplification of the code. audit_put_nd() can accept NULL arguments, just like kfree(). It is cleaner to init two existing vars to NULL, remove the redundant test variable 'putnd_needed' branches, and call audit_put_nd() directly. As a desired side effect, the warning goes away. Signed-off-by: Jeff Garzik commit c1e49e3a1b37e5fbeb6923d4a950ec1fea8388fa Author: David S. Miller Date: Tue Jul 17 01:20:17 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 41120551fa36614bec00d9c26180af990b8e8f47 Author: David S. Miller Date: Mon Jul 16 21:33:19 2007 -0700 [SPARC64]: Kill explicit %gl register reference. Older binutils can't handle it. Use SET_GL() instead, which is explicitly for this purpose. Signed-off-by: David S. Miller commit 3bd858ab1c451725c07a805dcb315215dc85b86e Author: Satyam Sharma Date: Tue Jul 17 15:00:08 2007 +0530 Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check Introduce is_owner_or_cap() macro in fs.h, and convert over relevant users to it. This is done because we want to avoid bugs in the future where we check for only effective fsuid of the current task against a file's owning uid, without simultaneously checking for CAP_FOWNER as well, thus violating its semantics. [ XFS uses special macros and structures, and in general looked ... untouchable, so we leave it alone -- but it has been looked over. ] The (current->fsuid != inode->i_uid) check in generic_permission() and exec_permission_lite() is left alone, because those operations are covered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations falling under the purview of CAP_CHOWN and CAP_LEASE are also left alone. Signed-off-by: Satyam Sharma Cc: Al Viro Acked-by: Serge E. Hallyn Signed-off-by: Linus Torvalds commit d3676756968eef4a31da11be5addc4eec1b6db2c Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 atl1: missing include Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 27d41718157626e4509026c7dac247a659c0e71f Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 mark a bunch of ISA|EISA|PCI drivers as such Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 547c178b7237f586cbaac0246a112c502de32d64 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 missing exports of csum_... Signed-off-by: Al Viro Acked-by: David S. Miller Acked-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 6d0fd9c9832005b754d7cd04bc8c0ce7ea035366 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 um_kmalloc() remnants Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Linus Torvalds commit 7155c9f576fc8cff12448110b5d104096ba58aee Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 sparc32 has working dma-mapping only with CONFIG_PCI Signed-off-by: Al Viro Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit d37c6e1b67e8d7f3c5fceba491dcb09a15cb7772 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 saner typechecking in generic unaligned.h Verify that types would match for assignment (under sizeof, so we are safe from side effects or any code actually getting generated), then explicitly cast everywhere to the fixed-sized types. Kills a bunch of bogus warnings about constants being truncated (gcc, sparse), finds a pile of endianness problems hidden by old noise (sparse). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit cc040a8a0e8ba95fbb0ae1edcb9ec83623b422e3 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 alpha __init fixes __init and __initdata stuff used from __devinit one Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5072d5d58ef67bd7131d0be208ad1b6cd0631648 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 alpha termios.h hadn't been updated ... fortunately, termios and ktermios there are identical, so no run-time breakage happened. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0ab7a252a52943786d6d12ad8032266841d68b8e Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 no USB on M32R Won't build due to lack of dma-mapping. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 63135e088a604b955746c51964c195c8d3ebac11 Author: Steve French Date: Tue Jul 17 17:34:02 2007 +0000 [CIFS] More whitespace/formatting fixes (noticed by checkpatch) Signed-off-by: Steve French commit 4ad1366376bfef32ec0ffa12d1faa483d6f330bd Author: NeilBrown Date: Tue Jul 17 04:06:13 2007 -0700 md: change bitmap_unplug and others to void functions bitmap_unplug only ever returns 0, so it may as well be void. Two callers try to print a message if it returns non-zero, but that message is already printed by bitmap_file_kick. write_page returns an error which is not consistently checked. It always causes BITMAP_WRITE_ERROR to be set on an error, and that can more conveniently be checked. When the return of write_page is checked, an error causes bitmap_file_kick to be called - so move that call into write_page - and protect against recursive calls into bitmap_file_kick. bitmap_update_sb returns an error that is never checked. So make these 'void' and be consistent about checking the bit. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0d76d70bc77b9b11256a3a23e98e80878be1578 Author: NeilBrown Date: Tue Jul 17 04:06:12 2007 -0700 md: check that internal bitmap does not overlap other data We current completely trust user-space to set up metadata describing an consistant array. In particlar, that the metadata, data, and bitmap do not overlap. But userspace can be buggy, and it is better to report an error than corrupt data. So put in some appropriate checks. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 713f6ab18b0e7d39f14401362bfe8015b1aedde1 Author: NeilBrown Date: Tue Jul 17 04:06:12 2007 -0700 md: improve the is_mddev_idle test fix Don't use 'unsigned' variable to track sync vs non-sync IO, as the only thing we want to do with them is a signed comparison, and fix up the comment which had become quite wrong. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df968c4e8d809deb2602fb0e8db758f26a4006b9 Author: NeilBrown Date: Tue Jul 17 04:06:11 2007 -0700 md: improve message about invalid superblock during autodetect People try to use raid auto-detect with version-1 superblocks (which is not supported) and get confused when they are told they have an invalid superblock. So be more explicit, and say it it is not a valid v0.90 superblock. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afd44034acdb54972923bb327bc9f984663ee78b Author: Jan Engelhardt Date: Tue Jul 17 04:06:11 2007 -0700 Use menuconfig objects II - MD Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c4a59fed41bdd4c30ce0999a87f30a812f29ee2 Author: Tony Lindgren Date: Tue Jul 17 04:06:09 2007 -0700 OMAP: add TI TWL92330/Menelaus Power Management chip driver Add Texas Instruments TWL92330/Menelaus Power Management chip driver. This includes voltage regulators, Dual slot memory card tranceivers and real-time clock(RTC). The support for RTC is integrated with this driver only; it is not separate module. Passes 'rtctest' on OMAP H4 EVM, other than lack of "periodic" (1/N second) IRQs. System wakeup alarms (from suspend-to-RAM) work too. The battery keeps the RTC active over power off, so once you set clock (rdate/ntpdate/etc, then "hwclock -w") then RTC_HCTOSYS at boot time will behave as expected. Cc: "Jean Delvare" Cc: "Tony Lindgren" Cc: "David Brownell" Signed-off-by: Trilok Soni Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 969529021a5c3df74ea8f10d329b2427e559a90f Author: Vovan888@gmail Date: Tue Jul 17 04:06:09 2007 -0700 OMAP: LCD panel support for the Siemens SX1 mobile phone - Add support for LCD panel on Siemens sx1 mobile phone. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 107cc64b7f3956e53e040307e5021abad6d4202a Author: Dirk Behme Date: Tue Jul 17 04:06:07 2007 -0700 OMAP: LCD panel support for the TI OMAP OSK board - Adds TFT LCD panel support for TI OMAP OSK board. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a6d6ab141b59de87b4637e7d75d1e9d5e55e0d4 Author: Imre Deak Date: Tue Jul 17 04:06:07 2007 -0700 OMAP: LCD panel support for the TI OMAP1510 Innovator board - Add TFT LCD panel spport for TI OMAP1510 Innovator EVM. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d64ca86e4b693feda63d4732e3a58dbc653c1970 Author: Imre Deak Date: Tue Jul 17 04:06:06 2007 -0700 OMAP: LCD panel support for the TI OMAP1610 Innovator board - Add TFT LCD panel spport for TI OMAP1610 Innovator EVM. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 769bde5f6b37a94d0bf96953075ebcfa12246334 Author: Marek Vasut Date: Tue Jul 17 04:06:06 2007 -0700 OMAP: LCD panel support for the Palm Zire71 - Adds support for TFT LCD panel on Palm Zire71 Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dba8e7b2d3628dc5d886321e5ac85e20a80352d8 Author: Marek Vasut Date: Tue Jul 17 04:06:05 2007 -0700 OMAP: LCD panel support for Palm Tungsten|T - Add TFT LCD panel support for Palm Tungsten|T Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9828a8897258088bfada93a6ec82803e98231159 Author: Romain Goyet Date: Tue Jul 17 04:06:04 2007 -0700 OMAP: LCD panel support for the Palm Tungsten E - Adds TFT LCD panel support for Palm Tungsten E. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65316c91eff2c9b8dd8e16cc83fb84f49a64813b Author: Imre Deak Date: Tue Jul 17 04:06:04 2007 -0700 OMAP: LCD panel support for the TI OMAP H3 board - Adds support for TFT LCD panel on TI OMAP H3 EVM board. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e493435bff76ee2a37fb474e289ad85052d677fa Author: Imre Deak Date: Tue Jul 17 04:06:03 2007 -0700 OMAP: LCD panel support for the TI OMAP H4 board - Adds support for TFT LCD panel on TI OMAP H4 EVM board. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d381b894d24d7642aec85df1cf281400ac87a18 Author: Imre Deak Date: Tue Jul 17 04:06:01 2007 -0700 OMAP: add external Epson Blizzard LCD controller support - Adds Epson Blizzard lcd controller driver; used in Nokia Internet Tablet products. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aae76ef13e348cebac225407ea2c452f8d0ff862 Author: Imre Deak Date: Sat May 26 19:19:19 2007 +0530 OMAP: add external Epson HWA742 LCD controller support - Adds Epson HWA742 lcd controller driver; used in Nokia Internet Tablet products. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5c125a0fc44e513c3d51d179cb8a9ccaf589b7b Author: Imre Deak Date: Tue Jul 17 04:05:59 2007 -0700 OMAP: add TI OMAP2 external LCD controller support - RFBI - Adds support for Texas Instruments OMAP2 processors boards connected with external LCD controller through "Remote framebuffer Interface" Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6b4573c563966f3b22aa07d2c7b554a551eb0dc Author: Imre Deak Date: Tue Jul 17 04:05:58 2007 -0700 OMAP: add TI OMAP1 external LCD controller support - SoSSI - Adds support for Texas Instruments OMAP1 processors boards connected with external LCD controller through "Special OptimiSed Screen Interface" Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a055fc222c239eedd7d27684e70e812550c83f0 Author: Imre Deak Date: Tue Jul 17 04:05:57 2007 -0700 OMAP: add TI OMAP2 internal display controller support. - Adds Texas Instruments OMAP2 processor series (OMAP2420/2430) internal display controller interface support. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 569755c706f0f94409edd2ae60b9878cb420844f Author: Imre Deak Date: Tue Jul 17 04:05:56 2007 -0700 OMAP: add TI OMAP1 internal LCD controller - Add Texas Instruments OMAP1 processor series (OMAP1510/1610/1710..) internal LCD controller interface. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe0e3a9df6372d357d3fdc4b6265a5417f1e84e8 Author: Imre Deak Date: Tue Jul 17 04:05:55 2007 -0700 OMAP: add TI OMAP1610 accelerator entry. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b08cf2b64f5a60594b07795b2ad518c6d044566 Author: Imre Deak Date: Tue Jul 17 04:05:54 2007 -0700 OMAP: add TI OMAP framebuffer driver - Add Texas Instruments OMAP framebuffer driver. This driver is being used for various OMAP1/2 series based boards and products e.g Nokia N800 Internet Tablet, H4, H3, Siemens SX1 etc. - LCD panel registration and controller code is separated in different file and interfaces. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57a3db98ac88854e20780e2337471323ba63bde2 Author: Adrian Bunk Date: Tue Jul 17 04:05:53 2007 -0700 drivers/video/macmodes.c:mac_find_mode() mustn't be __devinit If it's EXPORT_SYMBOL'ed it can't be __devinit. Reported by Mikael Pettersson. Signed-off-by: Adrian Bunk Cc: "Antonino A. Daplas" Cc: Michal Piotrowski Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bce9451310eb66fbbd77bf22e8160079700691f8 Author: Geert Uytterhoeven Date: Tue Jul 17 04:05:52 2007 -0700 Cell: Draw SPE helper penguin logos Let spu_management_ops.enumerate_spus() return the number of found SPEs and use that information to draw some little helper penguin logos. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Acked-by: Arnd Bergmann Acked-By: James Simmons Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cca9a6cc580b504a2575d505ab072ebf0872e016 Author: Geert Uytterhoeven Date: Tue Jul 17 04:05:51 2007 -0700 fbdev: SPE helper penguin logo Add the SPE helper penguin logo Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Cc: Arnd Bergmann Acked-By: James Simmons Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9900abfb5e8192f0eafcd9b9dd5d54011e46c76c Author: Geert Uytterhoeven Date: Tue Jul 17 04:05:50 2007 -0700 fbdev: Add fb_append_extra_logo() Add fb_append_extra_logo(), to append extra lines of logos below the standard Linux logo. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Acked-By: James Simmons Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90da63e54604fd515c17014a0a7f332a018a0a11 Author: Geert Uytterhoeven Date: Tue Jul 17 04:05:50 2007 -0700 fbdev: extract fb_show_logo_line() The Cell Broadband Engine contains a 64-bit PowerPC core with 2 hardware threads (called PPEs) and 8 Synergistic Processing Engines (called SPEs). When booting Linux, 2 penguins logos are shown on the graphical console by the standard frame buffer console logo code. To emphasize the existence of the SPEs (which can be used under Linux), we added a second row of (smaller) helper penguin logos, one for each SPE. A sample screenshot can be found at http://www.kernel.org/pub/linux/kernel/people/geoff/cell/debian-penguin-shot.png (or on the ps3linux T-shirts we wore at OLS :-) This patch: Extract the code to draw one line of logos into fb_show_logo_line() Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Acked-By: James Simmons Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6e8f00fcd56b426371334d722d1f3fb251b7290 Author: izumi Date: Tue Jul 17 04:05:49 2007 -0700 Fix the graphic corruption issue on IA64 machines VGA console driver can misunderstand the current mode(Text/Graphic) under "disable console blanking" setting. When "disable console blank" is set (blankinterval=0), "do_unblank_screen()" function returns without changing "blank_state", and when "blank_state" is "blank_off", "do_blank_screen() function returns without invoking sw->con_blank() function. That's why VGA console driver can misunderstand the current mode. Signed-off-by: Nobuhiro Tachino Signed-off-by: Taku Izumi Cc: "Antonino A. Daplas" Cc: "Luck, Tony" Acked-by: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a3f28817e2a3f0be67ec8afa0cfd779adb5d41d Author: Paul Mundt Date: Tue Jul 17 04:05:48 2007 -0700 fb: epson1355fb: kill off dead sh support The SH board that was the only user for this code was removed entirely from the kernel quite some time ago, so there's no reason to leave the stubs in place. Additionally this driver was completely broken anyways, so there's not really a lot of point in fixing it up either. I can't imagine that this driver gets any testing on ARM either, given that FB_BLANK_UNBLANKING doesn't exist, and kills the build regardless of which platform is compiling. This fixes that, too. It wouldn't be a lot of work to finish the platform device conversion and go with a generic 8-bit read/write_reg and kill off the architecture dependence completely, should someone have any use for this driver. Signed-off-by: Paul Mundt Acked-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84650346b20c8f8af35e3773506102ff1680e887 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:47 2007 -0700 matroxfb: color setting fixes fix Remove more code that writes to cmap[16]. Signed-off-by: Antonino Daplas Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3552f09a6ce0e42ccb67bf13ee9e4c31b080d6a3 Author: Adrian Bunk Date: Tue Jul 17 04:05:47 2007 -0700 vt8623fb.c: make code static This patch makes needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b309c050cd8a705229085bff790ad532b3cdf819 Author: Adrian Bunk Date: Tue Jul 17 04:05:46 2007 -0700 pm3fb: possible cleanups - remove the empty pm3fb_setup() and corresponding code - pm3fb_init() can become static [adaplas] - retain call to fb_get_options() for global options Signed-off-by: Adrian Bunk Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a58d67ce7d648f3a2512d6d044b5eab0c6f71253 Author: Krzysztof Helt Date: Tue Jul 17 04:05:46 2007 -0700 pm3fb: fillrect acceleration This is a port of accelerated fillrect function from the 2.4 kernel driver. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08a498de79727d63a011f2583e9aba4d3083c3a0 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:45 2007 -0700 matroxfb: color setting fixes - the pseudo_palette is only 16 elements long. - do not write to the pseudo_palette if regno (array index) is more than 15 - remove code that writes to the 17th entry of the pseudo_palette Signed-off-by: Antonino Daplas Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 000d5335c6e7f5dbcd849b62b4be7ae005aa6974 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:44 2007 -0700 sisfb: fix pseudo_palette array size and overrun - the pseudo_palette is only 16 elements long. - do not write to the pseudo_palette if regno (array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c312f97df65bf38a8e7f664b76154639f593775d Author: Antonino A. Daplas Date: Tue Jul 17 04:05:44 2007 -0700 intelfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 372166af0bd226322debf420a417524634a56abf Author: Antonino A. Daplas Date: Tue Jul 17 04:05:43 2007 -0700 i810fb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0e3ad444885b87d318f1b086284bed52e41cc4b Author: Antonino A. Daplas Date: Tue Jul 17 04:05:43 2007 -0700 radeonfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59731f8acf7a83c0a195bef18325dddc5073ee7b Author: Antonino A. Daplas Date: Tue Jul 17 04:05:42 2007 -0700 atyfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ce0e9a9213bfa2f77363d3eef4d15808473cbe5 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:42 2007 -0700 tx3912fb: fix improper assignment of info->pseudo_palette There is no variable pseudo_palette. Instead, there is u32 cfb8[16]. Use this for info->pseudo_palette. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 973d9ab231a6b9feb1ff5b9a072f11756eca96cc Author: Antonino A. Daplas Date: Tue Jul 17 04:05:41 2007 -0700 tridentfb: fix pseudo_palette array overrun in setcolreg The pseudo_palette has only 16 elements. Do not write if regno (the array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb3daa83c2f63743fb7597f620beac75e1ba5633 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:41 2007 -0700 tgafb: actually allocate memory for the pseudo_palette No memory allocation was done for the pseudo_palette. Allocate one for it. Signed-off-by: Antonino Daplas Acked-by: "Maciej W. Rozycki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9965f5b137f11a7dce01b2c32874a4875f024306 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:40 2007 -0700 sgivwfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce303c076baad1b7d8d41d1b98c373843eb820cc Author: Antonino A. Daplas Date: Tue Jul 17 04:05:40 2007 -0700 q40fb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a66ad56eb2c9644717da4d7f05f971d6786145e3 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:39 2007 -0700 pvr2fb: fix pseudo_palette array overrun and typecast - the pseudo_palette has only 16 elements. Do not write if regno (the array index) is more than 15. - if using generic drawing libraries, the typecast of pseudo_palette is always u32 * Signed-off-by: Antonino Daplas Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02c2c209c26ca452b2e688cdb0cb6bb4bc7cdf7f Author: Antonino A. Daplas Date: Tue Jul 17 04:05:38 2007 -0700 platinumfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d01184c8db7f1aa9b10597b9f8071ecc5d7e12f8 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:38 2007 -0700 offb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24fc72239ab5a2d26ebdd4f6950539e6120d1a54 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:37 2007 -0700 macfb: fix pseudo_palette size and overrun - the pseudo_palette is only 16 elements long. - do not write to the pseudo_palette if regno (array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9058be43cf9f32b6c636aa6954b4f1a6b22098f6 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:37 2007 -0700 gbefb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c771eba1fe7168d6f2cbc52efa55b3838bd05b05 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:36 2007 -0700 fm2fb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a1b92793a0824d31f165fe3a97634dbb9a3ae18 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:36 2007 -0700 epson1355fb: color setting fixes - the pseudo_palette is only 16 elements long - allocate the pseudo_palette as part of epson1355_par Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7592181005261c3d90398375ab6922f56cdd2bad Author: Antonino A. Daplas Date: Tue Jul 17 04:05:35 2007 -0700 cyblafb: fix pseudo_palette array overrun in setcolreg The pseudo_palette has only 16 elements. Do not write if regno (the array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11494543a5775b4764d0172084092715a533a8ce Author: Antonino A. Daplas Date: Tue Jul 17 04:05:35 2007 -0700 controlfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a17759c98c814520da653133ccfbb8d2c50cd6c Author: Antonino A. Daplas Date: Tue Jul 17 04:05:34 2007 -0700 68328fb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7269dd2b97b9aedb64e15fdec5575345d091925 Author: Jesse Barnes Date: Tue Jul 17 04:05:34 2007 -0700 vt: add comment for unbind_con_driver() - add comment for unbind_con_driver(). - bind_con_driver() is made private again Signed-off-by: Jesse Barnes Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfafca8067c6defbaeb28cb898b7b3f8abdfe20d Author: Jesse Barnes Date: Tue Jul 17 04:05:33 2007 -0700 fbdev: fbcon: console unregistration from unregister_framebuffer This allows for proper console unregistration via the VT layer, and updates the FB layer to use it. This makes debugging new console drivers much easier, since you can properly clean them up before unloading. [adaplas] unregister_framebuffer() is typically called as part of the driver's module_exit(). Doing so otherwise will freeze the machine as the VT layer is holding reference counts on fbcon, and fbcon on the driver. With this change, it allows unregister_framebuffer() to be called safely anywhere as needed. Additions from the original: If multiple drivers are used by fbcon, and if one of them unregisters, a driver will take over the consoles vacated by the outgoing one (via set_con2fb_map). Once only the outgoing driver remains, then fbcon will unbind from the VT layer (if CONFIG_HW_CONSOLE_UNBINDING is set to y). It is important that these drivers implement fb_open() and fb_release() just to ensure that no other process is using the driver. Likewise, these drivers _must_ check the return value of unregister_framebuffer(). [akpm@linux-foundation.org: make fbcon_unbind() stub inline] Signed-off-by: Jesse Barnes Signed-off-by: Antonino Daplas Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afd1db1632c3f8f95cbc2786bfa122cead79db58 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:32 2007 -0700 fbcon: Revise primary device selection Use set_con2fb_map() to select the primary display driver instead of using unbind_con_driver() and bind_con_driver(). Using the former is much simpler and safer than the current one. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1baa4ffa677bf6986c460fcfd4cdaf8bfe66f0e Author: Antonino A. Daplas Date: Tue Jul 17 04:05:32 2007 -0700 fbcon: set_con2fb_map fixes set_con2fb_map() has regressed for some time. Using fbcon=map:01, for example, works only if there is only 1 working framebuffer. Trying to do a set_con2fb_map() on a non-allocated vc will freeze the system. - ensure that succeeding drivers after the first gets mapped to the console - remove fbcon_preset_display() and modify fbcon_set_display() to include the former's functionality - ensure that binding and unbinding succeeds if multiple drivers are mapped to the console Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f7bb99fc9eb7a3d3840dc0a507049b7be1daba8 Author: Krzysztof Helt Date: Tue Jul 17 04:05:31 2007 -0700 pm2fb: white spaces clean up This patch removes trailing spaces and tabs and spaces before tabs. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac1ae162c9c400d63e62d9f2878be968b10ceaab Author: Antonino A. Daplas Date: Tue Jul 17 04:05:30 2007 -0700 nvidiafb: Add proper support for Geforce 7600 chipset Add proper support for the Geforce 7600 (device id 0x039x). This also sync's nvidiafb with the latest Xorg nv driver. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5f2f4d1a6d7efde39cfb5e1d034981c69f2214c Author: Stephan Wolf Date: Tue Jul 17 04:05:29 2007 -0700 radeonfb: Add support for Radeon Xpress 200M (RS485) Add PCI ids for the Radeon Xpress 200M (RS485). Signed-off-by: Antonino Daplas Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 623e71b035cb5271028500720b3622ba76db42bb Author: Antonino A. Daplas Date: Tue Jul 17 04:05:28 2007 -0700 fbcon: allow fbcon to use the primary display driver Allow fbcon to select the primary display adapter using the fb_is_primary_device() arch-specific helper. If a a primary adapter is detected, fbcon will unbind the old adapter from the VT layer, then rebind using the new adapter. This requires that bind_/unbind_con_driver() be made public. Because this feature may produce unexpected behavior (from the user's POV), this must be explicitly enabled in Kconfig. [akpm@linux-foundation.org: export unbind_con_driver] Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 317b3c2167f5326a7de30a1abe50c9897da7a0e3 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:28 2007 -0700 fbdev: detect primary display device Add function helper, fb_is_primary_device(). Given struct fb_info, it will return a nonzero value if the device is the primary display. Currently, only the i386 is supported where the function checks for the IORESOURCE_ROM_SHADOW flag. Signed-off-by: Antonino Daplas Cc: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10eb2659cc6059d0c4de2e2c66d1534091519f56 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:27 2007 -0700 fbdev: move arch-specific bits to their respective subdirectories Move arch-specific bits of fb_mmap() to their respective subdirectories [bob.picco@hp.com: efi_range_is_wc is referenced but not declared] [bunk@stusta.de: fix include/asm-m68k/fb.h] Signed-off-by: Antonino Daplas Acked-by: David S. Miller Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c6c1ce079082ddde9ba5636c352c235cd395aa1 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:26 2007 -0700 fbcon: use struct device instead of struct class_device Port fbcon.c to use struct device from using struct class_device Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acba9cd01974353294ecd0c750581a6707d1ebe1 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:26 2007 -0700 fbcon: cursor blink control Add sysfs attribute to enable or disable cursor blinking. This will also disable cursor blinking if the VT layer's softcursor is active. These changes are required to enable some machines to enter low-power states properly. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01b15bd4bfae794246c047b961a282e19014e240 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:25 2007 -0700 nvidiafb: adjust flags to take advantage of new scroll method The SCROLL_MOVE method has been optimized such that it is significantly faster than SCROLL_REDRAW. Adjust flags to indicate that blitting is preferred over rendering. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bad07ff74c32829defce8c83d7ff6ea69c329441 Author: Krzysztof Helt Date: Tue Jul 17 04:05:25 2007 -0700 fbcon: smart blitter usage for scrolling This patch replaces the current SCROLL_MOVE method with smarter method using the same logic as the SCROLL_REDRAW method. This brings these two methods much closer in performance and benefits all framebuffers which uses the SCROLL_MOVE method. [adaplas] - remove unnecessary char attribute checking - whitespace cleanups and 80-column line fixes Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d2b56c69c400dfc1a878966efa2b4a4a797a855 Author: Alan Cox Date: Tue Jul 17 04:05:24 2007 -0700 stallion: remove unneeded lock_kernel Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b306122df9f9dbec7751133073b4d19b9197d22e Author: Ingo Korb Date: Tue Jul 17 04:05:23 2007 -0700 Char: istallion, init+locking fixes Move brdp->iosize assignment in stli_initecp up a few lines to stop the driver from requesting an I/O region of length 0. Remove spin_lock_irqsave/spin_unlock_irqrestore from __stli_sendcmd as all users of that function take the lock already. Signed-off-by: Ingo Korb Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 186797ce330867b4c3609e503d2fee2fc6940954 Author: Jiri Slaby Date: Tue Jul 17 04:05:22 2007 -0700 Char: stallion, remove user class report request stallion, remove user class report request Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b3929a2dae865de7b59f5d802f3a15ca70726ce Author: Jiri Slaby Date: Tue Jul 17 04:05:22 2007 -0700 Char: Kconfig, mxser_new: remove experimental comment Kconfig, mxser_new: remove experimental comment Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f11541b505464ec5105302910453ac4ad065fc6 Author: Jiri Slaby Date: Tue Jul 17 04:05:21 2007 -0700 Char: vt, use ARRAY_SIZE vt, use ARRAY_SIZE Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1152934c6339453f8bc365f449071d03796d411 Author: Jiri Slaby Date: Tue Jul 17 04:05:21 2007 -0700 Char: vt, use kzalloc vt, use kzalloc Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4ebd9277705904aea25937c9a2d347c88c063c8 Author: Jiri Slaby Date: Tue Jul 17 04:05:20 2007 -0700 Char: riscom8, eliminate busy loop riscom8, eliminate busy loop Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e98cee717fb8e9f4ff15a70e357927c5f3c7793 Author: Jiri Slaby Date: Tue Jul 17 04:05:19 2007 -0700 Char: specialix, remove busy waiting use msleep instead, because not in atomic Cc: Roger Wolff Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24c032f1dd393c995545ecefa8c1585ae9ef6b37 Author: Jiri Slaby Date: Tue Jul 17 04:05:19 2007 -0700 Char: moxa, eliminate busy waiting blah, moxa delays 250+ ms in busy waiting, use msleep instead. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4969b3a43dd9e234b363f7bf52d0f6c4b6139eea Author: Jiri Slaby Date: Tue Jul 17 04:05:18 2007 -0700 Char: isicom, proper variables types irq is int, base is unsigned long Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e327325f4219e30476c775dbcd8651cd71b5416a Author: Jiri Slaby Date: Tue Jul 17 04:05:18 2007 -0700 Char: isicom, del_timer at exit Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b21f9dddd0817b761f1407f1950bee4f257411a Author: Jiri Slaby Date: Tue Jul 17 04:05:17 2007 -0700 Char: isicom, cleanup locking Don't spin processor when not needed (use sleep instead of delay). Don't release the lock when needed in next iteration -- this actually fixes a bug -- missing braces Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4923b4f13156455a9e84f0b918866aef300cc57 Author: Jiri Slaby Date: Tue Jul 17 04:05:17 2007 -0700 Char: cyclades, fix sparse warning cyclades, fix sparse warning Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 054f5b0aaa58dfc841635e52b6c1cc2b14ec37fc Author: Jiri Slaby Date: Tue Jul 17 04:05:16 2007 -0700 Char: cyclades, add firmware loading cyclades, add firmware loading Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf3a386c083c0cc4eb9f01a8818b9499ae56e73f Author: Adrian Bunk Date: Tue Jul 17 04:05:16 2007 -0700 remove options depending on OSS_OBSOLETE This patch contains the scheduled removal of options depending on OSS_OBSOLETE. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e32725c6ae8fa5345d9d095742e175ff4badd3b Author: Muli Ben-Yehuda Date: Tue Jul 17 04:05:15 2007 -0700 OSS trident: replace deprecated pci_find_device with pci_get_device Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b20b9b4e985fcc48b4eea401cb289a856422c93 Author: Muli Ben-Yehuda Date: Tue Jul 17 04:05:15 2007 -0700 OSS trident: fix locking around write_voice_regs trident_write_voice_regs() was getting called with the card spinlock held in only some cases. Fix it. Explanation: we allocate a new virtual channel in open, and then we frob some hardware registers (in write_voice_regs) for that channel. But the hardware registers are shared with other channels, which may be trying to frob the some registers (albeit for another channel) via ioctl(SNDCTL_DSP_SPEED). Fixed bugzilla.kernel.org bug #8172 (http://bugme.osdl.org/show_bug.cgi?id=8172) Signed-off-by: Muli Ben-Yehuda Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8f75b9183d613d3c29ea451a1cfb793daad5034 Author: Muli Ben-Yehuda Date: Tue Jul 17 04:05:13 2007 -0700 OSS trident: massive whitespace removal Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5b9068c1ef2ea760beb4962cf611b45bd303fb6 Author: David Brownell Date: Tue Jul 17 04:05:12 2007 -0700 csb337 supports "new style" rtc-ds1307 Update csb337 board specific init to support "new style" rtc-ds1307 code. Signed-off-by: David Brownell Cc: Andrew Victor Cc: Bill Gatliff Cc: Alessandro Zummo Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c065f35c17929067a367139d14e26897d60c7f6d Author: David Brownell Date: Tue Jul 17 04:05:10 2007 -0700 rtc-ds1307 becomes new-style i2c driver Convert the rtc-ds1307 driver into a "new style" driver. Also improve probe() checks: be more correct about switching out of AM/PM mode, and issue a (debug) diagnostic when failing due to bogus register values. Signed-off-by: David Brownell Cc: Andrew Victor Cc: Bill Gatliff Cc: Alessandro Zummo Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be5f59f4b67fbd4de26802a291bbcc2c623302b7 Author: Rodolfo Giometti Date: Tue Jul 17 04:05:06 2007 -0700 rtc-ds1307: oscillator restart for ds13{37,38,39,40} When we find a ds1337 or ds1339 with the oscillator powered off, turn it on. If the oscillator fault flag was set, clear it and warn that the clock needs to be set. David Brownell: Bugfixes; provide corresponding update for ds1338, and the core of the fix for ds1340. Use a common warning message ("SET TIME!") whenever the clock needs to be set after oscillator fault (or oscillator enable, if fault is not a separate status). Signed-off-by: Rodolfo Giometti Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 537739dee52cb9bb4f9ba080a59795d5c4c306ba Author: Thomas Bogendoerfer Date: Tue Jul 17 04:05:06 2007 -0700 RTC driver for DS1216 chips RTC driver for Dallas/Maxim DS126 chips used in SNI RM200/RM400 [akpm@linux-foundation.org: cleanups] Signed-off-by: Thomas Bogendoerfer Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e774c7caf84455d5e7d492d123bad6f417818b5 Author: Mark Zhan Date: Tue Jul 17 04:05:05 2007 -0700 rtc: add support for the ST M48T59 RTC [akpm@linux-foundation.org: x86_64 build fix] [akpm@linux-foundation.org: The acpi guys changed the bin_attribute code] Signed-off-by: Mark Zhan Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 617780d290bd6eb2b260928c6acff5b7c6084154 Author: Atsushi Nemoto Date: Tue Jul 17 04:05:04 2007 -0700 rtc: watchdog support for rtc-m41t80 driver Add a watchdog driver interface to rtc-m41t80 driver. This is derived from works by Alexander Bigga Signed-off-by: Atsushi Nemoto Signed-off-by: Alexander Bigga Cc: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caaff562e0ba44a7991ee8322fa4a6891d939757 Author: Atsushi Nemoto Date: Tue Jul 17 04:05:02 2007 -0700 rtc: add rtc-m41t80 driver This is a new-style i2c driver for ST M41T80 series RTC chip, derived from works by Alexander Bigga who wrote the original rtc-m41txx.c based on drivers/i2c/chips/m41t00.c driver. This driver supports M41T8[0-4] and M41ST8[457]. The old m41t00 driver supports M41T00, M41T81 and M41T85(M41ST85). While the M41T00 chip is now supported by rtc-ds1307 driver, this driver does not include support for the chip. [akpm@linux-foundation.org: remove bogus `static'] Signed-off-by: Atsushi Nemoto Signed-off-by: Alexander Bigga Acked-by: Mark A. Greer Cc: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5663c14b4f3e22aece38970f9765ceb090efbb8c Author: David Brownell Date: Tue Jul 17 04:05:02 2007 -0700 RTC Kconfig tweax Minor fix to the Kconfig for RTCs: don't display section headers for I2C or SPI unless they're configured. And depend on SPI_MASTER; having slave support wouldn't help. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c4e139ee9d5169ba75a1b918949d95323bc17ea Author: Alessandro Zummo Date: Tue Jul 17 04:05:01 2007 -0700 RTC_CLASS is no longer considered EXPERIMENTAL RTC class is mature enough. Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa04e78b2d44cb923177d7e6988ac32639beb2d0 Author: Hans-Christian Egtvedt Date: Tue Jul 17 04:05:00 2007 -0700 Driver for the Atmel on-chip RTC on AT32AP700x devices Tested on the AT32AP7000/ATSTK1000. Driver does only suport time, wake up and a very simple alarm, because of hardware limitations. Hardware documentation can be found in the AT32AP7000 data sheet, which can be downloaded from http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 From: David Brownell - Strike some alarm setup code that's no longer needed. (This patch seems to have gotten lost somewhere...) - Make the driver name (and its module alias) match what the platform setup code uses, so the driver can bind and hotplug. [akpm@linux-foundation.org: fix several checkpatch.pl warnings] Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen Cc: Alessandro Zummo Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac495bf8971f2dc9d401d892849977e86633ced6 Author: Hans-Christian Egtvedt Date: Tue Jul 17 04:05:00 2007 -0700 rtc-dev: return -ENOTTY in ioctl if irq_set_freq is not implemented by driver Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a39a49c746adc08488b1403b5aeca1dbd4ce0e2 Author: Hans-Christian Egtvedt Date: Tue Jul 17 04:04:59 2007 -0700 rtc: make example code jump to done instead of return when ioctl not supported Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c00593f6f816e5cfa6d193a2561ca77541f71424 Author: Martin Michlmayr Date: Tue Jul 17 04:04:57 2007 -0700 Thecus N2100: register rtc-rs5c372 i2c device Use the new i2c framework to load rtc-rs5c372 for the Thecus N2100. Signed-off-by: Martin Michlmayr Tested-by: Voipio Riku Cc: Russell King Cc: Lennert Buytenhek Cc: Jean Delvare Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d815461c7a73903d0a926b3cace6f69e144c54a3 Author: David Brownell Date: Tue Jul 17 04:04:55 2007 -0700 rtc-rs5c372 becomes a new-style i2c driver Convert rtc-rs5c372 to be a "new style" I2C driver, and update the Kconfig text to be more complete.. Verified on an OMAP H4 development platform, along with a board init patch to declare its rv5c387a device. Only one defconfig -- powerpc/linkstation -- uses this driver; but several other platforms use it, just without defconfig support. Such platforms need to be converted so (a) their I2C adapter driver supports new-style drivers, and (b) board init code declares this I2C device. Signed-off-by: David Brownell Cc: Voipio Riku Acked-by: Guennadi Liakhovetski Cc: Martin Michlmayr Cc: Jean Delvare Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 045e0e85f2f6ee6621d8f7bab3059e9c74076738 Author: David Brownell Date: Tue Jul 17 04:04:55 2007 -0700 rtc-ds1307 cleanups This updates the rtc-ds1307 driver so that converting it to a "new style" driver (driver model, not legacy i2c model) will involve fewer changes. - Use pointer to i2c_client almost everywhere, so that it's easy to let the i2c core create that object; - Avoid using i2c_client.adapter, since that field is redundant and thus may go away (same object as i2c_client.dev.parent). - Extend type enum to include various RTCs this is expected to work with, and include register support for them. It also cleans up the support for multiple chip types, and fixes a glitch that could appear with an un-initialized RTC. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d91192e667ae34733b9daf6dd5f1d4496d2f441 Author: Josef 'Jeff' Sipek Date: Tue Jul 17 04:04:54 2007 -0700 eCryptfs: Move ecryptfs docs into Documentation/filesystems/ Signed-off-by: Josef 'Jeff' Sipek Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c381bfcf0cd100a37cd969fa0d3aa758e13b5bcc Author: Mika Kukkonen Date: Tue Jul 17 04:04:53 2007 -0700 Couple fixes to fs/ecryptfs/inode.c Following was uncovered by compiling the kernel with '-W' flag: CC [M] fs/ecryptfs/inode.o fs/ecryptfs/inode.c: In function ‘ecryptfs_lookup’: fs/ecryptfs/inode.c:304: warning: comparison of unsigned expression < 0 is always false fs/ecryptfs/inode.c: In function ‘ecryptfs_symlink’: fs/ecryptfs/inode.c:486: warning: comparison of unsigned expression < 0 is always false Function ecryptfs_encode_filename() can return -ENOMEM, so change the variables to plain int, as in the first case the only real use actually expects int, and in latter case there is no use beoynd the error check. Signed-off-by: Mika Kukkonen Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1269bc69b6649282091bb7007372acf4ab8357fd Author: J. Bruce Fields Date: Tue Jul 17 04:04:52 2007 -0700 knfsd: nfsd: enforce per-flavor id squashing Allow root squashing to vary per-pseudoflavor, so that you can (for example) allow root access only when sufficiently strong security is in use. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9091224f3cff4721f295df29e8a99705a63bc4c7 Author: J. Bruce Fields Date: Tue Jul 17 04:04:52 2007 -0700 knfsd: nfsd: allow auth_sys nlm on rpcsec_gss exports Our clients (like other clients, as far as I know) use only auth_sys for nlm, even when using rpcsec_gss for the main nfs operations. Administrators that want to deny non-kerberos-authenticated locking requests will need to turn off NFS protocol versions less than 4.... Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4796f45740bc6f2e3e6cc14e7ed481b38bd0bd39 Author: J. Bruce Fields Date: Tue Jul 17 04:04:51 2007 -0700 knfsd: nfsd4: secinfo handling without secinfo= option We could return some sort of error in the case where someone asks for secinfo on an export without the secinfo= option set--that'd be no worse than what we've been doing. But it's not really correct. So, hack up an approximate secinfo response in that case--it may not be complete, but it'll tell the client at least one acceptable security flavor. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcb488a3b7ac3987e21148f44f641c9b2e734232 Author: Andy Adamson Date: Tue Jul 17 04:04:51 2007 -0700 knfsd: nfsd4: implement secinfo Implement the secinfo operation. (Thanks to Usha Ketineni wrote an earlier version of this support.) Cc: Usha Ketineni Signed-off-by: Andy Adamson Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae4c40b1d81f5299c04330306736b2f0f0539f4b Author: Usha Ketineni Date: Tue Jul 17 04:04:50 2007 -0700 knfsd: rpc: add gss krb5 and spkm3 oid values Adds oid values to the gss_api mechanism structures. On the NFSV4 server side, these are required as part of the security triple (oid,qop,service) information being sent in the response of the SECINFO operation. Signed-off-by: Usha Ketineni Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91fe39d35ebd6adaece4e090f6b1a3e4b6a59c97 Author: J. Bruce Fields Date: Tue Jul 17 04:04:49 2007 -0700 knfsd: nfsd: display export secinfo information Add secinfo information to the display in proc/net/sunrpc/nfsd.export/content. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac34cdb03dfdb8cdc824f41f577434c5c2521155 Author: J. Bruce Fields Date: Tue Jul 17 04:04:49 2007 -0700 knfsd: nfsd: factor out code from show_expflags Factor out some code to be shared by secinfo display code. Remove some unnecessary conditional printing of commas where we know the condition is true. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ec757df9743025f14190d6034d8bd2bf37c2dd1 Author: J. Bruce Fields Date: Tue Jul 17 04:04:48 2007 -0700 knfsd: nfsd4: make readonly access depend on pseudoflavor Allow readonly access to vary depending on the pseudoflavor, using the flag passed with each pseudoflavor in the export downcall. The rest of the flags are ignored for now, though some day we might also allow id squashing to vary based on the flavor. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966 Author: Andy Adamson Date: Tue Jul 17 04:04:48 2007 -0700 knfsd: nfsd4: return nfserr_wrongsec Make the first actual use of the secinfo information by using it to return nfserr_wrongsec when an export is found that doesn't allow the flavor used on this request. Signed-off-by: J. Bruce Fields Signed-off-by: Andy Adamson Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c0a654dceaa4342270306de77eadb0173dfb58a Author: J. Bruce Fields Date: Tue Jul 17 04:04:47 2007 -0700 knfsd: nfsd: factor nfsd_lookup into 2 pieces Factor nfsd_lookup into nfsd_lookup_dentry, which finds the right dentry and export, and a second part which composes the filehandle (and which will later check the security flavor on the new export). No change in behavior. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ea2209f073dc7049bd285b4f5dbc0aa273f9746 Author: J. Bruce Fields Date: Tue Jul 17 04:04:46 2007 -0700 knfsd: nfsd: use ip-address-based domain in secinfo case With this patch, we fall back on using the gss/pseudoflavor only if we fail to find a matching auth_unix export that has a secinfo list. As long as sec= options aren't used, there's still no change in behavior here (except possibly for some additional auth_unix cache lookups, whose results will be ignored). The sec= option, however, is not actually enforced yet; later patches will add the necessary checks. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ab4d8b1215d61736e2a9a26bea7cc2e6b029e3d Author: J. Bruce Fields Date: Tue Jul 17 04:04:46 2007 -0700 knfsd: nfsd: set rq_client to ip-address-determined-domain We want it to be possible for users to restrict exports both by IP address and by pseudoflavor. The pseudoflavor information has previously been passed using special auth_domains stored in the rq_client field. After the preceding patch that stored the pseudoflavor in rq_pflavor, that's now superfluous; so now we use rq_client for the ip information, as auth_null and auth_unix do. However, we keep around the special auth_domain in the rq_gssclient field for backwards compatibility purposes, so we can still do upcalls using the old "gss/pseudoflavor" auth_domain if upcalls using the unix domain to give us an appropriate export. This allows us to continue supporting old mountd. In fact, for this first patch, we always use the "gss/pseudoflavor" auth_domain (and only it) if it is available; thus rq_client is ignored in the auth_gss case, and this patch on its own makes no change in behavior; that will be left to later patches. Note on idmap: I'm almost tempted to just replace the auth_domain in the idmap upcall by a dummy value--no version of idmapd has ever used it, and it's unlikely anyone really wants to perform idmapping differently depending on the where the client is (they may want to perform *credential* mapping differently, but that's a different matter--the idmapper just handles id's used in getattr and setattr). But I'm updating the idmapd code anyway, just out of general backwards-compatibility paranoia. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0989a7889695831e49e2c53c1884f52645516a90 Author: J. Bruce Fields Date: Tue Jul 17 04:04:44 2007 -0700 knfsd: nfsd: provide export lookup wrappers which take a svc_rqst Split the callers of exp_get_by_name(), exp_find(), and exp_parent() into those that are processing requests and those that are doing other stuff (like looking up filehandles for mountd). No change in behavior, just a (fairly pointless, on its own) cleanup. (Note this has the effect of making nfsd_cross_mnt() pass rqstp->rq_client instead of exp->ex_client into exp_find_by_name(). However, the two should have the same value at this point.) Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87548c37c8bdbf98aea002c9c04e4dc8aa27fe1b Author: J. Bruce Fields Date: Tue Jul 17 04:04:44 2007 -0700 knfsd: nfsd: remove superfluous assignment from nfsd_lookup The "err" variable will only be used in the final return, which always happens after either the preceding err = fh_compose(...); or after the following err = nfserrno(host_err); So the earlier assignment to err is ignored. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df547efb03e3e8f9ea726e1d07fbbd6fd0706cd7 Author: J. Bruce Fields Date: Tue Jul 17 04:04:43 2007 -0700 knfsd: nfsd4: simplify exp_pseudoroot arguments We're passing three arguments to exp_pseudoroot, two of which are just fields of the svc_rqst. Soon we'll want to pass in a third field as well. So let's just give up and pass in the whole struct svc_rqst. Also sneak in some minor style cleanups while we're at it. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e677bfe4d451f8271986a229270c6eecd1f62b3f Author: Andy Adamson Date: Tue Jul 17 04:04:42 2007 -0700 knfsd: nfsd4: parse secinfo information in exports downcall We add a list of pseudoflavors to each export downcall, which will be used both as a list of security flavors allowed on that export, and (in the order given) as the list of pseudoflavors to return on secinfo calls. This patch parses the new downcall information and adds it to the export structure, but doesn't use it for anything yet. Signed-off-by: J. Bruce Fields Signed-off-by: Andy Adamson Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4170583f655dca5da32bd14173d6a93805fc48b Author: Andy Adamson Date: Tue Jul 17 04:04:42 2007 -0700 knfsd: nfsd4: store pseudoflavor in request Add a new field to the svc_rqst structure to record the pseudoflavor that the request was made with. For now we record the pseudoflavor but don't use it for anything. Signed-off-by: Andy Adamson Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42ed95c4e7415714aaab604ae7b1602b87b27b73 Author: J. Bruce Fields Date: Tue Jul 17 04:04:41 2007 -0700 knfsd: nfsd4: build rpcsec_gss whenever nfsd4 is built Select rpcsec_gss support whenever asked for NFSv4 support. The rfc actually requires gss, and gss is also the main reason to migrate to v4. We already do this on the client side. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d3bb25209c1f9a27ea9535c7fd2f6729a5e7db1 Author: J. Bruce Fields Date: Tue Jul 17 04:04:40 2007 -0700 knfsd: nfsd: make all exp_finding functions return -errno's on err Currently exp_find(), exp_get_by_name(), and friends, return an export on success, and on failure return: errors -EAGAIN (drop this request pending an upcall) or -ETIMEDOUT (an upcall has timed out), or return NULL, which can mean either that there was a memory allocation failure, or that an export was not found, or that a passed-in export lacks an auth_domain. Many callers seem to assume that NULL means that an export was not found, which may lead to bugs in the case of a memory allocation failure. Modify these functions to distinguish between the two NULL cases by returning either -ENOENT or -ENOMEM. They now never return NULL. We get to simplify some code in the process. We return -ENOENT in the case of a missing auth_domain. This case should probably be removed (or converted to a bug) after confirming that it can never happen. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47f9940c55c0bdc65188749cae4e841601f513bb Author: Meelap Shah Date: Tue Jul 17 04:04:40 2007 -0700 knfsd: nfsd4: don't delegate files that have had conflicts One more incremental delegation policy improvement: don't give out a delegation on a file if conflicting access has previously required that a delegation be revoked on that file. (In practice we'll forget about the conflict when the struct nfs4_file is removed on close, so this is of limited use for now, though it should at least solve a temporary problem with self-conflicts on write opens from the same client.) Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2f1a551dea8b37c2e0cb886885c250fb703e9d8 Author: Meelap Shah Date: Tue Jul 17 04:04:39 2007 -0700 knfsd: nfsd4: vary maximum delegation limit based on RAM size Our original NFSv4 delegation policy was to give out a read delegation on any open when it was possible to. Since the lifetime of a delegation isn't limited to that of an open, a client may quite reasonably hang on to a delegation as long as it has the inode cached. This becomes an obvious problem the first time a client's inode cache approaches the size of the server's total memory. Our first quick solution was to add a hard-coded limit. This patch makes a mild incremental improvement by varying that limit according to the server's total memory size, allowing at most 4 delegations per megabyte of RAM. My quick back-of-the-envelope calculation finds that in the worst case (where every delegation is for a different inode), a delegation could take about 1.5K, which would make the worst case usage about 6% of memory. The new limit works out to be about the same as the old on a 1-gig server. [akpm@linux-foundation.org: Don't needlessly bloat vmlinux] [akpm@linux-foundation.org: Make it right for highmem machines] Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e5140279f31e47d58ed6036ee61ba7a65710e63 Author: J. Bruce Fields Date: Tue Jul 17 04:04:38 2007 -0700 knfsd: nfsd: remove unused header interface.h It looks like Al Viro gutted this header file five years ago and it hasn't been touched since. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b2ca38ad6c44ed0442092a829e6e954bf3580af Author: J. Bruce Fields Date: Tue Jul 17 04:04:37 2007 -0700 knfsd: nfsd4: fix handling of acl errrors nfs4_acl_nfsv4_to_posix() returns an error and returns any posix acls calculated in two caller-provided pointers. It was setting these pointers to -errno in some error cases, resulting in nfsd4_set_nfs4_acl() calling posix_acl_release() with a -errno as an argument. Fix both the caller and the callee, by modifying nfsd4_set_nfs4_acl() to stop relying on the passed-in-pointers being left as NULL in the error case, and by modifying nfs4_acl_nfsv4_to_posix() to stop returning garbage in those pointers. Thanks to Alex Soule for reporting the bug. Signed-off-by: "J. Bruce Fields" Cc: Alexander Soule Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ac68d17996eb421dde51452b89d5545ba07c6fe Author: Benny Halevy Date: Tue Jul 17 04:04:37 2007 -0700 knfsd: nfsd4: fix enc_stateid_sz for nfsd callbacks enc_stateid_sz should be given in u32 words units, not bytes, so we were overestimating the buffer space needed here. Signed-off-by: Benny Halevy Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7fede4b27bfc6c987d6da8e40384b1b098830bb Author: J. Bruce Fields Date: Tue Jul 17 04:04:36 2007 -0700 knfsd: nfsd4: silence a compiler warning in ACL code Silence a compiler warning in the ACL code, and add a comment making clear the initialization serves no other purpose. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33a1060ae7dc671a0208b341bd454009625bb5a6 Author: J. Bruce Fields Date: Tue Jul 17 04:04:35 2007 -0700 knfsd: nfsd4: fix NFSv4 filehandle size units confusion NFS4_FHSIZE is measured in bytes, not 4-byte words, so much more space than necessary is being allocated for struct nfs4_cb_recall. I should have wondered why this structure was so much larger than it needed to be! Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a8db97e7756119689c93c431e8b8324080f5625 Author: Marc Eshel Date: Tue Jul 17 04:04:35 2007 -0700 knfsd: lockd: nfsd4: use same grace period for lockd and nfsd4 Both lockd and (in the nfsv4 case) nfsd enforce a "grace period" after reboot, during which clients may reclaim locks from the previous server instance, but may not acquire new locks. Currently the lockd and nfsd enforce grace periods of different lengths. This may cause problems when we reboot a server with both v2/v3 and v4 clients. For example, if the lockd grace period is shorter (as is likely the case), then a v3 client might acquire a new lock that conflicts with a lock already held (but not yet reclaimed) by a v4 client. This patch calculates a lease time that lockd and nfsd can both use. Signed-off-by: Marc Eshel Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12127498c8f5e479df15ee374a0932f5659df49e Author: Andrew Morton Date: Tue Jul 17 04:04:34 2007 -0700 nfsd warning fix gcc-4.3: fs/nfsd/nfsctl.c: In function 'write_getfs': fs/nfsd/nfsctl.c:248: warning: cast from pointer to integer of different size Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 019ab801cf32381b90cbe0144cc5695aed0e408c Author: Christoph Hellwig Date: Tue Jul 17 04:04:33 2007 -0700 knfsd: exportfs: split out reconnecting a dentry from find_exported_dentry There's a clear subfunctionality of reconnecting a given dentry to the main dentry tree in find_exported_dentry, that can be called both for the dentry we're looking for or it's parent directory. This patch splits the subfunctionality out into a separate helper to make the code more readable and document it's intent. As a nice side-optimization we can avoid getting a superfluous dentry reference count in the case we need to reconnect a directory on it's own. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd90b50906db2c03e236e046f2fc7f7290efe4b4 Author: Christoph Hellwig Date: Tue Jul 17 04:04:32 2007 -0700 knfsd: exportfs: add find_disconnected_root helper Break the loop that finds the root of a disconnected subtree into a helper of its own to make reading easier and document the intent. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb66a1989c8abc3015aa334f617658b277e5fe98 Author: Christoph Hellwig Date: Tue Jul 17 04:04:32 2007 -0700 knfsd: exportfs: move acceptable check into find_acceptable_alias All callers of find_acceptable_alias check if the current dentry is acceptable before looking for other acceptable aliases using find_acceptable_alias. Move the check into find_acceptable_alias to make the code a little more dense and add a comment to find_acceptable_alias that documents its intent. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7dd618a5901ce0b44ef518208b35f728775db74 Author: Christoph Hellwig Date: Tue Jul 17 04:04:31 2007 -0700 knfsd: exportfs: untangle ISDIR logic in find_exported_dentry Rework some logic in find_exported_dentry so that we only have a single S_ISDIR check and logic that makes clear to the reader what we're really doing here. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10f11c341da8c0ec6b8b024e892108a6537ba8c4 Author: Christoph Hellwig Date: Tue Jul 17 04:04:31 2007 -0700 knfsd: exportfs: remove CALL macro Currently exportfs uses a way to call methods very differently from the rest of the kernel. This patch changes it to the standard conventions for method calls. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d37065cd6d6bbe98fd4be14d6c9e64c0bfa124c5 Author: Christoph Hellwig Date: Tue Jul 17 04:04:30 2007 -0700 knfsd: exportfs: add procedural interface for NFSD Currently NFSD calls directly into filesystems through the export_operations structure. I plan to change this interface in various ways in later patches, and want to avoid the export of the default operations to NFSD, so this patch adds two simple exportfs_encode_fh/exportfs_decode_fh helpers for NFSD to call instead of poking into exportfs guts. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ca29607331fe37980dc3b488793ef8b1409b722 Author: Christoph Hellwig Date: Tue Jul 17 04:04:29 2007 -0700 knfsd: exportfs: remove iget abuse When the exportfs interface was added the expectation was that filesystems provide an operation to convert from a file handle to an inode/dentry, but it kept a backwards compat option that still calls into iget. Calling into iget from non-filesystem code is very bad, because it gives too little information to filesystem, and simply crashes if the filesystem doesn't implement the ->read_inode routine. Fortunately there are only two filesystems left using this fallback: efs and jfs. This patch moves a copy of export_iget to each of those to implement the get_dentry method. While this is a temporary increase of lines of code in the kernel it allows for a much cleaner interface and important code restructuring in later patches. [akpm@linux-foundation.org: add jfs_get_inode_flags() declaration] Signed-off-by: Dave Kleikamp Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a569425512253992cc64ebf8b6d00a62f986db3e Author: Christoph Hellwig Date: Tue Jul 17 04:04:28 2007 -0700 knfsd: exportfs: add exportfs.h header currently the export_operation structure and helpers related to it are in fs.h. fs.h is already far too large and there are very few places needing the export bits, so split them off into a separate header. [akpm@linux-foundation.org: fix cifs build] Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6dd4ac3b30b81b5bd0d628af1c89b7da689a38ea Author: Vasily Averin Date: Tue Jul 17 04:04:27 2007 -0700 i2o debug output cleanup Fix output of i2o debug messages, extra KERN_ are removed. Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44aaa9384faf68717cf3828dce6f8171a0a5d7bf Author: Vasily Averin Date: Tue Jul 17 04:04:27 2007 -0700 i2o proc reading oops Fix oops on reading from some i2o proc files (i2o_seq_show_driver_store() and other) because their handlers uses "exec" field in struct i2o_controller Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d0fd333a1c2659fb0495894090d1146b239fd9a Author: Vasily Averin Date: Tue Jul 17 04:04:26 2007 -0700 i2o message leak in i2o_msg_post_wait_mem() We need to free i2o msg in case of error. Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 010904cbed3db3464213fbc602802cc6f53e56e1 Author: Vasily Averin Date: Tue Jul 17 04:04:25 2007 -0700 wrong memory access in i2o_block_device_lock() This patch fixes access to memory that has not been allocated: i2o_msg_get_wait() can returns errors different from I2O_QUEUE_EMPTY. But the result is checked only against this code. If it is not I2O_QUEUE_EMPTY then we dereference the error code as the pointer later. Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1725d71d992f5947bdd5b4f9a30fe8a05571fe66 Author: Vasily Averin Date: Tue Jul 17 04:04:24 2007 -0700 i2o_cfg_passthru cleanup This patch fixes a number of issues in i2o_cfg_passthru{,32}: - i2o_msg_get_wait() return vaile is not checked; - i2o_message memory leaks on error paths; - infinite loop to sg_list_cleanup in passthru32 It's important issue because of i2o_cfg_passthru is used by raidutils for monitorig controllers state, and in case of memory shortage it leads to the node crash or disk IO stall. [akpm@linux-foundation.org: fix null-ptr deref] Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bf68a3699601bd3e53b4efce7f2d780e243aa35 Author: Armin Schindler Date: Tue Jul 17 04:04:23 2007 -0700 i4l: leak in eicon/idifunc.c coverity spotted a possible leak in the idifunc.c file (bug id #1252), in um_new_card(), if the diva_user_mode_idi_create_adapter() fails, we dont free the memory allocated for card Signed-off-by: Eric Sesterhenn Acked-by: Armin Schindler Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e6c20a93b700ba884a6bced498b2691e2dd821b Author: Andrew Morton Date: Tue Jul 17 04:04:22 2007 -0700 isdn/capi warning fixes drivers/isdn/capi/capi.c: In function 'handle_minor_send': drivers/isdn/capi/capi.c:552: warning: cast from pointer to integer of different size Of course, the code here might actually be buggy, in which case this patch should not be applied? Answer: No this field is ignored inside linux kernel.Yes this is ugly, but it's the CAPI spec for all OS. CAPI DATA_B3 Request/Indication CAPI Message has a mandatory field which represent the 32 bit buffer address of the payload data. In linux the payload data do not use a sperate buffer, data follows directely after the CAPI Message in the same skb and we use this assumption inside the drivers, so we can ignore this field. Inside the linux CAPI implemetation we never use this field, so it could also have no value, but since random data in a message is bad as well (e.g. displayed in CAPI traces) we set is to the most adequate value. Outside the kernel the capi20 library sets the correct addresses (there is an optional second field for 64 bit adresses for 64 bit systems, we do not use here). Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cd2aba2d3fc065069a0c305ddca1d9397ed9092 Author: Jan Engelhardt Date: Tue Jul 17 04:04:21 2007 -0700 Use menuconfig objects: ISDN: CONFIG_CAPI_EICON Transform Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f28df7e4aef3a14bf87a561dbd43935ba6ae59b2 Author: Jan Engelhardt Date: Tue Jul 17 04:04:21 2007 -0700 Use menuconfig objects: ISDN: CONFIG_CAPI_AVM Transform Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df19434cc268e207d1beb4dc7be3420888faef09 Author: Jan Engelhardt Date: Tue Jul 17 04:04:20 2007 -0700 Use menuconfig objects: ISDN: CONFIG_ISDN_CAPI Transform "depends on" into a simpler if-endif block style dependency. Signed-off-by: Jan Engelhardt Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf4d5f1d50e44d36d459344da3c8f226b3933aeb Author: Jan Engelhardt Date: Tue Jul 17 04:04:19 2007 -0700 Use menuconfig objects: ISDN: CONFIG_ISDN Transform Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c713f57ed5eb2e073de9d60ee1da25939966647e Author: Karsten Keil Date: Tue Jul 17 04:04:18 2007 -0700 sane irq initialization in sedlbauer hisax The interrupts schould be disabled until the driver is ready and the IRQ function was registered. Thanks to Bastian Friedrich and Thomas Voegtle for spotting this. Signed-off-by: Karsten Keil Signed-off-by: Bastian Friedrich Signed-off-by: Thomas Voegtle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b7c30292af56e64feaecdbe97da57918927b730 Author: Pavel Emelianov Date: Tue Jul 17 04:04:18 2007 -0700 Make ISDN CAPI use seq_list_xxx helpers The similar code exists here and is called capi_driver_get_idx(). Use generic helpers now and remember to convert list_head to struct capi_driver in .show callback. Signed-off-by: Pavel Emelianov Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6acee02712d0592dcd6120bc54d77c47cd2f6059 Author: David Woodhouse Date: Tue Jul 17 04:04:17 2007 -0700 Mismatching declarations of revision strings in HiSax The {l1,l2,l3,lli,tei}_revision strings in the HiSax driver are 'const', but have a mismatching declaration as 'extern char *' in config.c. Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67837f232d6d55be99d6e0dec4ea9bb8112840cd Author: Matthias Kaehlcke Date: Tue Jul 17 04:04:16 2007 -0700 Use mutex instead of semaphore in CAPI 2.0 driver The CAPI 2.0 driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 940408289842677cfe9e053a6c423bf3fb922560 Author: Matthias Kaehlcke Date: Tue Jul 17 04:04:16 2007 -0700 use mutex instead of semaphore in SPI core/init code The SPI core/init code uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2cac67dd36626128e06e79fc7ca95d544dcdc67 Author: Atsushi Nemoto Date: Tue Jul 17 04:04:15 2007 -0700 spi_txx9 controller driver This is a driver for SPI controller built into TXx9 MIPS SoCs. This driver is derived from arch/mips/tx4938/toshiba_rbtx4938/spi_txx9.c. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccdc7bf925731ef37f0af95262d675b74544932f Author: Samuel Ortiz Date: Tue Jul 17 04:04:13 2007 -0700 SPI: omap2_mcspi driver Add OMAP24XX McSPI (Multichannel SPI) controller driver. This driver is tested very well under OMAP GIT tree with N800 - Nokia Internet Tablet, and some other OMAP2 boards. Recent updates included bugfixes, cleanups, speedups, and better conformance to the current SPI programming interface. This doesn't yet understand the third controller instance on the OMAP 2430. [david-b@pacbell.net: more minor cleanups to the omap2_mcspi driver] Signed-off-by: Juha Yrjölä Signed-off-by: Trilok Soni Signed-off-by: David Brownell Cc: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f29ba280ecb46331c1f6842b094808af01131422 Author: Joakim Tjernlund Date: Tue Jul 17 04:04:12 2007 -0700 spi_mpc83xx.c: support QE enabled 83xx CPU's like mpc832x Quicc Engine enabled mpc83xx CPU's has a somewhat different HW interface to the SPI controller. This patch adds a qe_mode knob that sees to that needed adaptions are performed. Signed-off-by: Joakim Tjernlund Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae918c02d365c884bccb193960db41364868bb7b Author: Andrei Konovalov Date: Tue Jul 17 04:04:11 2007 -0700 SPI master driver for Xilinx virtex Simple SPI master driver for Xilinx SPI controller. No support for multiple masters. Not using level 1 drivers from EDK. [akpm@linux-foundation.org: uninlining] Signed-off-by: Yuri Frolov Signed-off-by: Andrei Konovalov Cc: Kumar Gala Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 447aef1a19135a69bfd725c33f7e753740cb8447 Author: Ben Dooks Date: Tue Jul 17 04:04:10 2007 -0700 SPI: tle620x power switch driver Add support for the Infineon TLE62x0 series of low-side driver chips, such as the TLE6220 or TLE6230. These can be viewed as output GPIOs specialized for power switching applications. The driver provides a userspace interface to those GPIOs, and to the switch status they provide. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da0abc275f029e0f52c5165de524bcf64e717703 Author: David Brownell Date: Tue Jul 17 04:04:09 2007 -0700 S3c24xx SPI controllers both select 'bitbang' Tweak Kconfig for the S3C24XX SPI controller drivers. Both use the bitbang framework; only one previously said that. Plus in this case "select" is the right way to manage that dependency, since folk will not know up front to enable bitbang in order to even see those S3C drivers in order to enable them. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit defbd3b4bbd9d85a68529f829f4ee39899c318dc Author: David Brownell Date: Tue Jul 17 04:04:08 2007 -0700 atmel_spi: don't always deselect chip between messages Update chipselect handling for atmel_spi: * Teach it how to leave chipselect active between messages; this helps various drivers work better. * Cope with at91rm0200 errata: nCS0 can't be managed with GPIOs. The MR.PCS value is now updated whenever a chipselect changes. (This requires SPI pinmux init for that controller to change, and also testing on rm9200; doesn't break at91sam9 or avr32.) * Fix minor glitches: spi_setup() must leave chipselects inactive, as must removal of the spi_device. Also tweak diagnostic messaging to be a bit more useful. Signed-off-by: David Brownell Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8da0859a246838c81fe57d952b91d419e9c44179 Author: David Brownell Date: Tue Jul 17 04:04:07 2007 -0700 atmel_spi: minor updates Minor updates to atmel_spi: - DMA: * Comments to explain the DMA policies * Report any mapping errors from spi_transfer() * Remove extra loop for DMA mapping - Diagnostics: report minimum clock rate, if we need to reject a spi_setup() request because that rate is too low. Signed-off-by: David Brownell Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 698ca47e8dba93f4b001b06b4c7037b09ac6eb09 Author: Clifford Wolf Date: Tue Jul 17 04:04:06 2007 -0700 spi_mpc83xx.c underclocking hotfix The MPC83xx SPI controller clock divider can divide the system clock by not more then 1024. The spi_mpc83xx driver does not check this and silently writes garbage to the SPI controller registers when asked to run at lower frequencies. I've tried to run the SPI on a 266MHz MPC8349E with 100kHz for debugging a bus problem and suddenly was confronted with a 2nd problem to debug.. ;-) The patch adds an additional check which avoids writing garbage to the SPI controller registers and warn the user about it. This might help others to avoid simmilar problems. Cc: Kumar Gala Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78961a5740374a8143f8fe120300f2ed160dd276 Author: Kaiwan N Billimoria Date: Tue Jul 17 04:04:05 2007 -0700 spi_lm70llp parport adapter driver This adds a driver for the LM70-LLP parport adapter, which is an eval board for the LM70 temperature sensor. For those without that board, it may be a simpler example of a parport-to-SPI adapter then spi_butterfly. Signed-off-by: Kaiwan N Billimoria Doc, coding style, and interface updates; build fixes. Minor rename. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4917d927809918f0070bd1077b41e3daf78643b2 Author: David Brownell Date: Tue Jul 17 04:04:04 2007 -0700 spidev compiler warning gone Get rid of annoying GCC warning on 32-bit platforms. drivers/spi/spidev.c: In function 'spidev_message': drivers/spi/spidev.c:184: warning: cast to pointer from integer of different size drivers/spi/spidev.c:216: warning: cast to pointer from integer of different size The trick is to add an extra cast using "ptrdiff_t" to convert the u64 to the correct size integer, and only then casting it into a "void *" pointer. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad241528c4919505afccb022acbab3eeb0db4d80 Author: Jan Nikitenko Date: Tue Jul 17 04:04:03 2007 -0700 CRC7 support Add CRC7 routines, used for example in MMC over SPI communication. Kerneldoc updates [akpm@linux-foundation.org: fix funny mix of const and non-const] Signed-off-by: Jan Nikitenko Signed-off-by: David Brownell Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c06e677aed0c86480b01faa894967daa8aa3568a Author: David Brownell Date: Tue Jul 17 04:04:03 2007 -0700 SPI: add 3wire mode flag Add a new spi->mode bit: SPI_3WIRE, for chips where the SI and SO signals are shared (and which are thus only half duplex). Update the LM70 driver to require support for that hardware mode from the controller. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dccd573bb02aa011a4a7146c02c409ac0bd722a0 Author: David Brownell Date: Tue Jul 17 04:04:02 2007 -0700 SPI controller drivers: check for unsupported modes Minor SPI controller driver updates: make the setup() methods reject spi->mode bits they don't support, by masking aginst the inverse of bits they *do* support. This insures against misbehavior later when new mode bits get added. Most controllers can't support SPI_LSB_FIRST; more handle SPI_CS_HIGH. Support for all four SPI clock/transfer modes is routine. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff294cba8a62fa8334b88692da6d48683900f015 Author: Dmitry Torokhov Date: Tue Jul 17 04:04:01 2007 -0700 IBMASM: must depend on CONFIG_INPUT IBMASM: must depend on CONFIG_INPUT The driver registers couple of input devices and therefore must depend on CONFIG_INPUT. Signed-off-by: Dmitry Torokhov Cc: Vernon Mauery Cc: Max Asbock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8945495697d9f461d4c923e0ed26c0e309b0dffc Author: Dmitry Torokhov Date: Tue Jul 17 04:04:01 2007 -0700 IBMASM: miscellaneous fixes IBMASM: miscellaneous fixes Fix some minor issues, such as: - properly set up ID of keyboard device (was mixed up with mouse) - constify translation tables - change some variables to #defines - set up input device's parent to form proper sysfs hierarchy - minor formatting changes Signed-off-by: Dmitry Torokhov Cc: Vernon Mauery Cc: Max Asbock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da6b9c92d12ee6594170d839e2e78043bd2af286 Author: Dmitry Torokhov Date: Tue Jul 17 04:04:00 2007 -0700 IBMASM: dont use extern in function declarations IBMASM: don't use extern in function declarations We normally don't use extern in function declarations located in header files. Signed-off-by: Dmitry Torokhov Cc: Vernon Mauery Cc: Max Asbock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3110dc7a8660ea1617afac2a55e3d18ae6ce141b Author: Dmitry Torokhov Date: Tue Jul 17 04:03:58 2007 -0700 IBMASM: whitespace cleanup IBMASM: whitespace cleanup Signed-off-by: Dmitry Torokhov Cc: Vernon Mauery Cc: Max Asbock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 567f3e422a9a155d7c7643148efb5bf959065d34 Author: Andrew Morton Date: Tue Jul 17 04:03:58 2007 -0700 x86_64: speedup touch_nmi_watchdog Avoid dirtying remote cpu's memory if it already has the correct value. Cc: Andi Kleen Cc: Konrad Rzeszutek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2890255b0ade497893d1e5e99f519b5c1d50f7d Author: Andrew Morton Date: Tue Jul 17 04:03:57 2007 -0700 i386: speedup touch_nmi_watchdog Avoid dirtying remote cpu's memory if it already has the correct value. Cc: Andi Kleen Cc: Konrad Rzeszutek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c978b935e81da9434342f0bc8263c6cfe1214ce Author: Konrad Rzeszutek Date: Tue Jul 17 04:03:56 2007 -0700 Inhibit NMI watchdog when Alt-SysRq-T operation is underway On large memory configuration with not so fast CPUs the NMI watchdog is triggered when memory addresses are being gathered and printed. The code paths for Alt-SysRq-t are sprinkled with touch_nmi_watchdog in various places but not in this routine (or in the loop that utilizes this function). The patch has been tested for regression on large CPU+memory configuration (128 logical CPUs + 224 GB) and 1,2,4,16-CPU sockets with various memory sizes (1,2,4,6,20). Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a41de48b81e61fbe260ae5031ebcb6f935f35fb Author: Alexey Dobriyan Date: Tue Jul 17 04:03:56 2007 -0700 Fix sparse false positives re BUG_ON(ptr) sparse now warns if one compares pointers with integers. However, there are false positives, like: fs/filesystems.c:72:2: warning: Using plain integer as NULL pointer Every time BUG_ON(ptr) is used, ptr is checked against integer zero. Avoid that and save ~70 false positives from allyesconfig run. mentioned by Al. Signed-off-by: Alexey Dobriyan Acked-by: Al Viro Acked-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13c22168b7276dffe49dc66675d5a78f6d288e0d Author: Oleg Nesterov Date: Tue Jul 17 04:03:55 2007 -0700 destroy_workqueue() can livelock Pointed out by Michal Schmidt . The bug was introduced in 2.6.22 by me. cleanup_workqueue_thread() does flush_cpu_workqueue(cwq) in a loop until ->worklist becomes empty. This is live-lockable, a re-niced caller can get CPU after wake_up() and insert a new barrier before the lower-priority cwq->thread has a chance to clear ->current_work. Change cleanup_workqueue_thread() to do flush_cpu_workqueue(cwq) only once. We can rely on the fact that run_workqueue() won't return until it flushes all works. So it is safe to call kthread_stop() after that, the "should stop" request won't be noticed until run_workqueue() returns. Signed-off-by: Oleg Nesterov Cc: Michal Schmidt Cc: Srivatsa Vaddagiri Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87a7defb0d4255d5aea2c5067813b26836127983 Author: Ananth N Mavinakayanahalli Date: Tue Jul 17 04:03:54 2007 -0700 Kprobes on select architectures no longer EXPERIMENTAL Based on usage and testing over the past couple of years, kprobes on i386, ia64, powerpc and x86_64 is no longer EXPERIMENTAL. This is a follow-up to Robert P.J. Day's patch making "Instrumentation support" non-EXPERIMENTAL: http://marc.info/?l=linux-kernel&m=118396955423812&w=2 Arch maintainers for sparc64, avr32 and s390 need to take a similar call. Signed-off-by: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b78cc9ac8602baafebb75a09025ffb17d1aebc2 Author: Jan Engelhardt Date: Tue Jul 17 04:03:53 2007 -0700 make timespec_equal() take const arguments Make arguments of timespec_equal() const struct timespec. Signed-off-by: Jan Engelhardt Cc: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9281acea6a3687ff0f262e0be31eac34895b95d7 Author: Tejun Heo Date: Tue Jul 17 04:03:51 2007 -0700 kallsyms: make KSYM_NAME_LEN include space for trailing '\0' KSYM_NAME_LEN is peculiar in that it does not include the space for the trailing '\0', forcing all users to use KSYM_NAME_LEN + 1 when allocating buffer. This is nonsense and error-prone. Moreover, when the caller forgets that it's very likely to subtly bite back by corrupting the stack because the last position of the buffer is always cleared to zero. This patch increments KSYM_NAME_LEN by one and updates code accordingly. * off-by-one bug in asm-powerpc/kprobes.h::kprobe_lookup_name() macro is fixed. * Where MODULE_NAME_LEN and KSYM_NAME_LEN were used together, MODULE_NAME_LEN was treated as if it didn't include space for the trailing '\0'. Fix it. Signed-off-by: Tejun Heo Acked-by: Paulo Marques Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b45d52797432bd6b5d9786dbda940eb8d0b9ed06 Author: Maciej W. Rozycki Date: Tue Jul 17 04:03:50 2007 -0700 sb1250-duart.c: SB1250 DUART serial support This is a driver for the SB1250 DUART, a dual serial port implementation included in the Broadcom family of SOCs descending from the SiByte SB1250 MIPS64 chip multiprocessor. It is a new implementation replacing the old-fashioned driver currently present in the linux-mips.org tree. It supports all the usual features one would expect from a(n asynchronous) serial driver, including modem line control (as far as hardware supports it -- there is edge detection logic missing from the DCD and RI lines and the driver does not implement polling of these lines at the moment), the serial console, BREAK transmission and reception, including the magic SysRq. The receive FIFO threshold is not maintained though. The driver was tested with a SWARM board which uses a BCM1250 SOC (which is dual MIPS64 CMP) and has both ports of the single DUART implemented wired externally. Both were tested. Testing included using the ports as terminal lines at 1200bps (which is the ports minimum), 115200bps and a couple of random speeds inbetween. The modem lines were verified to operate correctly. No testing was performed with a use as a network interface, like with SLIP or PPP. Signed-off-by: Maciej W. Rozycki Acked-by: Ralf Baechle Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9e86f419073605b4520848021cc042963c227c7 Author: Roland McGrath Date: Tue Jul 17 04:03:49 2007 -0700 Remove CHILD_MAX The CHILD_MAX macro in limits.h should not be there. It claims to be the limit on processes a user can own, but its value is wrong for that. There is no constant value, but a variable resource limit (RLIMIT_NPROC). Nothing in the kernel uses CHILD_MAX. The proper thing to do according to POSIX is not to define CHILD_MAX at all. The sysconf (_SC_CHILD_MAX) implementation works by calling getrlimit. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77293034696e3e0b6c8b8fc1f96be091104b3d2b Author: Roland McGrath Date: Tue Jul 17 04:03:49 2007 -0700 Remove OPEN_MAX The OPEN_MAX macro in limits.h should not be there. It claims to be the limit on file descriptors in a process, but its value is wrong for that. There is no constant value, but a variable resource limit (RLIMIT_NOFILE). Nothing in the kernel uses OPEN_MAX except things that are wrong to do so. I've submitted other patches to remove those uses. The proper thing to do according to POSIX is not to define OPEN_MAX at all. The sysconf (_SC_OPEN_MAX) implementation works by calling getrlimit. Signed-off-by: Roland McGrath Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c09edd6eba683741bb8aa8e388a2bfaf1c1a28f9 Author: Roland McGrath Date: Tue Jul 17 04:03:48 2007 -0700 avoid OPEN_MAX in SCM_MAX_FD The OPEN_MAX constant is an arbitrary number with no useful relation to anything. Nothing should be using it. SCM_MAX_FD is just an arbitrary constant and it should be clear that its value is chosen in net/scm.h and not actually derived from anything else meaningful in the system. Signed-off-by: Roland McGrath Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4480240f700587c15507b7815e75989b16825b2 Author: Akinobu Mita Date: Tue Jul 17 04:03:47 2007 -0700 unregister_blkdev(): return void Put WARN_ON and fixed all callers of unregister_blkdev(). Now we can make unregister_blkdev return void. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6d4d63489f2e3ce38c80e7073952f0c58d4c2bc Author: Akinobu Mita Date: Tue Jul 17 04:03:46 2007 -0700 unregister_blkdev(): delete redundant message No need to warn unregister_blkdev() failure by caller. (The previous patch makes unregister_blkdev() print error message in error case) Acked-by: Grant Likely Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00d59405cf6d7ef8932394ab5a12da1a50ce581e Author: Akinobu Mita Date: Tue Jul 17 04:03:46 2007 -0700 unregister_blkdev() delete redundant messages in callers No need to warn unregister_blkdev() failure by the callers. (The previous patch makes unregister_blkdev() print error message in error case) Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 294462a5c6c4fb9a6ced9cb5a368ff335f1b656e Author: Akinobu Mita Date: Tue Jul 17 04:03:45 2007 -0700 unregister_blkdev(): do WARN_ON on failure When unregister_blkdev() has failed, something wrong happened. This patch adds WARN_ON to notify of such badness. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62239ac2b301abc397e70986649666cfb7835907 Author: Adrian Bunk Date: Tue Jul 17 04:03:45 2007 -0700 proper prototype for proc_nr_files() Add a proper prototype for proc_nr_files() in include/linux/fs.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f284ce7269031947326bac6bb19a977705276222 Author: Alexey Dobriyan Date: Tue Jul 17 04:03:44 2007 -0700 PTRACE_POKEDATA consolidation Identical implementations of PTRACE_POKEDATA go into generic_ptrace_pokedata() function. AFAICS, fix bug on xtensa where successful PTRACE_POKEDATA will nevertheless return EPERM. Signed-off-by: Alexey Dobriyan Cc: Christoph Hellwig Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7664732315c97f48dba9d1e7339ad16fc5a320ac Author: Alexey Dobriyan Date: Tue Jul 17 04:03:43 2007 -0700 PTRACE_PEEKDATA consolidation Identical implementations of PTRACE_PEEKDATA go into generic_ptrace_peekdata() function. Signed-off-by: Alexey Dobriyan Cc: Christoph Hellwig Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcdcd8e725b923ad7c0de809680d5d5658a7bf8c Author: Pavel Emelianov Date: Tue Jul 17 04:03:42 2007 -0700 Report that kernel is tainted if there was an OOPS If the kernel OOPSed or BUGed then it probably should be considered as tainted. Thus, all subsequent OOPSes and SysRq dumps will report the tainted kernel. This saves a lot of time explaining oddities in the calltraces. Signed-off-by: Pavel Emelianov Acked-by: Randy Dunlap Cc: Signed-off-by: Andrew Morton [ Added parisc patch from Matthew Wilson -Linus ] Signed-off-by: Linus Torvalds commit 74489a91dd43aecd638709d34a2f58b91cfda5cf Author: Grant Likely Date: Tue Jul 17 04:03:39 2007 -0700 Add support for Xilinx SystemACE CompactFlash interface Tested on Xilinx Virtex ppc405, Katmai 440SPe, and Microblaze Signed-off-by: Grant Likely Acked-by: Stefan Roese Cc: Jens Axboe Cc: John William Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99121c0da3586f46a0397d9b0b4551a6286d003d Author: Vitaly Bordug Date: Tue Jul 17 04:03:37 2007 -0700 powerpc: 8xx: fix whitespace and indentation Rolling forward PCMCIA driver, it was discovered that the indentation in existing one, as well as in BSP side are very odd. This patch is just result of Lindent run ontop of culprit files. Signed-off-by: Vitaly Bordug Cc: Arnd Bergmann Cc: Olof Johansson Cc: Dominik Brodowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a7326b5bbafac4c96bcdb944b2a773593030b96 Author: Christoph Lameter Date: Tue Jul 17 04:03:37 2007 -0700 CONFIG_BOUNCE to avoid useless inclusion of bounce buffer logic The bounce buffer logic is included on systems that do not need it. If a system does not have zones like ZONE_DMA and ZONE_HIGHMEM that can lead to the use of bounce buffers then there is no need to reserve memory pools etc etc. This is true f.e. for SGI Altix. Also nicifies the Makefile and gets rid of the tricky "and" there. Signed-off-by: Christoph Lameter Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 831441862956fffa17b9801db37e6ea1650b0f69 Author: Rafael J. Wysocki Date: Tue Jul 17 04:03:35 2007 -0700 Freezer: make kernel threads nonfreezable by default Currently, the freezer treats all tasks as freezable, except for the kernel threads that explicitly set the PF_NOFREEZE flag for themselves. This approach is problematic, since it requires every kernel thread to either set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't care for the freezing of tasks at all. It seems better to only require the kernel threads that want to or need to be frozen to use some freezer-related code and to remove any freezer-related code from the other (nonfreezable) kernel threads, which is done in this patch. The patch causes all kernel threads to be nonfreezable by default (ie. to have PF_NOFREEZE set by default) and introduces the set_freezable() function that should be called by the freezable kernel threads in order to unset PF_NOFREEZE. It also makes all of the currently freezable kernel threads call set_freezable(), so it shouldn't cause any (intentional) change of behaviour to appear. Additionally, it updates documentation to describe the freezing of tasks more accurately. [akpm@linux-foundation.org: build fixes] Signed-off-by: Rafael J. Wysocki Acked-by: Nigel Cunningham Cc: Pavel Machek Cc: Oleg Nesterov Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 787d2214c19bcc9b6ac48af0ce098277a801eded Author: Nick Piggin Date: Tue Jul 17 04:03:34 2007 -0700 fs: introduce some page/buffer invariants It is a bug to set a page dirty if it is not uptodate unless it has buffers. If the page has buffers, then the page may be dirty (some buffers dirty) but not uptodate (some buffers not uptodate). The exception to this rule is if the set_page_dirty caller is racing with truncate or invalidate. A buffer can not be set dirty if it is not uptodate. If either of these situations occurs, it indicates there could be some data loss problem. Some of these warnings could be a harmless one where the page or buffer is set uptodate immediately after it is dirtied, however we should fix those up, and enforce this ordering. Bring the order of operations for truncate into line with those of invalidate. This will prevent a page from being able to go !uptodate while we're holding the tree_lock, which is probably a good thing anyway. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1ed3dda0ad181532f1e0f0d548067fb9fdddac4 Author: Robert P. J. Day Date: Tue Jul 17 04:03:33 2007 -0700 MM: Make needlessly global hugetlb_no_page() static. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5fab14e5d87df4d94161ae5f5e0c8625f9ffda2 Author: Christoph Lameter Date: Tue Jul 17 04:03:33 2007 -0700 Add VM_BUG_ON in case someone uses page_mapping on a slab page Detect slab objects being passed to the page oriented functions of the VM. It is not sufficient to simply return NULL because the functions calling page_mapping may depend on other items of the page_struct also to be setup properly. Moreover slab object may not be properly aligned. The page oriented functions of the VM expect to operate on page aligned, page sized objects. Operations on object straddling page boundaries may only affect the objects partially which may lead to surprising results. It is better to detect eventually remaining uses and eliminate them. Signed-off-by: Christoph Lameter Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0acd820807680d2ccc4ef3448387fcdbf152c73 Author: Christoph Lameter Date: Tue Jul 17 04:03:32 2007 -0700 Make SLUB the default allocator There are some reports that 2.6.22 has SLUB as the default. Not true! This will make SLUB the default for 2.6.23. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ab1372fac5684de56c68f0da1ddc90e1c4ce740 Author: Christoph Lameter Date: Tue Jul 17 04:03:32 2007 -0700 SLUB: Fix CONFIG_SLUB_DEBUG use for CONFIG_NUMA We currently cannot disable CONFIG_SLUB_DEBUG for CONFIG_NUMA. Now that embedded systems start to use NUMA we may need this. Put an #ifdef around places where NUMA only code uses fields only valid for CONFIG_SLUB_DEBUG. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0e1d1be204612ee83b3afe8aa24c5d27e63d464 Author: Christoph Lameter Date: Tue Jul 17 04:03:31 2007 -0700 SLUB: Move sysfs operations outside of slub_lock Sysfs can do a gazillion things when called. Make sure that we do not call any sysfs functions while holding the slub_lock. Just protect the essentials: 1. The list of all slab caches 2. The kmalloc_dma array 3. The ref counters of the slabs. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 434e245ddd3f14aa8eef97cae16c71b863ab092a Author: Christoph Lameter Date: Tue Jul 17 04:03:30 2007 -0700 SLUB: Do not allocate object bit array on stack The objects per slab increase with the current patches in mm since we allow up to order 3 allocs by default. More patches in mm actually allow to use 2M or higher sized slabs. For slab validation we need per object bitmaps in order to check a slab. We end up with up to 64k objects per slab resulting in a potential requirement of 8K stack space. That does not look good. Allocate the bit arrays via kmalloc. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94f6030ca792c57422f04a73e7a872d8325946d3 Author: Christoph Lameter Date: Tue Jul 17 04:03:29 2007 -0700 Slab allocators: Replace explicit zeroing with __GFP_ZERO kmalloc_node() and kmem_cache_alloc_node() were not available in a zeroing variant in the past. But with __GFP_ZERO it is possible now to do zeroing while allocating. Use __GFP_ZERO to remove the explicit clearing of memory via memset whereever we can. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81cda6626178cd55297831296ba8ecedbfd8b52d Author: Christoph Lameter Date: Tue Jul 17 04:03:29 2007 -0700 Slab allocators: Cleanup zeroing allocations It becomes now easy to support the zeroing allocs with generic inline functions in slab.h. Provide inline definitions to allow the continued use of kzalloc, kmem_cache_zalloc etc but remove other definitions of zeroing functions from the slab allocators and util.c. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce15fea8274acca06daa1674322d37a7d3f0036b Author: Christoph Lameter Date: Tue Jul 17 04:03:28 2007 -0700 SLUB: Do not use length parameter in slab_alloc() We can get to the length of the object through the kmem_cache_structure. The additional parameter does no good and causes the compiler to generate bad code. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12ad6843dd145050231ec5a27fe326c2085f9095 Author: Christoph Lameter Date: Tue Jul 17 04:03:28 2007 -0700 SLUB: Style fix up the loop to disable small slabs Do proper spacing and we only need to do this in steps of 8. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5af328a51067d8dc574c2b2c2629dd436a1e841e Author: Adrian Bunk Date: Tue Jul 17 04:03:27 2007 -0700 mm/slub.c: make code static Signed-off-by: Adrian Bunk Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b55f620e6908fec2d51751320c2a9459b5f375f Author: Christoph Lameter Date: Tue Jul 17 04:03:27 2007 -0700 SLUB: Simplify dma index -> size calculation There is no need to caculate the dma slab size ourselves. We can simply lookup the size of the corresponding non dma slab. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1b263393626fe66bee34ccdbf0487cd377e0213 Author: Christoph Lameter Date: Tue Jul 17 04:03:26 2007 -0700 SLUB: faster more efficient slab determination for __kmalloc kmalloc_index is a long series of comparisons. The attempt to replace kmalloc_index with something more efficient like ilog2 failed due to compiler issues with constant folding on gcc 3.3 / powerpc. kmalloc_index()'es long list of comparisons works fine for constant folding since all the comparisons are optimized away. However, SLUB also uses kmalloc_index to determine the slab to use for the __kmalloc_xxx functions. This leads to a large set of comparisons in get_slab(). The patch here allows to get rid of that list of comparisons in get_slab(): 1. If the requested size is larger than 192 then we can simply use fls to determine the slab index since all larger slabs are of the power of two type. 2. If the requested size is smaller then we cannot use fls since there are non power of two caches to be considered. However, the sizes are in a managable range. So we divide the size by 8. Then we have only 24 possibilities left and then we simply look up the kmalloc index in a table. Code size of slub.o decreases by more than 200 bytes through this patch. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfce8648d64c07eade40d456d59cb4bfcbba008c Author: Christoph Lameter Date: Tue Jul 17 04:03:25 2007 -0700 SLUB: do proper locking during dma slab creation We modify the kmalloc_cache_dma[] array without proper locking. Do the proper locking and undo the dma cache creation if another processor has already created it. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e443fd003d76394a8ceb78f079260478aa10710 Author: Christoph Lameter Date: Tue Jul 17 04:03:24 2007 -0700 SLUB: extract dma_kmalloc_cache from get_cache. The rarely used dma functionality in get_slab() makes the function too complex. The compiler begins to spill variables from the working set onto the stack. The created function is only used in extremely rare cases so make sure that the compiler does not decide on its own to merge it back into get_slab(). Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c710013200e72b5e0bc680ff4ec6bdac53c5ce8 Author: Christoph Lameter Date: Tue Jul 17 04:03:24 2007 -0700 SLUB: add some more inlines and #ifdef CONFIG_SLUB_DEBUG Add #ifdefs around data structures only needed if debugging is compiled into SLUB. Add inlines to small functions to reduce code size. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d07dbea46405b37d59495eb4de9d1056dcfb7c6d Author: Christoph Lameter Date: Tue Jul 17 04:03:23 2007 -0700 Slab allocators: support __GFP_ZERO in all allocators A kernel convention for many allocators is that if __GFP_ZERO is passed to an allocator then the allocated memory should be zeroed. This is currently not supported by the slab allocators. The inconsistency makes it difficult to implement in derived allocators such as in the uncached allocator and the pool allocators. In addition the support zeroed allocations in the slab allocators does not have a consistent API. There are no zeroing allocator functions for NUMA node placement (kmalloc_node, kmem_cache_alloc_node). The zeroing allocations are only provided for default allocs (kzalloc, kmem_cache_zalloc_node). __GFP_ZERO will make zeroing universally available and does not require any addititional functions. So add the necessary logic to all slab allocators to support __GFP_ZERO. The code is added to the hot path. The gfp flags are on the stack and so the cacheline is readily available for checking if we want a zeroed object. Zeroing while allocating is now a frequent operation and we seem to be gradually approaching a 1-1 parity between zeroing and not zeroing allocs. The current tree has 3476 uses of kmalloc vs 2731 uses of kzalloc. Signed-off-by: Christoph Lameter Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cb8f91320d3e720351c21741da795fed580b21b Author: Christoph Lameter Date: Tue Jul 17 04:03:22 2007 -0700 Slab allocators: consistent ZERO_SIZE_PTR support and NULL result semantics Define ZERO_OR_NULL_PTR macro to be able to remove the checks from the allocators. Move ZERO_SIZE_PTR related stuff into slab.h. Make ZERO_SIZE_PTR work for all slab allocators and get rid of the WARN_ON_ONCE(size == 0) that is still remaining in SLAB. Make slub return NULL like the other allocators if a too large memory segment is requested via __kmalloc. Signed-off-by: Christoph Lameter Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef2ad80c7d255ed0449eda947c2d700635b7e0f5 Author: Christoph Lameter Date: Tue Jul 17 04:03:21 2007 -0700 Slab allocators: consolidate code for krealloc in mm/util.c The size of a kmalloc object is readily available via ksize(). ksize is provided by all allocators and thus we can implement krealloc in a generic way. Implement krealloc in mm/util.c and drop slab specific implementations of krealloc. Signed-off-by: Christoph Lameter Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d45f39cb06610ea456e1d689149b9becacda8b40 Author: Christoph Lameter Date: Tue Jul 17 04:03:21 2007 -0700 SLUB Debug: fix initial object debug state of NUMA bootstrap objects The function we are calling to initialize object debug state during early NUMA bootstrap sets up an inactive object giving it the wrong redzone signature. The bootstrap nodes are active objects and should have active redzone signatures. Currently slab validation complains and reverts the object to active state. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6300ea75031e7aebfe3331245b7f750d82621223 Author: Christoph Lameter Date: Tue Jul 17 04:03:20 2007 -0700 SLUB: ensure that the number of objects per slab stays low for high orders Currently SLUB has no provision to deal with too high page orders that may be specified on the kernel boot line. If an order higher than 6 (on a 4k platform) is generated then we will BUG() because slabs get more than 65535 objects. Add some logic that decreases order for slabs that have too many objects. This allow booting with slab sizes up to MAX_ORDER. For example slub_min_order=10 will boot with a default slab size of 4M and reduce slab sizes for small object sizes to lower orders if the number of objects becomes too big. Large slab sizes like that allow a concentration of objects of the same slab cache under as few as possible TLB entries and thus potentially reduces TLB pressure. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68dff6a9af9f27df5aeee6d0339818b0e36c1b51 Author: Christoph Lameter Date: Tue Jul 17 04:03:20 2007 -0700 SLUB slab validation: Move tracking information alloc outside of lock We currently have to do an GFP_ATOMIC allocation because the list_lock is already taken when we first allocate memory for tracking allocation information. It would be better if we could avoid atomic allocations. Allocate a size of the tracking table that is usually sufficient (one page) before we take the list lock. We will then only do the atomic allocation if we need to resize the table to become larger than a page (mostly only needed under large NUMA because of the tracking of cpus and nodes otherwise the table stays small). Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b95a4acf157eee552e013795b54eaa2ab1ee4a1 Author: Christoph Lameter Date: Tue Jul 17 04:03:19 2007 -0700 SLUB: use list_for_each_entry for loops over all slabs Use list_for_each_entry() instead of list_for_each(). Get rid of for_all_slabs(). It had only one user. So fold it into the callback. This also gets rid of cpu_slab_flush. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2492268472e7d326a6fe10f92f9211c4578f2482 Author: Christoph Lameter Date: Tue Jul 17 04:03:18 2007 -0700 SLUB: change error reporting format to follow lockdep loosely Changes the error reporting format to loosely follow lockdep. If data corruption is detected then we generate the following lines: ============================================ BUG : -------------------------------------------- INFO: [possibly multiple times] FIX : This also adds some more intelligence to the data corruption detection. Its now capable of figuring out the start and end. Add a comment on how to configure SLUB so that a production system may continue to operate even though occasional slab corruption occur through a misbehaving kernel component. See "Emergency operations" in Documentation/vm/slub.txt. [akpm@linux-foundation.org: build fix] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e1f936b73150f5095448a0fee6d4f30a1f9001d Author: Rusty Russell Date: Tue Jul 17 04:03:17 2007 -0700 mm: clean up and kernelify shrinker registration I can never remember what the function to register to receive VM pressure is called. I have to trace down from __alloc_pages() to find it. It's called "set_shrinker()", and it needs Your Help. 1) Don't hide struct shrinker. It contains no magic. 2) Don't allocate "struct shrinker". It's not helpful. 3) Call them "register_shrinker" and "unregister_shrinker". 4) Call the function "shrink" not "shrinker". 5) Reduce the 17 lines of waffly comments to 13, but document it properly. Signed-off-by: Rusty Russell Cc: David Chinner Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ad333eb66ff1e52a87639822ae088577669dcf9 Author: Andy Whitcroft Date: Tue Jul 17 04:03:16 2007 -0700 Lumpy Reclaim V4 When we are out of memory of a suitable size we enter reclaim. The current reclaim algorithm targets pages in LRU order, which is great for fairness at order-0 but highly unsuitable if you desire pages at higher orders. To get pages of higher order we must shoot down a very high proportion of memory; >95% in a lot of cases. This patch set adds a lumpy reclaim algorithm to the allocator. It targets groups of pages at the specified order anchored at the end of the active and inactive lists. This encourages groups of pages at the requested orders to move from active to inactive, and active to free lists. This behaviour is only triggered out of direct reclaim when higher order pages have been requested. This patch set is particularly effective when utilised with an anti-fragmentation scheme which groups pages of similar reclaimability together. This patch set is based on Peter Zijlstra's lumpy reclaim V2 patch which forms the foundation. Credit to Mel Gorman for sanitity checking. Mel said: The patches have an application with hugepage pool resizing. When lumpy-reclaim is used used with ZONE_MOVABLE, the hugepages pool can be resized with greater reliability. Testing on a desktop machine with 2GB of RAM showed that growing the hugepage pool with ZONE_MOVABLE on it's own was very slow as the success rate was quite low. Without lumpy-reclaim, each attempt to grow the pool by 100 pages would yield 1 or 2 hugepages. With lumpy-reclaim, getting 40 to 70 hugepages on each attempt was typical. [akpm@osdl.org: ia64 pfn_to_nid fixes and loop cleanup] [bunk@stusta.de: static declarations for internal functions] [a.p.zijlstra@chello.nl: initial lumpy V2 implementation] Signed-off-by: Andy Whitcroft Acked-by: Peter Zijlstra Acked-by: Mel Gorman Acked-by: Mel Gorman Cc: Bob Picco Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e63efef857575320fb413fbc3d0ee704b72845f Author: Mel Gorman Date: Tue Jul 17 04:03:15 2007 -0700 Add a movablecore= parameter for sizing ZONE_MOVABLE This patch adds a new parameter for sizing ZONE_MOVABLE called movablecore=. While kernelcore= is used to specify the minimum amount of memory that must be available for all allocation types, movablecore= is used to specify the minimum amount of memory that is used for migratable allocations. The amount of memory used for migratable allocations determines how large the huge page pool could be dynamically resized to at runtime for example. How movablecore is actually handled is that the total number of pages in the system is calculated and a value is set for kernelcore that is kernelcore == totalpages - movablecore Both kernelcore= and movablecore= can be safely specified at the same time. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed7ed365172e27b0efe9d43cc962723c7193e34e Author: Mel Gorman Date: Tue Jul 17 04:03:14 2007 -0700 handle kernelcore=: generic This patch adds the kernelcore= parameter for x86. Once all patches are applied, a new command-line parameter exist and a new sysctl. This patch adds the necessary documentation. From: Yasunori Goto When "kernelcore" boot option is specified, kernel can't boot up on ia64 because of an infinite loop. In addition, the parsing code can be handled in an architecture-independent manner. This patch uses common code to handle the kernelcore= parameter. It is only available to architectures that support arch-independent zone-sizing (i.e. define CONFIG_ARCH_POPULATES_NODE_MAP). Other architectures will ignore the boot parameter. [bunk@stusta.de: make cmdline_parse_kernelcore() static] Signed-off-by: Mel Gorman Signed-off-by: Yasunori Goto Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 396faf0303d273219db5d7eb4a2879ad977ed185 Author: Mel Gorman Date: Tue Jul 17 04:03:13 2007 -0700 Allow huge page allocations to use GFP_HIGH_MOVABLE Huge pages are not movable so are not allocated from ZONE_MOVABLE. However, as ZONE_MOVABLE will always have pages that can be migrated or reclaimed, it can be used to satisfy hugepage allocations even when the system has been running a long time. This allows an administrator to resize the hugepage pool at runtime depending on the size of ZONE_MOVABLE. This patch adds a new sysctl called hugepages_treat_as_movable. When a non-zero value is written to it, future allocations for the huge page pool will use ZONE_MOVABLE. Despite huge pages being non-movable, we do not introduce additional external fragmentation of note as huge pages are always the largest contiguous block we care about. [akpm@linux-foundation.org: various fixes] Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf Author: Mel Gorman Date: Tue Jul 17 04:03:12 2007 -0700 Create the ZONE_MOVABLE zone The following 8 patches against 2.6.20-mm2 create a zone called ZONE_MOVABLE that is only usable by allocations that specify both __GFP_HIGHMEM and __GFP_MOVABLE. This has the effect of keeping all non-movable pages within a single memory partition while allowing movable allocations to be satisfied from either partition. The patches may be applied with the list-based anti-fragmentation patches that groups pages together based on mobility. The size of the zone is determined by a kernelcore= parameter specified at boot-time. This specifies how much memory is usable by non-movable allocations and the remainder is used for ZONE_MOVABLE. Any range of pages within ZONE_MOVABLE can be released by migrating the pages or by reclaiming. When selecting a zone to take pages from for ZONE_MOVABLE, there are two things to consider. First, only memory from the highest populated zone is used for ZONE_MOVABLE. On the x86, this is probably going to be ZONE_HIGHMEM but it would be ZONE_DMA on ppc64 or possibly ZONE_DMA32 on x86_64. Second, the amount of memory usable by the kernel will be spread evenly throughout NUMA nodes where possible. If the nodes are not of equal size, the amount of memory usable by the kernel on some nodes may be greater than others. By default, the zone is not as useful for hugetlb allocations because they are pinned and non-migratable (currently at least). A sysctl is provided that allows huge pages to be allocated from that zone. This means that the huge page pool can be resized to the size of ZONE_MOVABLE during the lifetime of the system assuming that pages are not mlocked. Despite huge pages being non-movable, we do not introduce additional external fragmentation of note as huge pages are always the largest contiguous block we care about. Credit goes to Andy Whitcroft for catching a large variety of problems during review of the patches. This patch creates an additional zone, ZONE_MOVABLE. This zone is only usable by allocations which specify both __GFP_HIGHMEM and __GFP_MOVABLE. Hot-added memory continues to be placed in their existing destination as there is no mechanism to redirect them to a specific zone. [y-goto@jp.fujitsu.com: Fix section mismatch of memory hotplug related code] [akpm@linux-foundation.org: various fixes] Signed-off-by: Mel Gorman Cc: Andy Whitcroft Signed-off-by: Yasunori Goto Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 769848c03895b63e5662eb7e4ec8c4866f7d0183 Author: Mel Gorman Date: Tue Jul 17 04:03:05 2007 -0700 Add __GFP_MOVABLE for callers to flag allocations from high memory that may be migrated It is often known at allocation time whether a page may be migrated or not. This patch adds a flag called __GFP_MOVABLE and a new mask called GFP_HIGH_MOVABLE. Allocations using the __GFP_MOVABLE can be either migrated using the page migration mechanism or reclaimed by syncing with backing storage and discarding. An API function very similar to alloc_zeroed_user_highpage() is added for __GFP_MOVABLE allocations called alloc_zeroed_user_highpage_movable(). The flags used by alloc_zeroed_user_highpage() are not changed because it would change the semantics of an existing API. After this patch is applied there are no in-kernel users of alloc_zeroed_user_highpage() so it probably should be marked deprecated if this patch is merged. Note that this patch includes a minor cleanup to the use of __GFP_ZERO in shmem.c to keep all flag modifications to inode->mapping in the shmem_dir_alloc() helper function. This clean-up suggestion is courtesy of Hugh Dickens. Additional credit goes to Christoph Lameter and Linus Torvalds for shaping the concept. Credit to Hugh Dickens for catching issues with shmem swap vector and ramfs allocations. [akpm@linux-foundation.org: build fix] [hugh@veritas.com: __GFP_ZERO cleanup] Signed-off-by: Mel Gorman Cc: Andy Whitcroft Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a32ea1e1f925399e0d81ca3f7394a44a6dafa12c Author: NeilBrown Date: Tue Jul 17 04:03:04 2007 -0700 Fix read/truncate race do_generic_mapping_read currently samples the i_size at the start and doesn't do so again unless it needs to call ->readpage to load a page. After ->readpage it has to re-sample i_size as a truncate may have caused that page to be filled with zeros, and the read() call should not see these. However there are other activities that might cause ->readpage to be called on a page between the time that do_generic_mapping_read samples i_size and when it finds that it has an uptodate page. These include at least read-ahead and possibly another thread performing a read. So do_generic_mapping_read must sample i_size *after* it has an uptodate page. Thus the current sampling at the start and after a read can be replaced with a sampling before the copy-out. The same change applied to __generic_file_splice_read. Note that this fixes any race with truncate_complete_page, but does not fix a possible race with truncate_partial_page. If a partial truncate happens after do_generic_mapping_read samples i_size and before the copy_out, the nuls that truncate_partial_page place in the page could be copied out incorrectly. I think the best fix for that is to *not* zero out parts of the page in truncate_partial_page, but rather to zero out the tail of a page when increasing i_size. Signed-off-by: Neil Brown Cc: Jens Axboe Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e21ea246bce5bb93dd822de420172ec280aed492 Author: Martin Schwidefsky Date: Tue Jul 17 04:03:03 2007 -0700 mm: remove ptep_test_and_clear_dirty and ptep_clear_flush_dirty Nobody is using ptep_test_and_clear_dirty and ptep_clear_flush_dirty. Remove the functions from all architectures. Signed-off-by: Martin Schwidefsky Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0e47c229b489e37ba7e4159ef7f9cf9ccd44e19 Author: Martin Schwidefsky Date: Tue Jul 17 04:03:03 2007 -0700 mm: remove ptep_establish() The last user of ptep_establish in mm/ is long gone. Remove the architecture primitive as well. Signed-off-by: Martin Schwidefsky Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ee403f584a67fb8725cca4d55218925b9295528 Author: Yoann Padioleau Date: Tue Jul 17 04:03:01 2007 -0700 parse error, drivers/i2c/busses/i2c-pmcmsp.c Signed-off-by: Yoann Padioleau Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5bd762bda0d9aba8739a35f898479dc12e288a1 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:23:03 2007 +0900 [IA64] Enable percpu vector domain for IA64_DIG Add per-CPU vector domain support for IA64_DIG. It is enabled by adding the "vector=percpu" boot option. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit d080d397f97dd185ff48ef933be09a104d47fba5 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:55 2007 +0900 [IA64] Enable percpu vector domain for IA64_GENERIC Add per-CPU vector domain support for IA64_GENERIC. It is enabled by adding the "vector=percpu" boot option. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit cd378f18cf73d92bf0b6e1e6b5759b5dd729a9f2 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:48 2007 +0900 [IA64] Support irq migration across domain Add support for IRQ migration across vector domain. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 4994be1b3fe9120c88022ff5c0c33f6312b17adb Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:33 2007 +0900 [IA64] Add support for vector domain Add fundamental support for multiple vector domain. There still exists only one vector domain even with this patch. IRQ migration across domain is not supported yet by this patch. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit e1b30a392835e92581db09a4e8b4b2ad53a0c370 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:23 2007 +0900 [IA64] Add mapping table between irq and vector Add mapping tables between irqs and vectors, and its management code. This is necessary for supporting multiple vector domain because 1:1 mapping between irq and vector will be changed to n:1. The irq == vector relationship between irqs and vectors is explicitly remained for percpu interrupts, platform interrupts, isa IRQs and vectors assigned using assign_irq_vector() because some programs might depend on it. And I should consider the following problem. When pci drivers enabled/disabled devices dynamically, its irq number is changed to the different one. Therefore, suspend/resume code may happen problem. To fix this problem, I bound gsi to irq. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit f8c087f31e1d3fbf1f7d0b3ea5e643f535e7de04 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:14 2007 +0900 [IA64] Check if irq is sharable Need to check if irq is sharable amoung handlers when searching sharable IOSAPIC irq. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 4bbdec7a84ca8ce786c44bc338a37d97a13cbf20 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:03 2007 +0900 [IA64] Fix invalid irq vector assumption for iosapic Many of IOSAPIC codes depends on the flollowing assumptions, but these would become invalid when multiple vector domain will be supported in the future. - 1:1 mapping between IRQ and vector - IRQ == vector To fix those invalid assumptions, this patch changes iosapic_intr_info[] to be indexed by irq number instead of vector. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit eb21ab24955ee025434ad09cd8e5e1a74c798777 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:21:48 2007 +0900 [IA64] Use dynamic irq for iosapic interrupts Use create_irq()/destroy_irq() for iosapic interrupts. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit c1726d6f1ad2f1d83e5db1e0142756e9255a82b3 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:21:26 2007 +0900 [IA64] Use per iosapic lock for indirect iosapic register access Use per-iosapic lock for indirect iosapic register access. It reduces lock contention. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 40598cbe9c196f1e84dcfef70541c4a80fd996bb Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:20:54 2007 +0900 [IA64] Cleanup lock order in iosapic_register_intr Cleanup order of irq_desc.lock and iosapic_lock in iosapic_register_intr() and iosapic_unregister_intr(). Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit c5e3f9e5a2152578db7a37090303ce66d03a7c87 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:20:42 2007 +0900 [IA64] Remove duplicated members in iosapic_rte_info Remove duplicated members in iosapic_rte_info in iosapic.c. This patch has no functional changes. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit e3a8f7b8b65c6feadab4384fd7097f79c8c1d898 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:20:29 2007 +0900 [IA64] Remove block structure for locking in iosapic.c Remove unnecessary indent between spin_lock() and spin_unlock() in iosapic.c. This has no functional changes. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 5d3a8cd34beb1521a2697c6ed7b647ef9bafdbf1 Author: Jens Axboe Date: Tue Jul 17 15:10:09 2007 +0200 bsg: fix missing space in version print Tomo introduced a bug in his commit, removing the space between "driver" and "version" in the init printk. Signed-off-by: Jens Axboe commit b824325443bb010689d22262c6a4e0feb63bad56 Author: Mathieu Desnoyers Date: Sat Jun 16 22:29:39 2007 -0400 xtensa: use DATA_DATA in xtensa * Sam Ravnborg (sam@ravnborg.org) wrote: > From your patch it looks like I originally missed out > powerpc + xtensa when introducing DATA_DATA - would be nice if > you could fix that. > > Sam Use DATA_DATA in xtensa Signed-off-by: Mathieu Desnoyers Cc: Chris Zankel Signed-off-by: Sam Ravnborg commit 3ae0aa9f45c69055294b6514ddbb5bd07d2535c2 Author: Mathieu Desnoyers Date: Sat Jun 16 22:29:04 2007 -0400 powerpc: add missing DATA_DATA to powerpc * Sam Ravnborg (sam@ravnborg.org) wrote: > From your patch it looks like I originally missed out > powerpc + xtensa when introducing DATA_DATA - would be nice if > you could fix that. > > Sam Add missing DATA_DATA in powerpc Signed-off-by: Mathieu Desnoyers Cc: Paul Mackerras Signed-off-by: Sam Ravnborg -- arch/powerpc/kernel/vmlinux.lds.S | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 5c617c6ff0379f9e55178165478e10761fa109e2 Author: Mathieu Desnoyers Date: Sat Jun 16 22:28:26 2007 -0400 cris: use DATA_DATA in cris * Sam Ravnborg (sam@ravnborg.org) wrote: > From your patch it looks like I originally missed out > powerpc + xtensa when introducing DATA_DATA - would be nice if > you could fix that. > Use DATA_DATA in CRIS Signed-off-by: Mathieu Desnoyers Cc: Mikael Starvik Signed-off-by: Sam Ravnborg commit 7c5d249ad3fb6ce3815c1ed5f04bece02a3e7030 Author: Paulo Marques Date: Wed Jun 20 18:09:00 2007 +0100 kallsyms: remove usage of memmem and _GNU_SOURCE from scripts/kallsyms.c The only in-kernel user of "memmem" is scripts/kallsyms.c and it only uses it to find tokens that are 2 bytes in size. It is trivial to replace it with a simple function that finds 2-byte tokens. This should help users from systems that don't have the memmem GNU extension available. Signed-off-by: Paulo Marques Signed-off-by: Sam Ravnborg commit af332aa3876eaf39b159d345c86b744832ec4336 Author: Adrian Bunk Date: Fri Jul 13 06:18:47 2007 +0200 kbuild: use -fno-optimize-sibling-calls unconditionally We don't have to check for -fno-optimize-sibling-calls since even gcc 3.2 supports it. Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit d8982ba1f2a24f1db89d23e9f5224f932f8b04a0 Author: Roman Zippel Date: Mon Jul 9 11:43:58 2007 -0700 kconfig: reset generated values only if Kconfig and .config agree. Normally generated values (Kconfig entries without a prompt) are cleared as they are regenerated anyway and so they appear as new should they become visible and defaults work as expected (once a value is set defaults aren't used anymore). The detection whether a value is generated or not is only based on its visibility status, which can quickly change for a lot of symbols by just removing a single line from .config or adding a dependency to Kconfig as you noticed. The patch now suppresses this logic when .config and Kconfig aren't in sync and .config needs to be updated, so that you can remove now a random value from .config and oldconfig won't reask for many other values. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit a412c1723da5133843688078b6f1f069fa9c93f7 Author: Aneesh Kumar K.V Date: Mon Jul 9 11:43:57 2007 -0700 kbuild: fix the warning when running make tags make tags was giving the below warning. ctags: Warning: arch/x86_64/kernel/head.S:124: null expansion of name pattern "\1" Fix the same by making sure we taken only ENTRY pattern found at the begining of the line. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 0584f9f9cb3642274cc0f289f36524827868fe68 Author: Bernhard Walle Date: Mon Jul 9 11:43:56 2007 -0700 kconfig: strip 'CONFIG_' automatically in kernel configuration search Modify the ncurses configuration tool ('make menuconfig') in a way that the user can enter the search string (/) both with or without the leading 'CONFIG_'. This simplifies using copy & paste from .config files because you can select the whole word. Signed-off-by: Bernhard Walle Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit c05190371d5ca360b75864cfcf930e8bf3addeb1 Author: Mike Frysinger Date: Mon Jul 9 11:43:55 2007 -0700 kbuild: use POSIX BRE in headers install target The sed expression used at the moment in scripts/Makefile.headersinst relies on the (handy) GNU extension where you can escape ERE's in an otherwise BRE without using the GNU -r option. The following patch replaces this "\+" usage with a functionally equivalent POSIX BRE compliant "\{1,\}". Tested with `make headers_install` against blackfin/x86_64/i386 targets. Stupid whiny OS X users and their crappy sed ;) Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 13bd59a111760bb7cba8dcf17b6b55a0d99d3592 Author: Geert Uytterhoeven Date: Tue Jul 17 14:18:47 2007 +0200 Don't define empty struct bsg_class_device if !CONFIG_BLK_DEV_BSG Don't define an empty struct bsg_class_device if !CONFIG_BLK_DEV_BSG. It's embedded in struct request_queue, but there we have #if defined(CONFIG_BLK_DEV_BSG) struct bsg_class_device bsg_dev; #endif anyway. Signed-off-by: Geert Uytterhoeven Signed-off-by: Jens Axboe commit a07a5b336f699e21d405764931a9d5426dc4f945 Author: Jan Glauber Date: Tue Jul 17 13:36:09 2007 +0200 [S390] Fix broken logic, SIGA flags must be bitwise ORed Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 086a6c6249995e49db0f7196d59f69dc3a1e1ef8 Author: Cornelia Huck Date: Tue Jul 17 13:36:08 2007 +0200 [S390] cio: Dont print trailing \0 in modalias_show(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit e90a2857c666913258528ce96decc43c749bbf95 Author: Heiko Carstens Date: Tue Jul 17 13:36:07 2007 +0200 [S390] Simplify stack trace. sparse gives us a few of these: stacktrace.c:69:38: warning: incorrect type in argument 2 (different signedness) stacktrace.c:69:38: expected unsigned int *skip Just get rid of the 'skip' argument since it is contained in the struct stack_trace that gets passed anyway. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 810cb5b32ded8f28880b502e984d807d03869d3b Author: Frank Munzert Date: Tue Jul 17 13:36:06 2007 +0200 [S390] z/VM unit record device driver z/VM Unit record character device driver to access VM reader, punch, and printer. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit d9d119f12fdb14d57e96e4698ef2ec303b102ae9 Author: Christian Borntraeger Date: Tue Jul 17 13:36:05 2007 +0200 [S390] vmcp cleanup A number of small changes to vmcp: - Change preferred email address. - Use PRINT_xxx machros from debug.h like most s390 drivers, define "vmcp:" as PRINTK_HEADER and wrap error message at column 80. - Add error number to error message. - Update copyright, as I touched this file. - Small whitespace diff. - Use mutex instead of semaphore (Thanks Heiko for the patch) - Don't register debug feature on failure. - Check debug feature registration on init to avoid a potential oops on unload if the debug feature could not be registered--> 2 more messages. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 6cbed91ab78e750eef2dacb75bd51bd63792fd07 Author: Frank Pavlic Date: Tue Jul 17 13:36:04 2007 +0200 [S390] qdio: output queue stall on FCP and network devices When running QIOASSIST enabled qdio devices in a z/VM environment the output queue for such devices stall in heavy workload situations. When SQBS and EQBS instructions returns CCQ=96 qdio does not reissue the instruction again with the register settings done by millicode but processed the returned qdio buffer. This is wrong. qdio has to reissue the instruction once again on CCQ=96, as we already do it for CCQ=97. Signed-off-by: Frank Pavlic Signed-off-by: Martin Schwidefsky commit 92d154b6c54f76016d36a7eb4aab6eea27737fdb Author: Christian Borntraeger Date: Tue Jul 17 13:36:03 2007 +0200 [S390] Fix disassembly of RX_URRD, SI_URD & PC-relative instructions. The instructions with format RX_URRD and SI_URD and instructions with a PC relative operand are not disassembled correctly. For RX_URRD and SI_URD instructions find_insn sets opfrag to code[0]. The mask byte of these two formats is 0x00. table->opfrag will never be identical to (opfrag & opmask) and no matching instruction will be found. Set the mask byte to 0xff to actually check byte 0 against the table. For PC relative instructions the (unsigned) offset value needs to be casted to an signed integer so that negative branch offsets are handled correctly. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit a13a9b6d983e0301692e16a169865e1feb8338c0 Author: Martin Schwidefsky Date: Tue Jul 17 13:36:02 2007 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 319a7b7fb98f6927d6eedeb627f72f54c377f9ce Author: FUJITA Tomonori Date: Tue Jul 17 12:22:09 2007 +0200 bsg: Kconfig updates - add the detailed explanation. - remove 'default y'. - make 'EXPERIMENTAL' keyword visible to the user in menu. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 0ed081ce203b0fd9a44763b70f41e36596f9b431 Author: FUJITA Tomonori Date: Tue Jul 17 12:21:35 2007 +0200 bsg: minor cleanup - fix MODULE_DESCRIPTION typo. - unify MODULE_DESCRIPTION and bsg_version. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 1c1133e1ff850279d604581af31a400c830b0393 Author: FUJITA Tomonori Date: Tue Jul 17 12:21:15 2007 +0200 bsg: device hash table cleanup - kill unused bsg_list_idx macro. - add bsg_dev_idx_hash() that returns an appropriate hlist_head. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 9b9f770cef0037fd0e4d623f31ddfa8acda38205 Author: FUJITA Tomonori Date: Tue Jul 17 12:20:46 2007 +0200 bsg: fix initialization error handling bugs This fixes the following bugs and cleans up the initialization code: - cdev_del is missing. - unregister_chrdev_region should be used instead of unregister_chrdev. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit eec73e887a96b50035c92c57e01137dcbe6c5a39 Author: Ralf Baechle Date: Tue Jul 10 09:16:32 2007 +0100 Whitelist references from __dbe_table to .init This is needed on MIPS where the same mechanism as get_user() is used to intercept bus error exceptions for some hardware probes. Without this patch modpost will throw spurious warnings: LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: arch/mips/sgi-ip22/built-in.o(__dbe_table+0x0): Section mismatch: reference to .init.text: Signed-off-by: Ralf Baechle Signed-off-by: Sam Ravnborg commit a5eb6a502b71ee6bf1a9768b12ff4545cb7a50fe Author: Jan Beulich Date: Tue Jun 12 09:29:41 2007 +0200 modpost white list pattern adjustment gcc puts data into .data.rel or .data.rel.* on some architectures (e.g. ia64) or under certain conditions, so whatever is legal relative to .data should also be legal for those other sections. Fixes a few modpost warnings on ia64. Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit 741f98fe298a73c9d47ed53703c1279a29718581 Author: Sam Ravnborg Date: Tue Jul 17 10:54:06 2007 +0200 kbuild: do section mismatch check on full vmlinux Previously we did do the check on the .o files used to link vmlinux but that failed to find questionable references across the .o files. Create a dedicated vmlinux.o file used only for section mismatch checks that uses the defualt linker script so section does not get renamed. The vmlinux.o may later be used as part of the the final link of vmlinux but for now it is used fo section mismatch only. For a defconfig build this is instant but for an allyesconfig this add two minutes to a full build (that anyways takes ~2 hours). Signed-off-by: Sam Ravnborg commit 5cdf7f7678493996a835ef2e627976de8f9d1f40 Author: Jens Axboe Date: Tue Jul 17 08:58:06 2007 +0200 bsg: mark FUJITA Tomonori as bsg maintainer Signed-off-by: Jens Axboe commit 46f6ef4afc14ae1426883a973c18735cfcd70d8f Author: Jens Axboe Date: Tue Jul 17 08:56:10 2007 +0200 bsg: convert to dynamic major 240 was hardcoded, that was clearly a dumb mistake. Convert bsg to use alloc_chrdev_region() to retrieve a dynamic major. Signed-off-by: Jens Axboe commit 25fd164303cd69eb5adfe7668d2c146dcd866163 Author: Jens Axboe Date: Tue Jul 17 08:52:29 2007 +0200 bsg: address various review comments This address most of the comments made by Andrew. The two remaining are conversion to idr, and dynamic major. Signed-off-by: Jens Axboe commit 45ea5dcde62db8eccc8503defae3c3353256975d Author: Dave Airlie Date: Tue Jul 17 14:20:07 2007 +1000 drm: add idr_init to drm_stub.c Brown paper bag for me this patch chunk didn't make it in the first application Signed-off-by: Dave Airlie commit cca5307d178c931e70a642302b56fa2701d02253 Author: Dave Airlie Date: Tue Jul 17 12:55:58 2007 +1000 drm: fix problem with SiS typedef with sisfb enabled. Reported by: Avuton Olrich Signed-off-by: Dave Airlie commit d4e2cbe9cb9219fc924191a6baa2369140cb5ea8 Author: Dave Airlie Date: Tue Jul 17 10:55:47 2007 +1000 drm: convert drawable code to using idr This converts the code for allocating drawables to the Linux idr, Fixes from: Michel Dänzer , Kristian Høgsberg Signed-off-by: Dave Airlie commit 62968144e673016180f530fdfe170874b80ab5a7 Author: Dave Airlie Date: Tue Jul 17 10:46:52 2007 +1000 drm: convert drm context code to use Linux idr This converts the drm context allocator to an idr, using the new idr interface features from Kristian. Fixes from Kristian Hoegsberg Signed-off-by: Dave Airlie commit 7713a7d195c2e11d7ba6a973317da0af862d1264 Author: David Miller Date: Mon Jul 16 17:17:44 2007 -0700 [HRTIMER] Fix cpu pointer arg to clockevents_notify() All of the clockevent notifiers expect a pointer to an "unsigned int" cpu argument, but hrtimer_cpu_notify() passes in a pointer to a long. [ Discussed with and ok by Thomas Gleixner ] Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit f798634d806615bee27d1b83479034087a02aa0f Author: David S. Miller Date: Mon Jul 16 17:05:11 2007 -0700 [SERIAL] SUNHV: Fix jerky console on LDOM guests. Mixing putchar() and write() hvcalls does not work %100 correctly. But we should be using write() all the time if we can, even from ->start_tx(), anyways. Signed-off-by: David S. Miller commit 778feeb4757daef5d7118feab2319142367910dd Author: David S. Miller Date: Mon Jul 16 16:50:36 2007 -0700 [SPARC64]: Fix race between MD update and dr-cpu add. We need to make sure the MD update occurs before we try to process dr-cpu configure requests. MD update and dr-cpu were being processed by seperate threads so that did not happen occaisionally. Fix this by executing all domain services data packets from a single thread, in order. This will help simplify some other things as well. Signed-off-by: David S. Miller commit 3ac66e33eaf0b2313f7e3c8c023aa0420577a0c2 Author: Fabio Massimo Di Nitto Date: Mon Jul 16 14:15:39 2007 -0700 [SPARC64]: SMP build fix. The UP build fix had some unintended consequences. Signed-off-by: David S. Miller commit 29417b899a77aaba1c060f5e123db4f50006f58a Author: Linus Torvalds Date: Mon Jul 16 16:52:44 2007 -0700 Make BLK_DEV_BSG depend strictly on SCSI=y The SCSI code can be compiled modular, but BLK_DEV_BSG currently cannot, and depends on the SCSI layer. So make sure that it depends on the SCSI layer being compiled in, not just available as a module. Noticed by Jeff Garzik and S.Çağlar Onur. Cc: Jeff Garzik Cc: Jens Axboe Cc: S.Çağlar Onur Signed-off-by: Linus Torvalds commit a54890d7a6f37a4658294cbce650af4d1fabb8c9 Author: Linus Torvalds Date: Mon Jul 16 16:50:01 2007 -0700 Make check_signature depend on CONFIG_HAS_IOMEM This should avoid build problems on architectures without a "readb()", that got bitten by check_signature() being uninlined. Noted by Heiko Carstens. Cc: Heiko Carstens Cc: Andrew Morton Signed-off-by: Linus Torvalds commit c5e3ae8823693b260ce1f217adca8add1bc0b3de Author: Ayaz Abdulla Date: Sun Jul 15 06:51:03 2007 -0400 forcedeth bug fix: realtek phy This patch contains errata fixes for the realtek phy. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit d215d8a269f397d303c3d5f7c74e98592e8284f1 Author: Ayaz Abdulla Date: Sun Jul 15 06:50:53 2007 -0400 forcedeth bug fix: vitesse phy This patch contains errata fixes for the vitesse phy. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 14a67f3c6ca319edd011db4edad63dd686426ae2 Author: Ayaz Abdulla Date: Sun Jul 15 06:50:28 2007 -0400 forcedeth bug fix: cicada phy This patch contains errata fixes for the cicada phy. It only renamed the defines to be phy specific. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 05ffdd7bf364c456ffd51f0c2bf0f41b8e110f49 Author: Jay Cliburn Date: Sun Jul 15 11:03:29 2007 -0500 atl1: reorder atl1_main functions Reorder functions in atl1_main into more logical groupings to make the code easier to follow. This patch is large, but it's harmless; it neither adds nor removes any functionality whatsoever. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 2ca13da705ac9780ff7cd2ea7948e25303c42f81 Author: Jay Cliburn Date: Sun Jul 15 11:03:28 2007 -0500 atl1: fix excessively indented code Move excessively indented code to separate functions. Also move ring pointer initialization to its own function. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 53ffb42cdf3d01f7b6e2101eebed3d12e71a30f5 Author: Jay Cliburn Date: Sun Jul 15 11:03:27 2007 -0500 atl1: cleanup atl1_main Fix indentation, remove dead code, improve some comments, change dev_dbg to dev_printk. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 2b116145bbdbe1b13a2eb780988447eecd657a55 Author: Jay Cliburn Date: Sun Jul 15 11:03:26 2007 -0500 atl1: header file cleanup Remove unused structure members, improve comments, break long comment lines, rename a constant to be consistent with others in the file. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 70d9d4b2477f90fb99227026f4cb6e75920eb1ec Author: Jay Cliburn Date: Sun Jul 15 11:03:25 2007 -0500 atl1: remove irq_sem Remove unnecessary irq_sem code. Signed-off-by: Chris Snook Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit d4f01a77d74ced4dab50d0cf75d568f48a3b6b4e Author: jing xiang Date: Sat Jul 14 14:13:24 2007 +0800 cdc-subset to support new vendor/product ID This patch is for cdc subset to support Mavell vendor/product ID. Signed-off-by: Jing Xiang Signed-off-by: Jeff Garzik commit 9030c0d24dbb90bbe6b31dc93c3be5e36290c7c3 Author: Francois Romieu Date: Fri Jul 13 23:05:35 2007 +0200 8139cp: implement the missing dev->tx_timeout Signed-off-by: Mika Lansirinne Signed-off-by: Jeff Garzik commit c97884b5de95a11d1668f134a51c1d150d214391 Author: Brice Goglin Date: Fri Jul 13 20:15:13 2007 +0200 myri10ge: Remove nonsensical limit in the tx done routine Remove nonsensical limit in the tx done routine. Specifically, the loop will always terminate after processing <= 1 rings worth of frames, as the mcp index is not refetched, so the removed conditional could never be true. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit be5ae973197b84e9f39784b73d08ba41931fbdc9 Author: Kumar Gala Date: Fri Jul 13 00:38:47 2007 -0500 gianfar: kill unused header A long time ago we used OCP with the gianfar driver. Eventually when we kill arch/ppc including this will cause issues so lets just kill it now. Signed-off-by: Kumar Gala Signed-off-by: Jeff Garzik commit 06103b13828425ebd24255ec08c28a795b6b7a68 Author: John Donoghue Date: Fri Jul 13 02:12:08 2007 +0200 EP93XX_ETH must select MII CONFIG_EP93XX_ETH=y, CONFIG_MII=n results in an obvious link error. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 446ebd0118d8e82791652bd17dd8db08ab993c0e Author: Patrice Vilchez Date: Thu Jul 12 19:07:25 2007 +0200 macb: Add multicast capability Add multicast capability to Atmel ethernet macb driver. Signed-off-by: Patrice Vilchez Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit 6c36a7074436e181fb3df41f66bbdaf53980951e Author: frederic RODO Date: Thu Jul 12 19:07:24 2007 +0200 macb: Use generic PHY layer Convert the macb driver to use the generic PHY layer in drivers/net/phy. Signed-off-by: Frederic RODO Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit 54ab2927d38536f6d437bdd0d7454b99bf67a48c Author: Frank Blaschka Date: Thu Jul 12 12:51:35 2007 +0200 s390: add barriers to qeth driver Add barrier to loop where atomic variable is evaluated. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit aa617aa9568e5fc80103194f5a6da2977c305f10 Author: Frank Blaschka Date: Thu Jul 12 12:51:34 2007 +0200 s390: scatter-gather for inbound traffic in qeth driver For large incoming packets > PAGE_SIZE/2 qeth creates a fragmented skb by adding pointers to qdio pages to the fragment list of the skb. This avoids allocating big chunks of consecutive memory. Also copying data from the qdio buffer to the skb is economized. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit 44c821525778c5d2e81da293195d5d589e8ad845 Author: Thomas Klein Date: Wed Jul 11 16:32:00 2007 +0200 eHEA: Introducing support vor DLPAR memory add This patch adds support for DLPAR memory add to the eHEA driver. To detect whether memory was added the driver uses its own memory mapping table and checks for kernel addresses whether they're located in already known memory sections. If not the function ehea_rereg_mrs() is triggered which performs a rebuild of the mapping table and a re-registration of the global memory region. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 8910b49fbb8d4517a20bb3de7dc239dcfa7d2b6f Author: Micah Gruber Date: Mon Jul 9 11:29:04 2007 +0800 Fix a potential NULL pointer dereference in free_shared_mem() in drivers/net/s2io.c This patch fixes a potential null dereference bug where we dereference nic before a null check. This patch simply moves the dereferencing after the null check. Signed-off-by: Micah Gruber < micah.gruber@gmail.com> Signed-off-by: Jeff Garzik commit 2e27afb300b56d83bb03fbfa68852b9c1e2920c6 Author: Linus Torvalds Date: Mon Jul 16 14:31:08 2007 -0700 Revert "[NET]: Fix races in net_rx_action vs netpoll." This reverts commit 29578624e354f56143d92510fff33a8b2aaa2c03. Ingo Molnar reports complete breakage with his e1000 card (no networking, card reports transmit timeouts), and bisected it down to this commit. Let's figure out what went wrong, but not keep breaking machines until we do. Cc: Ingo Molnar Cc: Olaf Kirch Cc: David Miller Signed-off-by: Linus Torvalds commit 1e29a706eef664f2c5014462d435f54a1952cc7b Author: Sam Ravnborg Date: Sun Jun 3 22:19:24 2007 +0200 kbuild: whitelist references from variables named _timer to .init.text arm uses a lot of ops structures named *_timer that has legitimite references to .init.text. So let's add this variable to the list of variables that may reference .init.text without causing any warning. Signed-off-by: Sam Ravnborg commit 92cc6b0725d800dcc3b9d62b419724050e4f7872 Author: Sam Ravnborg Date: Sun Jun 3 00:47:53 2007 +0200 kbuild: remove hardcoded _logo names from modpost Replaced this with a __init_refok marker in front of fb_find_logo(). I think that the __initdata marker for the logo's are wrong but I have not justified this so I did not remove it. Signed-off-by: Sam Ravnborg commit d3ab78560b9a244bdb2ba2ef0e53193832d311c2 Author: Sam Ravnborg Date: Sun Jun 3 00:05:10 2007 +0200 kbuild: remove hardcoded apic_es7000 from modpost Replace the hardcoded variable name apic_es7000 in modpost with a __initdata_refok marker. Signed-off-by: Sam Ravnborg commit 6fc53bae3d5940f1b123afa5ad082359b1a376be Author: Sam Ravnborg Date: Sat Jun 2 21:29:20 2007 +0200 kbuild: warn about references from .init.text to .exit.text The .exit.text section may be discarded either at build or at runtime. So let modpost warn if this situation is detected. Signed-off-by: Sam Ravnborg commit 1d8af559f9ffd6847856f74658e501ed7ded9f01 Author: Sam Ravnborg Date: Sun Jun 3 00:41:22 2007 +0200 kbuild: consolidate section checks Move more checks from whitelist to the section check functions. Remove the redundent pci_fixup check. Renumber the patterns. No functional changes. Signed-off-by: Sam Ravnborg commit 1087247b7d8f1938425906d2ac983df76c6dcc18 Author: Sam Ravnborg Date: Sat Jun 2 21:18:51 2007 +0200 kbuild: refactor code in modpost to improve maintainability There were a great deal of overlap between the two functions that check which sections may reference .init.text and .exit.text. Factor out common check to a separate function and sort entries in the original functions. Signed-off-by: Sam Ravnborg commit 10fa16e75c70c8e7ec4675c5f985548a6565dca2 Author: Eric Van Hensbergen Date: Mon Jul 16 16:02:49 2007 -0500 9p: fix debug compilation error s/9p/v9fs.c: In function 'v9fs_parse_options': fs/9p/v9fs.c:134: error: 'p9_debug_level' undeclared (first use in this function) Signed-off-by: Dave Jones Acked-by: Eric Van Hensbergen commit b28242e7e3c08072251da6d7bc4895fbd3e58299 Author: Sam Ravnborg Date: Tue May 29 23:09:35 2007 +0200 kbuild: ignore section mismatch warnings originating from .note section .note* sections are ELF notes, which are typically used by external tools to examine the kernel image. Since this is removed from any runtime consideration, it's OK to reference any section from a .note* section. Signed-off-by: Jeremy Fitzhardinge Cc: "Eric W. Biederman" Signed-off-by: Sam Ravnborg commit 1de564bbf8b630ab356571cdbd15b7d5adb1c20d Author: Jeremy Fitzhardinge Date: Tue May 29 13:33:01 2007 -0700 kbuild: .paravirtprobe section is obsolete, so modpost doesn't need to handle it The .paravirtprobe section is obsolete, so modpost doesn't need to handle it. Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Signed-off-by: Sam Ravnborg commit 1abe02fef95366208c264635a886785d18fd38bb Author: Stephen Rothwell Date: Thu May 24 14:16:13 2007 +1000 kbuild: suppress modpost warnings for references from the .toc section as used by powerpc We should do better here by effetively "dereferencing" references to the .toc (or the .got2) section, but that is much harder. Signed-off-by: Stephen Rothwell Signed-off-by: Sam Ravnborg commit 56a974fa2d595fe6ebe433c525b8232ead539b76 Author: Sam Ravnborg Date: Mon Jul 16 22:39:35 2007 +0200 kbuild: make better section mismatch reports on arm With this change we can find more symbols hereby improving the readability of the warnings. Signed-off-by: Sam Ravnborg commit ae4ac12323c0ff80528cac3269151d580e23f923 Author: Atsushi Nemoto Date: Tue May 22 18:27:39 2007 +0900 kbuild: make better section mismatch reports on i386 and mips On i386 and MIPS, warn_sec_mismatch() sometimes fails to show usefull symbol name. This is because empty 'refsym' due to 0 r_addend value. This patch is to adjust r_addend value, consulting with apply_relocate() routine in kernel code. Signed-off-by: Atsushi Nemoto Signed-off-by: Sam Ravnborg commit b70e325cfe824ea0f6a1666b8b8db986e99c9603 Author: Sam Ravnborg Date: Sun Jun 10 20:38:27 2007 +0200 kconfig: fix update-po-config Massimo Maiurana reported that update-po-config was broken: 1) spelling errors in Makefile so arch/um failed 2) UTF-8 was not supported The following patch address the above problems. kxgettext now append the output to the .pot file generated by xgettext - so we have a header. In all places UFT-8 is specifed so we now flawlessly support UTF-8. The Kconfig files had an empty string in a few cases - these are now supressed in kxgettext. With this the translators can now pick up where they left and get it all translated. There are ~11000 strings to be translated... Signed-off-by: Sam Ravnborg Cc: Massimo Maiurana Cc: Arnaldo Carvalho de Melo commit 4c6f2eb979c314b6362e655f3ff15749af565f86 Author: Mike Frysinger Date: Thu May 10 22:44:28 2007 -0700 kbuild: add support for squashing uid/gid in gen_initramfs_list.sh Sometimes it is useful to squash all uid's/gid's to 0:0 regardless of current owner. For example, in build systems that get run as arbitrary users (uClinux-dist). This adds a special "squash" keyword so you can do '-g squash -u squash' and have ownership squashed to root. Signed-off-by: Mike Frysinger Cc: Sam Ravnborg Signed-off-by: Andrew Morton commit f2434ec1e08e44c2568b29c2879b3346aa29dbd2 Author: Mike Frysinger Date: Thu May 10 22:44:28 2007 -0700 kbuild: add support for reading stdin with gen_init_cpio Treat an argument of "-" as meaning "read stdin for cpio files" so gen_init_cpio can be piped into. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit e99c343f169cdcb43f1508873a3c9e19ffe4c64a Author: Mike Frysinger Date: Wed May 23 21:37:45 2007 -0400 kconfig: use POSIX equality test in check-lxdialog.sh The "==" operator is not in POSIX, so use -eq instead. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit cb3ed5b7e09c6c0462e396d55e3fecc0980a333a Author: H. Peter Anvin Date: Fri May 25 17:58:26 2007 -0700 scripts: Make cleanfile/cleanpatch warn about long lines Make the "cleanfile" and "cleanpatch" script warn about long lines, by default lines whose visual width exceeds 79 characters. Per suggestion from Auke Kok. Signed-off-by: H. Peter Anvin Signed-off-by: Sam Ravnborg commit d72e5edbf4d13adfe489e9e6114a4922891ddcb2 Author: Sam Ravnborg Date: Mon May 28 22:47:48 2007 +0200 kbuild: avoid environment to set variables used by kbuild A few of the variables used by kbuild has fixed naming. Make sure we do not pick up random values from the environment. Signed-off-by: Sam Ravnborg commit 7015030faf4af623804d63b5345c45fa0cad8b74 Author: Sam Ravnborg Date: Mon May 28 22:26:55 2007 +0200 kbuild: document cc-fullversion Signed-off-by: Sam Ravnborg commit f5e83fa4c07488406b4a4e0ab7c4efd8df9ad676 Author: Segher Boessenkool Date: Sat May 19 18:49:08 2007 +0200 powerpc: Refuse to build 64-bit with GCC-4.2.0 and CONFIG_MODULES ...since this won't work (compiler bug, see ). Signed-off-by: Segher Boessenkool Signed-off-by: Sam Ravnborg commit 0ab2a272e6b55e5d58168d6983da99e2dc09b8b2 Author: Segher Boessenkool Date: Sat May 19 18:49:07 2007 +0200 kbuild: New 'cc-fullversion' macro Prints a six-digit string including the GCC patchlevel. Also fix the 'usage' comment for cc-version. Signed-off-by: Segher Boessenkool Signed-off-by: Sam Ravnborg commit f241182b51c0f26b29af40c3777f84e6033d0401 Author: Sam Ravnborg Date: Mon May 28 22:14:37 2007 +0200 kbuild: asm-offsets.h is now cleaned with O=.. builds Reported by: "Robert P. J. Day" Signed-off-by: Sam Ravnborg Cc: "Robert P. J. Day" commit 5b37696fda07b8acf37beba3853f83106397ccdf Author: Satyam Sharma Date: Tue Jul 17 00:24:23 2007 +0530 utime(s): Honour CAP_FOWNER when times==NULL do_utimes() does not honour CAP_FOWNER when times==NULL. Trivial and obvious one-line fix. Signed-off-by: Satyam Sharma Signed-off-by: Linus Torvalds commit 9793c3266755b4cae8915982825b2c07cd12e1c6 Author: S.Çağlar Onur Date: Mon Jul 16 21:56:51 2007 +0300 Fix too few arguments to function `scsi_cmd_ioctl' This corrects the following compile error introduced by the merge of the new bsg layer in commit e245befce7af0a1e1347079ed62695b059594bd4: caglar@zangetsu linux-2.6 $ make CHK include/linux/version.h CHK include/linux/utsrelease.h CALL scripts/checksyscalls.sh CHK include/linux/compile.h LD drivers/block/built-in.o CC [M] drivers/block/cciss.o drivers/block/cciss.c: In function `cciss_ioctl': drivers/block/cciss.c:1173: warning: passing arg 2 of `scsi_cmd_ioctl' from incompatible pointer type drivers/block/cciss.c:1173: warning: passing arg 3 of `scsi_cmd_ioctl' makes pointer from integer without a cast drivers/block/cciss.c:1173: warning: passing arg 4 of `scsi_cmd_ioctl' makes integer from pointer without a cast drivers/block/cciss.c:1173: error: too few arguments to function `scsi_cmd_ioctl' ... make[2]: *** [drivers/block/cciss.o] Hata 1 make[1]: *** [drivers/block] Hata 2 make: *** [drivers] Hata 2 Signed-off-by: S.Çağlar Onur Cc: Jens Axboe Signed-off-by: Linus Torvalds commit 959bc220df38317bed9a677600b3945a8571fc1c Author: Anton Altaparmakov Date: Mon Jul 16 19:39:02 2007 +0100 Fix LDM for new field in the VOL5 VBLK. Teach LDM about a new field encountered with Windows Vista. This fixes LDM for people using Vista who have disabled drive letter assignment from one or more volumes. Doing this introduces a so far unknown field in the LDM database in the VOL5 VBLK structure which causes the LDM driver to fail to parse the VBLK structure and hence LDM fails to parse the disk altogether. This patch teaches the driver about this field. Thanks got to Ashton Mills for reporting the problem and working with me on getting it fixed. It is now working for him. Signed-off-by: Anton Altaparmakov CC: Richard Russon Signed-off-by: Linus Torvalds commit 7144521f5ac741e9ad3033953b9d9fdede015ee0 Author: Linus Torvalds Date: Mon Jul 16 11:50:38 2007 -0700 Remove duplicate comments from sysctl.c Randy Dunlap noticed that the recent comment clarifications from Andrew had somehow gotten duplicated. Quoth Andrew: "hm, that could have been some late-night reject-fixing." Fix it up. Cc: From: Andrew Morton Cc: Randy Dunlap Signed-off-by: Linus Torvalds commit abce891a10559343d8ac9f79b46d78afdba63a40 Author: Linus Torvalds Date: Mon Jul 16 11:18:23 2007 -0700 Fix new generic block device SG compile We had a merge issue with the "dentry" field going away from the kobject, and being replaced by a sysfs_dirent field (named "sd") instead. That broke the BSG compile. Cc: Jens Axboe Cc: FUJITA Tomonori Cc: James Bottomley Signed-off-by: Linus Torvalds commit 7e42ca886b0282679c2721dc4853163cc89b8a34 Author: Steve French Date: Mon Jul 16 17:40:02 2007 +0000 [CIFS] Typo in previous patch Signed-off-by: Steve French commit 98283bb49c6c8c070ebde9f47489d3e9a83c1323 Author: OGAWA Hirofumi Date: Mon Jul 16 09:40:05 2007 +0900 fat: Fix the race of read/write the FAT12 entry FAT12 entry is 12bits, so it needs 2 phase to update the value. And writer and reader access it without any lock, so reader can get the half updated value. This fixes the long standing race condition by adding a global spinlock to only FAT12 for avoiding any impact against FAT16/32. Signed-off-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds commit 6fa20d4fb58cb342638bc14658083aadcad8fb74 Author: Eric Date: Mon Jul 16 16:23:19 2007 +0000 [CIFS] zero_user_page() conversions Signed-off-by: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Steve French commit 347e03df1696ab22963f6b8c4f2220c41ec17f82 Author: Andrew Morton Date: Sun Jul 15 23:42:03 2007 -0700 cpwatchdog build fix sparc64: drivers/sbus/char/cpwatchdog.c: In function `wd_toggleintr': drivers/sbus/char/cpwatchdog.c:523: error: implicit declaration of function `readb' drivers/sbus/char/cpwatchdog.c:533: error: implicit declaration of function `writeb' drivers/sbus/char/cpwatchdog.c: In function `wd_pingtimer': drivers/sbus/char/cpwatchdog.c:545: error: implicit declaration of function `readw' drivers/sbus/char/cpwatchdog.c: In function `wd_starttimer': drivers/sbus/char/cpwatchdog.c:584: error: implicit declaration of function `writew' drivers/sbus/char/cpwatchdog.c: In function `wd_init': drivers/sbus/char/cpwatchdog.c:767: error: implicit declaration of function `ioremap' drivers/sbus/char/cpwatchdog.c:767: warning: assignment makes pointer from integer without a cast drivers/sbus/char/cpwatchdog.c: In function `wd_cleanup': drivers/sbus/char/cpwatchdog.c:849: error: implicit declaration of function `iounmap' Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17e0c7cc1dfd8f49b67160b678297b88e545cc40 Author: Jes Sorensen Date: Sun Jul 15 23:42:02 2007 -0700 sn_console section mismatch warning Do not mark sn_sal_console_setup as __init since it's referenced from non init data structures. Signed-off-by: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98701dc19e0cf358d48208e994180bb8abad5079 Author: Geert Uytterhoeven Date: Sun Jul 15 23:42:01 2007 -0700 compat32: ignore the LOOP_CLR_FD ioctl compat32: Ignore the LOOP_CLR_FD ioctl for the loop block device, to kill an annoying kernel message when e.g. busybox umount is used. Signed-off-by: Geert Uytterhoeven Acked-by: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29e3f347779088a79d832bfbd2d17c2f04050308 Author: Robert P. J. Day Date: Sun Jul 15 23:42:01 2007 -0700 NLS: Remove obsolete Makefile entries Since the corresponding source files no longer exist, remove the irrelevant Makefile entries for them. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c80e7a826c10cf5bce8487fbaede48bd0bd48d08 Author: Rusty Russell Date: Sun Jul 15 23:42:00 2007 -0700 permit mempool_free(NULL) Christian Borntraeger points out that mempool_free() doesn't noop when handed NULL. This is inconsistent with the other free-like functions in the kernel. Signed-off-by: Rusty Russell Cc: Christian Borntraeger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e70030d4cf91613530a23b40ad9919bb9ee114f Author: Badari Pulavarty Date: Sun Jul 15 23:42:00 2007 -0700 ext4: statfs speed up This is a patch that speeds up statfs. It is very simple - the "overhead" calculation, which takes a huge amount of time for large filesystems, never changes unless the size of the filesystem itself changes. That means we can store it in memory and only recalculate if the filesystem has been resized (almost never). It also fixes a minor problem that we never update the on-disk superblock free blocks/inodes counts until the filesystem is unmounted. While not fatal, we may as well update that on disk when we have the information, and it makes things like debugfs and dumpe2fs report a bit more accurate info. Signed-off-by: Badari Pulavarty Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a71ce8c6c9bf269b192f352ea555217815cf027e Author: Badari Pulavarty Date: Sun Jul 15 23:41:59 2007 -0700 ext3: statfs speed up This is a patch that speeds up statfs. It is very simple - the "overhead" calculation, which takes a huge amount of time for large filesystems, never changes unless the size of the filesystem itself changes. That means we can store it in memory and only recalculate if the filesystem has been resized (almost never). It also fixes a minor problem that we never update the on-disk superblock free blocks/inodes counts until the filesystem is unmounted. While not fatal, we may as well update that on disk when we have the information, and it makes things like debugfs and dumpe2fs report a bit more accurate info. Signed-off-by: Badari Pulavarty Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2235219b7721b8e74de6841e79240936561a2b63 Author: Badari Pulavarty Date: Sun Jul 15 23:41:58 2007 -0700 ext2: statfs speed up This is a patch that speeds up statfs. It is very simple - the "overhead" calculation, which takes a huge amount of time for large filesystems, never changes unless the size of the filesystem itself changes. That means we can store it in memory and only recalculate if the filesystem has been resized (almost never). It also fixes a minor problem that we never update the on-disk superblock free blocks/inodes counts until the filesystem is unmounted. While not fatal, we may as well update that on disk when we have the information, and it makes things like debugfs and dumpe2fs report a bit more accurate info. Signed-off-by: Badari Pulavarty Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f14137e284d5733e7be05bd95656f59391b942e Author: Dan Aloni Date: Sun Jul 15 23:41:57 2007 -0700 drivers/char/ipmi/ipmi_si_intf.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5fa4998eb4f318b6409e800edb1213b09e7cd62 Author: Dan Aloni Date: Sun Jul 15 23:41:56 2007 -0700 drivers/char/ipmi/ipmi_poweroff.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4277eedd7908a0ca8b66fad46ee76b0ad96e6ef2 Author: Denis Vlasenko Date: Sun Jul 15 23:41:56 2007 -0700 vsprintf.c: optimizing, part 2: base 10 conversion speedup, v2 Optimize integer-to-string conversion in vsprintf.c for base 10. This is by far the most used conversion, and in some use cases it impacts performance. For example, top reads /proc/$PID/stat for every process, and with 4000 processes decimal conversion alone takes noticeable time. Using code from http://www.cs.uiowa.edu/~jones/bcd/decimal.html (with permission from the author, Douglas W. Jones) binary-to-decimal-string conversion is done in groups of five digits at once, using only additions/subtractions/shifts (with -O2; -Os throws in some multiply instructions). On i386 arch gcc 4.1.2 -O2 generates ~500 bytes of code. This patch is run tested. Userspace benchmark/test is also attached. I tested it on PIII and AMD64 and new code is generally ~2.5 times faster. On AMD64: # ./vsprintf_verify-O2 Original decimal conv: .......... 151 ns per iteration Patched decimal conv: .......... 62 ns per iteration Testing correctness 12895992590592 ok... [Ctrl-C] # ./vsprintf_verify-O2 Original decimal conv: .......... 151 ns per iteration Patched decimal conv: .......... 62 ns per iteration Testing correctness 26025406464 ok... [Ctrl-C] More realistic test: top from busybox project was modified to report how many us it took to scan /proc (this does not account any processing done after that, like sorting process list), and then I test it with 4000 processes: #!/bin/sh i=4000 while test $i != 0; do sleep 30 & let i-- done busybox top -b -n3 >/dev/null on unpatched kernel: top: 4120 processes took 102864 microseconds to scan top: 4120 processes took 91757 microseconds to scan top: 4120 processes took 92517 microseconds to scan top: 4120 processes took 92581 microseconds to scan on patched kernel: top: 4120 processes took 75460 microseconds to scan top: 4120 processes took 66451 microseconds to scan top: 4120 processes took 67267 microseconds to scan top: 4120 processes took 67618 microseconds to scan The speedup comes from much faster generation of /proc/PID/stat by sprintf() calls inside the kernel. Signed-off-by: Douglas W Jones Signed-off-by: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b39a734097d5095d63eb9c709a6aaf965633bb01 Author: Denis Vlasenko Date: Sun Jul 15 23:41:54 2007 -0700 vsprintf.c: optimizing, part 1 (easy and obvious stuff) * There is no point in having full "0...9a...z" constant vector, if we use only "0...9a...f" (and "x" for "0x"). * Post-decrement usually needs a few more instructions, so use pre decrement instead where makes sense: -       while (i < precision--) { +       while (i <= --precision) { * if base != 10 (=> base 8 or 16), we can avoid using division in a loop and use mask/shift, obtaining much faster conversion. (More complex optimization for base 10 case is in the second patch). Overall, size vsprintf.o shows ~80 bytes smaller text section with this patch applied. Signed-off-by: Douglas W Jones Signed-off-by: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b4e5a1411c8b970983fb6022db1da31c4f5c301 Author: J. Bruce Fields Date: Sun Jul 15 23:41:53 2007 -0700 Fix trivial typos in anon_inodes.c comments Trivial typo and grammar fixes. Signed-off-by: "J. Bruce Fields" Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2111217df52827916141789c87d614ae45236db Author: Jesper Juhl Date: Sun Jul 15 23:41:53 2007 -0700 isapnp: remove pointless check of 'type' against 0 in isapnp_read_tag() In drivers/pnp/isapnp/core.c::isapnp_read_tag() there is a test of 'type' being == 0 a bit down in the function. That test doesn't make any sense. If 'type' could indeed be NULL, then the test happens way too late as we'd already have tried to dereference the pointer earlier and looking at the callers it also turns out that there is no way type can ever actually be NULL. So the test is completely pointless and should just be removed. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f1b0e1f287547903f11fa1e6de7d2765597766e Author: Alexey Dobriyan Date: Sun Jul 15 23:41:52 2007 -0700 .gitignore update headers_install by default puts headers into usr/include/ . They're auto-generated, so should be ignored. Same for *.orig, *.rej . Signed-off-by: Alexey Dobriyan Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f8a68ee486e1c81eaead3c521822bf86142d380 Author: Adrian Bunk Date: Sun Jul 15 23:41:52 2007 -0700 remove mm/backing-dev.c:congestion_wait_interruptible() congestion_wait_interruptible() is no longer used. Signed-off-by: Adrian Bunk Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1492192b4a0bb84dd9b792cc0bd30583220a28a7 Author: Jiri Kosina Date: Sun Jul 15 23:41:51 2007 -0700 kernel/printk.c: document possible deadlock against scheduler kernel/printk.c: document possible deadlock against scheduler The printk's comment states that it can be called from every context, which might lead to false illusion that it could be called from everywhere without any restrictions. This is however not true - a call to printk() could deadlock if called from scheduler code (namely from schedule(), wake_up(), etc) on runqueue lock when it tries to wake up klogd. Document this. Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 017f021c7e5fe3f82ccc5cbb7b1750e66e00f527 Author: Ed L. Cashin Date: Sun Jul 15 23:41:50 2007 -0700 docs: static initialization of spinlocks is OK Static initialization of spinlocks is preferable to dynamic initialization when it is practical. This patch updates documentation for consistency with comments in spinlock_types.h. Signed-off-by: Ed L. Cashin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e7d136e9e083f04b859411248c699cbb89e418d Author: Alan Cox Date: Sun Jul 15 23:41:49 2007 -0700 serial: remove termios checks from various old char serial drivers Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d471d340ef9543a1e2f70f99c21ee2c770e7b17c Author: Alan Cox Date: Sun Jul 15 23:41:49 2007 -0700 68360serial: remove broken optimisation Remove the broken 'no termios change' optimisation for this driver. Signed-off-by: Alan Cox Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de1764af27520f6dfdac0ddf2209d78ddb9690d7 Author: Alan Cox Date: Sun Jul 15 23:41:48 2007 -0700 synclink: remove bogus 'no change' termios optimisation from synclink drivers Again this check is wrong now, and un-needed Signed-off-by: Alan Cox Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35426128adaacf8cdabc2482598252d488b7ccb9 Author: Alan Cox Date: Sun Jul 15 23:41:47 2007 -0700 genericserial: remove bogus optimisation check and dead code paths We've been using the 'new locking' for a long time now so it seems pointless keeping the old one around. Remove it and undo the macros it uses back into real code for readability. Remove the bogus 'no termios change' checks. Signed-off-by: Alan Cox Cc: Morten Helgesen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db0ef08efa1bb94ba9a9e44c255d9058df5fde8d Author: Alan Cox Date: Sun Jul 15 23:41:47 2007 -0700 amiserial: remove incorrect 'no termios change' check Lots of serial drivers check and optimise for setting the termios values to the ones they were before. This is pointless and the check is wrong anyway. Remove the checks on the serial drivers. If we ever do need such a check put it back in the tty layer instead _once_! Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24da1cbff9cfce50868c2dfdcda82a68ac5cb707 Author: Rusty Russell Date: Sun Jul 15 23:41:46 2007 -0700 modules: remove modlist_lock Now we always use stop_machine for module insertion or deletion, we no longer need the modlist_lock: merely disabling preemption is sufficient to block against list manipulation. This avoids deadlock on OOPSen where we can potentially grab the lock twice. Bug: 8695 Signed-off-by: Rusty Russell Cc: Ingo Molnar Cc: Tobias Oed Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c675bd43ccc36927c855d53d2e0042cdd1074ab Author: Borislav Petkov Date: Sun Jul 15 23:41:45 2007 -0700 ext4: fix error handling in ext4_create_journal Fix error handling in ext4_create_journal according to kernel conventions. Signed-off-by: Borislav Petkov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 952d9de116ad87261de106464a9eeec038c4cd14 Author: Borislav Petkov Date: Sun Jul 15 23:41:45 2007 -0700 ext3: fix error handling in ext3_create_journal() Fix error handling in ext3_create_journal according to kernel conventions. Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f1f642e2f092e37eb9038060eb0100c44f55a11 Author: Oleg Nesterov Date: Sun Jul 15 23:41:44 2007 -0700 make cancel_xxx_work_sync() return a boolean Change cancel_work_sync() and cancel_delayed_work_sync() to return a boolean indicating whether the work was actually cancelled. A zero return value means that the work was not pending/queued. Without that kind of change it is not possible to avoid flush_workqueue() sometimes, see the next patch as an example. Also, this patch unifies both functions and kills the (unlikely) busy-wait loop. Signed-off-by: Oleg Nesterov Acked-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5a421a4509a7e2dff11da0f01b0548f4f84d503 Author: Oleg Nesterov Date: Sun Jul 15 23:41:44 2007 -0700 rename cancel_rearming_delayed_work() to cancel_delayed_work_sync() Imho, the current naming of cancel_xxx workqueue functions is very confusing. cancel_delayed_work() cancel_rearming_delayed_work() cancel_rearming_delayed_workqueue() // obsolete cancel_work_sync() This looks as if the first 2 functions differ in "type" of their argument which is not true any longer, nowadays the difference is the behaviour. The semantics of cancel_rearming_delayed_work(dwork) was changed significantly, it doesn't require that dwork rearms itself, and cancels dwork synchronously. Rename it to cancel_delayed_work_sync(). This matches cancel_delayed_work() and cancel_work_sync(). Re-create cancel_rearming_delayed_work() as a simple inline obsolete wrapper, like cancel_rearming_delayed_workqueue(). Signed-off-by: Oleg Nesterov Acked-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 422b14c2e2f816f58ce8ce0ab0beeae02dfb7a75 Author: Borislav Petkov Date: Sun Jul 15 23:41:43 2007 -0700 update Documentation/filesystems/vfs.txt Update Documentation/filesystems/vfs.txt Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d52988023a37720e9e4aeb66362be67fa21d8836 Author: Jesper Juhl Date: Sun Jul 15 23:41:42 2007 -0700 Remove the last few UMSDOS leftovers The UMSDOS filesystem was removed back in 2.6.11, but some tiny bits stuck around. This patch removes the few remaining leftovers. The only things left behind after this are the entries in the CREDITS file and the ioctl number in Documentation/ioctl-number.txt as documentation. This third (hopefully final) version of the patch doesn't edit the arch/um/config.release file, since Jeff Dike pointed out to me that it should die completely, and asked me to remove it from my patch as he'll send in a seperate patch removing the file completely. Signed-off-by: Jesper Juhl Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6b07d39d7904ceecac53699d6b5ddd677304880 Author: Jesper Juhl Date: Sun Jul 15 23:41:41 2007 -0700 Add missing files and dirs to 00-INDEX in Documentation/ Add descriptions for a number of missing files and directories to the Documentation/00-INDEX file. Signed-off-by: Jesper Juhl Acked-by: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2618c60b8b5836b73e8deb385a036820744d256d Author: Yinghai Lu Date: Sun Jul 15 23:41:41 2007 -0700 dma: make dma pool to use kmalloc_node Using dev_to_node(&dev->dev) to get node, and kmalloc_node to dma buffer on corresponding node dma pool Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Christoph Lameter Cc: David Rientjes Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d375b97037c40d51b41d3b00b15729f6730c2cfe Author: Cyrill Gorcunov Date: Sun Jul 15 23:41:40 2007 -0700 UDF: fix function name from udf_crc16 to udf_crc We have to change udf_crc16() name to udf_crc() to be able to play with CRC test. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 608e2619682e951f525b08e7a48669a3c0263b41 Author: Heiko Carstens Date: Sun Jul 15 23:41:39 2007 -0700 generic bug: use show_regs() instead of dump_stack() The current generic bug implementation has a call to dump_stack() in case a WARN_ON(whatever) gets hit. Since report_bug(), which calls dump_stack(), gets called from an exception handler we can do better: just pass the pt_regs structure to report_bug() and pass it to show_regs() in case of a warning. This will give more debug informations like register contents, etc... In addition this avoids some pointless lines that dump_stack() emits, since it includes a stack backtrace of the exception handler which is of no interest in case of a warning. E.g. on s390 the following lines are currently always present in a stack backtrace if dump_stack() gets called from report_bug(): [<000000000001517a>] show_trace+0x92/0xe8) [<0000000000015270>] show_stack+0xa0/0xd0 [<00000000000152ce>] dump_stack+0x2e/0x3c [<0000000000195450>] report_bug+0x98/0xf8 [<0000000000016cc8>] illegal_op+0x1fc/0x21c [<00000000000227d6>] sysc_return+0x0/0x10 Acked-by: Jeremy Fitzhardinge Acked-by: Haavard Skinnemoen Cc: Andi Kleen Cc: Kyle McMartin Cc: Paul Mackerras Cc: Paul Mundt Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94bed2a9c4ae980838003f5d32681eef794ecc28 Author: Dave Jones Date: Sun Jul 15 23:41:38 2007 -0700 Add -Werror-implicit-function-declaration Add -Werror-implicit-function-declaration This makes builds fail sooner if something is implicitly defined instead of having to wait half an hour for it to fail at the linking stage. Signed-off-by: Dave Jones Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc2ea416b2aa04d0c34ff2281a23dae5b76b7b3b Author: Andrew Morton Date: Sun Jul 15 23:41:38 2007 -0700 uninline check_signature() This is a rather bizarre thing to have inlined in io.h. Stick it in lib/ instead. While we're there, despaghetti it a bit, and fix its off-by-one behaviour when passed a zero length. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e7bd66318b3ae60fbba7d886d9a98b71ffbf74e Author: Josh Triplett Date: Sun Jul 15 23:41:37 2007 -0700 CodingStyle: add information about editor modelines I recently received a patch including a file that had a vim modeline, and I realized that nothing specifically proscribed that practice. Signed-off-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a923fd6ae7599aee63934ed13c3033fdefc7a18e Author: Josh Triplett Date: Sun Jul 15 23:41:37 2007 -0700 CodingStyle: add information about trailing whitespace Signed-off-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e8c4273ef4f631a896650bd2ade4c1b6487131b Author: vignesh babu Date: Sun Jul 15 23:41:36 2007 -0700 is_power_of_2: ufs/super.c Replace (n & (n-1)) with is_power_of_2 Signed-off-by: vignesh babu Acked-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7c310c36e5fdf1b83a459e5db167bfbd86137db Author: Niels de Vos Date: Sun Jul 15 23:41:35 2007 -0700 parport_pc: it887x fix The IO port range requested by parport_pc.c:sio_ite_8872_probe is too small. The IO-ports of ttyS1 (0x2f8) will be missconfigured by the ITE-chip. The ITE starts looking for the chip a 0x2a0. An IO-portrange of 32 will not overwrite the ports of ttyS1. Therefore register 0x60 should be written with 0xe5000000, enabling the ITE and setting IO-portsize to 32 bytes. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f84d5a76c50d9752cdec64a6e536ee3901b267f6 Author: vignesh babu Date: Sun Jul 15 23:41:34 2007 -0700 is_power_of_2: kernel/kfifo.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Acked-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf99abace7e07dd8491e7093a9a9ef11d48838ed Author: Andrea Arcangeli Date: Sun Jul 15 23:41:33 2007 -0700 make seccomp zerocost in schedule This follows a suggestion from Chuck Ebbert on how to make seccomp absolutely zerocost in schedule too. The only remaining footprint of seccomp is in terms of the bzImage size that becomes a few bytes (perhaps even a few kbytes) larger, measure it if you care in the embedded. Signed-off-by: Andrea Arcangeli Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d9d02feeee89e9132034d504c9a45eeaf618a3d Author: Andrea Arcangeli Date: Sun Jul 15 23:41:32 2007 -0700 move seccomp from /proc to a prctl This reduces the memory footprint and it enforces that only the current task can enable seccomp on itself (this is a requirement for a strightforward [modulo preempt ;) ] TIF_NOTSC implementation). Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be0ef957c9eed4ebae873ee3fbcfb9dfde486dec Author: Oleg Nesterov Date: Sun Jul 15 23:41:32 2007 -0700 nbd.c: sock_xmit: cleanup signal related code sock_xmit() re-implements sigprocmask() and dequeue_signal_lock(). Signed-off-by: Oleg Nesterov Acked-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e1ac130d08b0c7066615fe60fe1e7212c8eaf6a Author: Oleg Nesterov Date: Sun Jul 15 23:41:29 2007 -0700 kcdrwd: remove unneeded flush_signals() call kcdrwd() is a kernel thread, all signals are ignored. Signed-off-by: Oleg Nesterov Cc: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b6dd9baa728d8ef329cc9a7e73e511e29055856 Author: Oleg Nesterov Date: Sun Jul 15 23:41:29 2007 -0700 adb_probe_task: remove unneeded flush_signals() call adb_probe_task() is forked by "events" thread, all signals are ignored, no need to play with signal blocking/flushing. Signed-off-by: Oleg Nesterov Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4210df283cc703bc494f450c91b8311bdf7fe5ee Author: Andrew Morton Date: Sun Jul 15 23:41:28 2007 -0700 bd_claim_by_disk: fix warning Fix this: fs/block_dev.c: In function 'bd_claim_by_disk': fs/block_dev.c:970: warning: 'found' may be used uninitialized in this function and given that free_bd_holder() now needs free(NULL)-is-legal behaviour, we can simplify bd_release_from_kobject(). Cc: Bjorn Steinbrink Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e91672c76319aaed24ea3e784e238cf445c57cb Author: Johannes Weiner Date: Sun Jul 15 23:41:25 2007 -0700 Replace obscure constructs in fs/block_dev.c Replace some funky codepaths in fs/block_dev.c with cleaner versions of the affected places. [akpm@linux-foundation.org: fix return value] Signed-off-by: Johannes Weiner Cc: Bjorn Steinbrink Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 948730b0e39fb4cba4a5ed0fc40e0f017cce2dfa Author: Adrian Bunk Date: Sun Jul 15 23:41:25 2007 -0700 fs/namespace.c should #include "internal.h" Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19769b762607fea53c005a0068cf8939cecd2f9a Author: Andrew Morton Date: Sun Jul 15 23:41:24 2007 -0700 sprint_symbol() cleanup Remove pointless `else'. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d45bce8faf55511ec7d7ffc301461d864d67f1af Author: Duane Griffin Date: Sun Jul 15 23:41:23 2007 -0700 HFS+: add custom dentry hash and comparison operations Add custom dentry hash and comparison operations for HFS+ filesystems that are case-insensitive and/or do automatic unicode decomposition. The new operations reuse the existing HFS+ ASCII to unicode conversion, unicode decomposition and case folding functionality. Signed-off-by: Duane Griffin Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e96b7ca1e8f17c5117da369daaa7cf2edfdf9b1 Author: Duane Griffin Date: Sun Jul 15 23:41:22 2007 -0700 HFS+: refactor ASCII to unicode conversion routine for later reuse The HFS+ filesystem is case-insensitive and does automatic unicode decomposition by default, but does not provide custom dentry operations. This can lead to multiple dentries being cached for lookups on a filename with varying case and/or character (de)composition. These patches add custom dentry hash and comparison operations for case-sensitive and/or automatically decomposing HFS+ filesystems. Unicode decomposition and case-folding are performed as required to ensure equivalent filenames are hashed to the same values and compare as equal. This patch: Refactor existing HFS+ ASCII to unicode string conversion routine to split out character conversion functionality. This will be reused by the custom dentry hash and comparison routines. This approach avoids unnecessary memory allocation compared to using the string conversion routine directly in the new functions. [akpm@linux-foundation.org: avoid use-of-uninitialised] Signed-off-by: Duane Griffin Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29bc5b4f73a65ef667df50d5ed474e371471d915 Author: Toshiyuki Okajima Date: Sun Jul 15 23:41:22 2007 -0700 mistaken ext4_inode_bitmap for ext4_block_bitmap In ext4_new_blocks(), one of two ext4_block_bitmap() calls should be ext4_inode_bitmap() call. It is not harmful in normal processing, but it should be fixed. Signed-off-by: Toshiyuki Okajima Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2be7fe075af8f8ba9c8b8ab0feec4ba4fff04979 Author: Andrew Morton Date: Sun Jul 15 23:41:21 2007 -0700 sysctl.c: add text telling people to use CTL_UNNUMBERED Hopefully this will help people to understand the new regime. Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d8f83cb734525f96992fd61e4f7323ab3d549c Author: Andrew Morton Date: Sun Jul 15 23:41:20 2007 -0700 Add Documentation/sysctl/ctl_unnumbered.txt Poeple keep on adding new numbered sysctls, when they're supposed not to. Add a documentation file which explain why new sysctls should use CTL_UNNUMBERED. The next patch will sprinkle pointers to this throughout sysctl.c. Eric provided the text (thanks) Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36cf3b5c3b7228bcf5124c530d50080b61a59f69 Author: Thomas Gleixner Date: Sun Jul 15 23:41:20 2007 -0700 FUTEX: Tidy up the code The recent PRIVATE and REQUEUE_PI changes to the futex code made it hard to read. Tidy it up. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0746aec3c75f23de0148774ac50cf73161f09d68 Author: Borislav Petkov Date: Sun Jul 15 23:41:19 2007 -0700 update description in Documentation/filesystems/vfs.txt Update the description of struct file_system_type and get_sb() in Documentation/filesystems/vfs.txt to match the current code. Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 132e4b0a049c39337c535501561b8301c7f2b202 Author: Robert P. J. Day Date: Sun Jul 15 23:41:19 2007 -0700 cdrom: replace hard-coded constants by kernel.h macro. Signed-off-by: Robert P. J. Day Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e44f3497d41db4c3b9051c61410dee8ae4fb49c Author: Ingo Molnar Date: Sun Jul 15 23:41:18 2007 -0700 sys_time() speedup Improve performance of sys_time(). sys_time() returns time in seconds, but it does so by calling do_gettimeofday() and then returning the tv_sec portion of the GTOD time. But the data structure "xtime", which is updated by every timer/scheduler tick, already offers HZ granularity time. The patch improves the sysbench OLTP macrobenchmark significantly: 2.6.22-rc6: #threads 1: transactions: 3733 (373.21 per sec.) 2: transactions: 6676 (667.46 per sec.) 3: transactions: 6957 (695.50 per sec.) 4: transactions: 7055 (705.48 per sec.) 5: transactions: 6596 (659.33 per sec.) 2.6.22-rc6 + sys_time.patch: 1: transactions: 4005 (400.47 per sec.) 2: transactions: 7379 (737.77 per sec.) 3: transactions: 7347 (734.49 per sec.) 4: transactions: 7468 (746.65 per sec.) 5: transactions: 7428 (742.47 per sec.) Mixed API uses of gettimeofday() and time() are guaranteed to be coherent via the use of a at-most-once-per-second slowpath that updates xtime. [akpm@linux-foundation.org: build fixes] Signed-off-by: Ingo Molnar Cc: John Stultz Cc: Thomas Gleixner Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f482394ccbca7234d29cc146d4a2b94f976ce5a1 Author: vignesh babu Date: Sun Jul 15 23:41:17 2007 -0700 is_power_of_2(): jbd Replace (n & (n-1)) in the context of power of 2 checks with is_power_of_2(). Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fc74269c8910573a0e9a7bc303752194ce5cae0 Author: vignesh babu Date: Sun Jul 15 23:41:17 2007 -0700 is_power_of_2: ext3/super.c Replace (n & (n-1)) in the context of power of 2 checks with is_power_of_2() Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 681dcd95431e2258c1174602fcd69393e4139959 Author: Christoph Hellwig Date: Sun Jul 15 23:41:16 2007 -0700 drop obsolete sys_ioctl export sys_ioctl() was only exported for our first version of compat ioctl handling. Now that the whole compat ioctl handling mess is more or less sorted out there are no more modular users left and we can kill it. There's one exception and that's sparc64's solaris compat module, but sparc64 has it's own export predating the generic one by years for that which this patch leaves untouched. Signed-off-by: Christoph Hellwig Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcecc6c70013e3a5fa81b3081480c03e10670a23 Author: Randy Dunlap Date: Sun Jul 15 23:41:15 2007 -0700 doc/oops-tracing: add Code: decode info Add info that the Code: bytes line contains or (wxyz) in some architecture oops reports and what that means. Add a script by Andi Kleen that reads the Code: line from an Oops report file and generates assembly code from the hex bytes. Signed-off-by: Randy Dunlap Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 213dd266d48af90c1eec8688c1ff31aa34d21de2 Author: Eric W. Biederman Date: Sun Jul 15 23:41:15 2007 -0700 namespace: ensure clone_flags are always stored in an unsigned long While working on unshare support for the network namespace I noticed we were putting clone flags in an int. Which is weird because the syscall uses unsigned long and we at least need an unsigned to properly hold all of the unshare flags. So to make the code consistent, this patch updates the code to use unsigned long instead of int for the clone flags in those places where we get it wrong today. Signed-off-by: Eric W. Biederman Acked-by: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3a68e30d28dbc6981dfc3d6ceddbfa2f885fe4e Author: Dave Hansen Date: Sun Jul 15 23:41:14 2007 -0700 ext3: remove extra IS_RDONLY() check ext3_change_inode_journal_flag() is only called from one location: ext3_ioctl(EXT3_IOC_SETFLAGS). That ioctl case already has a IS_RDONLY() call in it so this one is superfluous. Signed-off-by: Dave Hansen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b86e854f71600c809536502a0efa9d4e384fb23 Author: C. Scott Ananian Date: Sun Jul 15 23:41:13 2007 -0700 update procfs-guide doc of read_func The procfs-guide claims that 'the parameter start doesn't seem to be used anywhere in the kernel'. This is out of date. In linux/fs/proc/generic.c we find a very nice description of the parameters to read_func. The appended patch replaces the bogus description with this (as far as I know) accurate one. Cc: "Randy.Dunlap" Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4895925976977aaeda26ee2a603a99f17db500b Author: Robert P. J. Day Date: Sun Jul 15 23:41:13 2007 -0700 Remove final two references to "__obsolete_setup" macro Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b716395e2b8e450e294537de0c91476ded2f0395 Author: Vasily Tarasov Date: Sun Jul 15 23:41:12 2007 -0700 diskquota: 32bit quota tools on 64bit architectures OpenVZ Linux kernel team has discovered the problem with 32bit quota tools working on 64bit architectures. In 2.6.10 kernel sys32_quotactl() function was replaced by sys_quotactl() with the comment "sys_quotactl seems to be 32/64bit clean, enable it for 32bit" However this isn't right. Look at if_dqblk structure: struct if_dqblk { __u64 dqb_bhardlimit; __u64 dqb_bsoftlimit; __u64 dqb_curspace; __u64 dqb_ihardlimit; __u64 dqb_isoftlimit; __u64 dqb_curinodes; __u64 dqb_btime; __u64 dqb_itime; __u32 dqb_valid; }; For 32 bit quota tools sizeof(if_dqblk) == 0x44. But for 64 bit kernel its size is 0x48, 'cause of alignment! Thus we got a problem. Attached patch reintroduce sys32_quotactl() function, that handles this and related situations. [michal.k.k.piotrowski@gmail.com: build fix] [akpm@linux-foundation.org: Make it link with CONFIG_QUOTA=n] Signed-off-by: Vasily Tarasov Cc: Andi Kleen Cc: "Luck, Tony" Cc: Jan Kara Cc: Signed-off-by: Michal Piotrowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b7775870b69129e640ed583c9b362d5cd66159d Author: Arnd Bergmann Date: Sun Jul 15 23:41:11 2007 -0700 Introduce compat_u64 and compat_s64 types One common problem with 32 bit system call and ioctl emulation is the different alignment rules between i386 and 64 bit machines. A number of drivers work around this by marking the compat structures as 'attribute((packed))', which is not the right solution because it breaks all the non-x86 architectures that want to use the same compat code. Hopefully, this patch improves the situation, it introduces two new types, compat_u64 and compat_s64. These are defined on all architectures to have the same size and alignment as the 32 bit version of u64 and s64. Signed-off-by: Arnd Bergmann Acked-by: David S. Miller Cc: David Woodhouse Cc: Andi Kleen Cc: Benjamin Herrenschmidt Cc: Vasily Tarasov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d9525b52aecd11b14c4ec982add01c11157172f Author: Henrik Kretzschmar Date: Sun Jul 15 23:41:10 2007 -0700 kerneldoc fix in audit_core_dumps Fix parameter name in audit_core_dumps for kerneldoc. Signed-off-by: Henrik Kretzschmar Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcf5008db171211e3c34c060cacfd788306b034b Author: Nathan Lynch Date: Sun Jul 15 23:41:09 2007 -0700 remove unused lock_cpu_hotplug_interruptible definition aa95387774039096c11803c04011f1aa42d85758 removed the implementation of lock_cpu_hotplug_interruptible and all users of it. This stub definition for !CONFIG_HOTPLUG_CPU was left over -- kill it now. Signed-off-by: Nathan Lynch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32c3773011a9b3522bd4abadc7fad8c27417119f Author: Jan Kara Date: Sun Jul 15 23:41:09 2007 -0700 ext4: fix deadlock in ext4_remount() and orphan list handling ext4_orphan_add() and ext4_orphan_del() functions lock sb->s_lock with a transaction started with ext4_mark_recovery_complete() waits for a transaction holding sb->s_lock, thus leading to a possible deadlock. At the moment we call ext4_mark_recovery_complete() from ext4_remount() we have done all the work needed for remounting and thus we are safe to drop sb->s_lock before we wait for transactions to commit. Note that at this moment we are still guarded by s_umount lock against other remounts/umounts. Signed-off-by: Jan Kara Cc: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 030703e49d4966bd348660e0fdc2699507efb82b Author: Jan Kara Date: Sun Jul 15 23:41:08 2007 -0700 ext3: fix deadlock in ext3_remount() and orphan list handling ext3_orphan_add() and ext3_orphan_del() functions lock sb->s_lock with a transaction started with ext3_mark_recovery_complete() waits for a transaction holding sb->s_lock, thus leading to a possible deadlock. At the moment we call ext3_mark_recovery_complete() from ext3_remount() we have done all the work needed for remounting and thus we are safe to drop sb->s_lock before we wait for transactions to commit. Note that at this moment we are still guarded by s_umount lock against other remounts/umounts. Signed-off-by: Jan Kara Cc: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b3b295502444340dd0701855ac422fbf32e161d Author: Jan Beulich Date: Sun Jul 15 23:41:07 2007 -0700 adjust nosmp handling Especially when !CONFIG_HOTPLUG_CPU, avoid needlessy allocating resources for CPUs that can never become available. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98c0d07cbf2a8582a0341b05ad564247e608f6f9 Author: Cedric Le Goater Date: Sun Jul 15 23:41:07 2007 -0700 add a kmem_cache for nsproxy objects It should improve performance in some scenarii where a lot of these nsproxy objects are created by unsharing namespaces. This is a typical use of virtual servers that are being created or entered. This is also a good tool to find leaks and gather statistics on namespace usage. Signed-off-by: Cedric Le Goater Cc: Herbert Poetzl Cc: Pavel Emelianov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 467e9f4b5086a60a5cb2e032ccaf4a31abadc4c2 Author: Cedric Le Goater Date: Sun Jul 15 23:41:06 2007 -0700 fix create_new_namespaces() return value dup_mnt_ns() and clone_uts_ns() return NULL on failure. This is wrong, create_new_namespaces() uses ERR_PTR() to catch an error. This means that the subsequent create_new_namespaces() will hit BUG_ON() in copy_mnt_ns() or copy_utsname(). Modify create_new_namespaces() to also use the errors returned by the copy_*_ns routines and not to systematically return ENOMEM. [oleg@tv-sign.ru: better changelog] Signed-off-by: Cedric Le Goater Cc: Serge E. Hallyn Cc: Badari Pulavarty Cc: Pavel Emelianov Cc: Herbert Poetzl Cc: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e733f071e16bdad13a75eedb102e8941b09927e Author: Andrew Morton Date: Sun Jul 15 23:41:05 2007 -0700 dirty_writeback_centisecs_handler() cleanup Repair indenting bustage. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97842216b8400fe9d1a20468959e2989180f8f79 Author: Dave Jones Date: Sun Jul 15 23:41:05 2007 -0700 Allow softlockup to be runtime disabled It's useful sometimes to disable the softlockup checker at boottime. Especially if it triggers during a distro install. Signed-off-by: Dave Jones Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea5a3dcfda1c9140228f2842ea9b01e1713c559a Author: Robert P. J. Day Date: Sun Jul 15 23:41:04 2007 -0700 COBALT: remove all references to Cobalt NVRAM Remove not only the references to Cobalt NVRAM, but the header file as well. Signed-off-by: Robert P. J. Day Acked-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef48bd246124ccdef0e1fa5b03b62d69cbf71fa7 Author: Paul E. McKenney Date: Sun Jul 15 23:41:03 2007 -0700 Document the fact that RCU callbacks can run in parallel Add an item to the RCU documentation checklist noting that RCU callbacks can run in parallel. Signed-off-by: Paul E. McKenney Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d3b573ad9af85b6df104044f6fff05f04349db2 Author: Andrew Morton Date: Sun Jul 15 23:41:03 2007 -0700 binfmt_elf warning fix fs/binfmt_elf.c: In function 'load_elf_binary': fs/binfmt_elf.c:1002: warning: 'interp_map_addr' may be used uninitialized in this function The compiler (gcc-4.1.0) is correct, but it failed to notice that we didn't use the resulting value. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64d67d21773f1946ddc04aedc201f6c2f3ee1bfb Author: Andrew Morton Date: Sun Jul 15 23:41:02 2007 -0700 revert "vanishing ioctl handler debugging" Revert my do_ioctl() debugging patch: Paul fixed the bug. Cc: Paul Fulghum Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77ec739d8d0979477fc91f530403805afa2581a4 Author: Serge E. Hallyn Date: Sun Jul 15 23:41:01 2007 -0700 user namespace: add unshare This patch enables the unshare of user namespaces. It adds a new clone flag CLONE_NEWUSER and implements copy_user_ns() which resets the current user_struct and adds a new root user (uid == 0) For now, unsharing the user namespace allows a process to reset its user_struct accounting and uid 0 in the new user namespace should be contained using appropriate means, for instance selinux The plan, when the full support is complete (all uid checks covered), is to keep the original user's rights in the original namespace, and let a process become uid 0 in the new namespace, with full capabilities to the new namespace. Signed-off-by: Serge E. Hallyn Signed-off-by: Cedric Le Goater Acked-by: Pavel Emelianov Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Andrew Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acce292c82d4d82d35553b928df2b0597c3a9c78 Author: Cedric Le Goater Date: Sun Jul 15 23:40:59 2007 -0700 user namespace: add the framework Basically, it will allow a process to unshare its user_struct table, resetting at the same time its own user_struct and all the associated accounting. A new root user (uid == 0) is added to the user namespace upon creation. Such root users have full privileges and it seems that theses privileges should be controlled through some means (process capabilities ?) The unshare is not included in this patch. Changes since [try #4]: - Updated get_user_ns and put_user_ns to accept NULL, and get_user_ns to return the namespace. Changes since [try #3]: - moved struct user_namespace to files user_namespace.{c,h} Changes since [try #2]: - removed struct user_namespace* argument from find_user() Changes since [try #1]: - removed struct user_namespace* argument from find_user() - added a root_user per user namespace Signed-off-by: Cedric Le Goater Signed-off-by: Serge E. Hallyn Acked-by: Pavel Emelianov Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Andrew Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d69a1f4a72b18876c99c697692b78339d491568 Author: Cedric Le Goater Date: Sun Jul 15 23:40:58 2007 -0700 remove CONFIG_UTS_NS and CONFIG_IPC_NS CONFIG_UTS_NS and CONFIG_IPC_NS have very little value as they only deactivate the unshare of the uts and ipc namespaces and do not improve performance. Signed-off-by: Cedric Le Goater Acked-by: "Serge E. Hallyn" Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 522ed7767e800cff6c650ec64b0ee0677303119c Author: Miloslav Trmac Date: Sun Jul 15 23:40:56 2007 -0700 Audit: add TTY input auditing Add TTY input auditing, used to audit system administrator's actions. This is required by various security standards such as DCID 6/3 and PCI to provide non-repudiation of administrator's actions and to allow a review of past actions if the administrator seems to overstep their duties or if the system becomes misconfigured for unknown reasons. These requirements do not make it necessary to audit TTY output as well. Compared to an user-space keylogger, this approach records TTY input using the audit subsystem, correlated with other audit events, and it is completely transparent to the user-space application (e.g. the console ioctls still work). TTY input auditing works on a higher level than auditing all system calls within the session, which would produce an overwhelming amount of mostly useless audit events. Add an "audit_tty" attribute, inherited across fork (). Data read from TTYs by process with the attribute is sent to the audit subsystem by the kernel. The audit netlink interface is extended to allow modifying the audit_tty attribute, and to allow sending explanatory audit events from user-space (for example, a shell might send an event containing the final command, after the interactive command-line editing and history expansion is performed, which might be difficult to decipher from the TTY input alone). Because the "audit_tty" attribute is inherited across fork (), it would be set e.g. for sshd restarted within an audited session. To prevent this, the audit_tty attribute is cleared when a process with no open TTY file descriptors (e.g. after daemon startup) opens a TTY. See https://www.redhat.com/archives/linux-audit/2007-June/msg00000.html for a more detailed rationale document for an older version of this patch. [akpm@linux-foundation.org: build fix] Signed-off-by: Miloslav Trmac Cc: Al Viro Cc: Alan Cox Cc: Paul Fulghum Cc: Casey Schaufler Cc: Steve Grubb Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f27c00bf80f122513d3a5be16ed851573164534 Author: Alan Cox Date: Sun Jul 15 23:40:55 2007 -0700 Improve behaviour of spurious IRQ detect Currently we handle spurious IRQ activity based upon seeing a lot of invalid interrupts, and we clear things back on the base of lots of valid interrupts. Unfortunately in some cases you get legitimate invalid interrupts caused by timing asynchronicity between the PCI bus and the APIC bus when disabling interrupts and pulling other tricks. In this case although the spurious IRQs are not a problem our unhandled counters didn't clear and they act as a slow running timebomb. (This is effectively what the serial port/tty problem that was fixed by clearing counters when registering a handler showed up) It's easy enough to add a second parameter - time. This means that if we see a regular stream of harmless spurious interrupts which are not harming processing we don't go off and do something stupid like disable the IRQ after a month of running. OTOH lockups and performance killers show up a lot more than 10/second [akpm@linux-foundation.org: cleanup] Signed-off-by: Alan Cox Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3dc8c189a20dc5d115b8f0d07ac620e69eff05c Author: Alan Cox Date: Sun Jul 15 23:40:54 2007 -0700 intel-rng: undo mess made by an 80 column extremist The intel-rng printed a nice well formatted message when the port was disabled. Someone then came along and blindly trashed it by screwing up a trim down to 80 columns. Put it back into the right format and keep the overlong lines as the result is also MUCH easier to read in this specific case. Signed-off-by: Alan Cox Cc: Michael Buesch Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4c07bce796833401317519e44075889c5fd4d5f Author: Lee Schermerhorn Date: Sun Jul 15 23:40:54 2007 -0700 hugetlbfs: handle empty options string I was seeing a null pointer deref in fs/super.c:vfs_kern_mount(). Some file system get_sb() handler was returning NULL mnt_sb with a non-negative return value. I also noticed a "hugetlbfs: Bad mount option:" message in the log. Turns out that hugetlbfs_parse_options() was not checking for an empty option string after call to strsep(). On failure, hugetlbfs_parse_options() returns 1. hugetlbfs_fill_super() just passed this return code back up the call stack where vfs_kern_mount() missed the error and proceeded with a NULL mnt_sb. Apparently introduced by patch: hugetlbfs-use-lib-parser-fix-docs.patch The problem was exposed by this line in my fstab: none /huge hugetlbfs defaults 0 0 It can also be demonstrated by invoking mount of hugetlbfs directly with no options or a bogus option. This patch: 1) adds the check for empty option to hugetlbfs_parse_options(), 2) enhances the error message to bracket any unrecognized option with quotes , 3) modifies hugetlbfs_parse_options() to return -EINVAL on any unrecognized option, 4) adds a BUG_ON() to vfs_kern_mount() to catch any get_sb() handler that returns a NULL mnt->mnt_sb with a return value >= 0. Signed-off-by: Lee Schermerhorn Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e73a75fa7f062b52d015f1c961685dcaac57f710 Author: Randy Dunlap Date: Sun Jul 15 23:40:52 2007 -0700 hugetlbfs: use lib/parser, fix docs Use lib/parser.c to parse hugetlbfs mount options. Correct docs in hugetlbpage.txt. old size of hugetlbfs_fill_super: 675 bytes new size of hugetlbfs_fill_super: 686 bytes (hugetlbfs_parse_options() is inlined) Signed-off-by: Randy Dunlap Cc: Hugh Dickins Cc: David Gibson Cc: Adam Litke Acked-by: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5216184571946b8bbf06f0cd630c7754190fdd1a Author: Dave Jones Date: Sun Jul 15 23:40:51 2007 -0700 fix typo in prefetch.h Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b7ecb113eb884bed126c44513aeecdbbfa6fee3 Author: Jesper Juhl Date: Sun Jul 15 23:40:51 2007 -0700 SubmitChecklist update, fix spelling error Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5001a27802723d6de50d9d8a446d594116524b0 Author: Wyatt Banks Date: Sun Jul 15 23:40:50 2007 -0700 HFSPlus: change kmalloc/memset to kzalloc Removed kmalloc and memset in favor of kzalloc. To explain the HFSPLUS_SB() macro in the removed memset call: hfsplus_fs.h:#define HFSPLUS_SB(super) (*(struct hfsplus_sb_info *)(super)->s_fs_info) Signed-off-by: Wyatt Banks Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abd4aa5a97ebc0efb9a7fbc98ef0bcf39266fadf Author: Dave Jones Date: Sun Jul 15 23:40:49 2007 -0700 undeprecate raw driver Despite repeated attempts over the last two and half years, this driver seems somewhat persistant. Remove its deprecated status as it has existing users who may not be in a position to migrate their apps to O_DIRECT. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3a740c5fb792098d7e7a24cd194a6d8c710ea94 Author: Randy Dunlap Date: Sun Jul 15 23:40:49 2007 -0700 sony-laptop: use NULL for pointer Use NULL instead of 0 for pointer: drivers/misc/sony-laptop.c:1920:6: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Acked-by: Mattia Dongili Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b663a79c191508f27cd885224b592a878c0ba0f6 Author: Maxim Uvarov Date: Sun Jul 15 23:40:48 2007 -0700 taskstats: add context-switch counters Make available to the user the following task and process performance statistics: * Involuntary Context Switches (task_struct->nivcsw) * Voluntary Context Switches (task_struct->nvcsw) Statistics information is available from: 1. taskstats interface (Documentation/accounting/) 2. /proc/PID/status (task only). This data is useful for detecting hyperactivity patterns between processes. [akpm@linux-foundation.org: cleanup] Signed-off-by: Maxim Uvarov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Cc: Jonathan Lim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6c15c2b0fbfd5c0a84f5f0e1e3f20f85d2b8692 Author: Vasily Averin Date: Sun Jul 15 23:40:46 2007 -0700 ext3/ext4: orphan list corruption due bad inode After ext3 orphan list check has been added into ext3_destroy_inode() (please see my previous patch) the following situation has been detected: EXT3-fs warning (device sda6): ext3_unlink: Deleting nonexistent file (37901290), 0 Inode 00000101a15b7840: orphan list check failed! 00000773 6f665f00 74616d72 00000573 65725f00 06737270 66000000 616d726f ... Call Trace: [] ext3_destroy_inode+0x79/0x90 [] sys_unlink+0x126/0x1a0 [] error_exit+0x0/0x81 [] system_call+0x7e/0x83 First messages said that unlinked inode has i_nlink=0, then ext3_unlink() adds this inode into orphan list. Second message means that this inode has not been removed from orphan list. Inode dump has showed that i_fop = &bad_file_ops and it can be set in make_bad_inode() only. Then I've found that ext3_read_inode() can call make_bad_inode() without any error/warning messages, for example in the following case: ... if (inode->i_nlink == 0) { if (inode->i_mode == 0 || !(EXT3_SB(inode->i_sb)->s_mount_state & EXT3_ORPHAN_FS)) { /* this inode is deleted */ brelse (bh); goto bad_inode; ... Bad inode can live some time, ext3_unlink can add it to orphan list, but ext3_delete_inode() do not deleted this inode from orphan list. As result we can have orphan list corruption detected in ext3_destroy_inode(). However it is not clear for me how to fix this issue correctly. As far as i see is_bad_inode() is called after iget() in all places excluding ext3_lookup() and ext3_get_parent(). I believe it makes sense to add bad inode check to these functions too and call iput if bad inode detected. Signed-off-by: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f7dd93de07420b423336d5d0028959e94778ddb Author: Vasily Averin Date: Sun Jul 15 23:40:45 2007 -0700 ext3/ext4: orphan list check on destroy_inode Customers claims to ext3-related errors, investigation showed that ext3 orphan list has been corrupted and have the reference to non-ext3 inode. The following debug helps to understand the reasons of this issue. [akpm@linux-foundation.org: update for print_hex_dump() changes] Signed-off-by: Vasily Averin Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcae56ea661e13d8f904b584bbe4c1e50c7ee548 Author: Robert P. J. Day Date: Sun Jul 15 23:40:45 2007 -0700 Drop an empty isicom.h from being exported to user space. Drop from being exported to user space since it would be only an empty file. Signed-off-by: Robert P. J. Day Acked-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c289dca37917338fc8ab2e0d7e202a1c927e229e Author: Adrian Bunk Date: Sun Jul 15 23:40:42 2007 -0700 remove sonypi_camera_command() Remove the no longer used sonypi_camera_command(). Signed-off-by: Adrian Bunk Acked-by: Mattia Dongili Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 759448f459234bfcf34b82471f0dba77a9aca498 Author: Jan Engelhardt Date: Sun Jul 15 23:40:40 2007 -0700 Kernel utf-8 handling This patch fixes dead keys and copy/paste of non-ASCII characters in UTF-8 mode on Linux console. See more details about the original patch at: http://chris.heathens.co.nz/linux/utf8.html Already posted on (Oldest) http://lkml.org/lkml/2003/5/31/148 http://lkml.org/lkml/2005/12/24/69 (Recent) http://lkml.org/lkml/2006/8/7/75 [bunk@stusta.de: make drivers/char/selection.c:store_utf8() static] Signed-off-by: Jan Engelhardt Cc: Alexander E. Patrakov Cc: Dmitry Torokhov Cc: "Antonino A. Daplas" Signed-off-by: Adrian Bunk Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa0ac36518be648dda3a32f0b37a8b2b546e1b24 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:39 2007 -0700 Remove capability.h from mm.h I forgot to remove capability.h from mm.h while removing sched.h! This patch remedies that, because the only inline function which was using CAP_something was made out of line. Cross-compile tested without regressions on: all powerpc defconfigs all mips defconfigs all m68k defconfigs all arm defconfigs all ia64 defconfigs alpha alpha-allnoconfig alpha-defconfig alpha-up arm i386 i386-allnoconfig i386-defconfig i386-up ia64 ia64-allnoconfig ia64-defconfig ia64-up m68k mips parisc parisc-allnoconfig parisc-defconfig parisc-up powerpc powerpc-up s390 s390-allnoconfig s390-defconfig s390-up sparc sparc-allnoconfig sparc-defconfig sparc-up sparc64 sparc64-allnoconfig sparc64-defconfig sparc64-up um-x86_64 x86_64 x86_64-allnoconfig x86_64-defconfig x86_64-up as well as my two usual configs. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb510b8172602a66467f3551b4be1911f5a7c8c2 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:39 2007 -0700 seq_file: more atomicity in traverse() Original problem: in some circumstances seq_file interface can present infinite proc file to the following script when normally said proc file is finite: while read line; do [do something with $line] done index'es being 0 and 1. Current one is 1, as bash prints second object line by line. Imagine first object being removed right before lseek(). traverse() will be called, because there is negative offset. traverse() will reset ->index to 0 (!). traverse() will call ->next() and get NULL in any usual iterate-over-list code using list_for_each_entry_continue() and such. There is one object in list now after all... traverse() will return 0, lseek() will update file position and pretend everything is OK. So, what we have now: ->f_pos points to place where second object will be printed, but ->index is 0. seq_read() instead of returning EOF, will start printing first line of first object every time it's called, until enough objects are added to ->f_pos return in bounds. Fix is to update ->index only after we're sure we saw enough objects down the road. Signed-off-by: Alexey Dobriyan Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18d96779d92902d2113b6f39bd2d42e805fa05e7 Author: Kees Cook Date: Sun Jul 15 23:40:38 2007 -0700 Documentation: /proc/$pid/stat files Documentation for the /proc/$pid/stat file. Signed-off-by: Kees Cook Cc: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e6077bd84a7bffa73b59d9704682aeab5781fa0 Author: Haavard Skinnemoen Date: Sun Jul 15 23:40:36 2007 -0700 atmel_serial: fix break handling The RXBRK field in the AT91/AT32 USART status register has the following definition according to e.g. the AT32AP7000 data sheet: RXBRK: Break Received/End of Break 0: No Break received or End of Break detected since the last RSTSTA. 1: Break Received or End of Break detected since the last RSTSTA. Thus, for each break, the USART sets the RXBRK bit twice. This patch modifies the driver to report the break event to the serial core only once by keeping track of whether a break condition is currently active. The break_active flag is reset as soon as a character is received, so even if we miss the start-of-break interrupt this should do the right thing. Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Cc: Russell King Cc: Ivan Kuten Cc: Nicolas Ferre Cc: Patrice Vilchez Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc1ed7542c8c26af0f501da8006b9fce03e9aaca Author: Pierre Ossman Date: Sun Jul 15 23:40:35 2007 -0700 init: wait for asynchronously scanned block devices Some buses (e.g. USB and MMC) do their scanning of devices in the background, causing a race between them and prepare_namespace(). In order to be able to use these buses without an initrd, we now wait for the device specified in root= to actually show up. If the device never shows up than we will hang in an infinite loop. In order to not mess with setups that reboot on panic, the feature must be turned on via the command line option "rootwait". [bunk@stusta.de: root_wait can become static] Signed-off-by: Pierre Ossman Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a19542e5f694cd408a32c3d9dc593ba9366e2d7 Author: Ulrich Drepper Date: Sun Jul 15 23:40:34 2007 -0700 O_CLOEXEC for SCM_RIGHTS Part two in the O_CLOEXEC saga: adding support for file descriptors received through Unix domain sockets. The patch is once again pretty minimal, it introduces a new flag for recvmsg and passes it just like the existing MSG_CMSG_COMPAT flag. I think this bit is not used otherwise but the networking people will know better. This new flag is not recognized by recvfrom and recv. These functions cannot be used for that purpose and the asymmetry this introduces is not worse than the already existing MSG_CMSG_COMPAT situations. The patch must be applied on the patch which introduced O_CLOEXEC. It has to remove static from the new get_unused_fd_flags function but since scm.c cannot live in a module the function still hasn't to be exported. Here's a test program to make sure the code works. It's so much longer than the actual patch... #include #include #include #include #include #include #include #include #ifndef O_CLOEXEC # define O_CLOEXEC 02000000 #endif #ifndef MSG_CMSG_CLOEXEC # define MSG_CMSG_CLOEXEC 0x40000000 #endif int main (int argc, char *argv[]) { if (argc > 1) { int fd = atol (argv[1]); printf ("child: fd = %d\n", fd); if (fcntl (fd, F_GETFD) == 0 || errno != EBADF) { puts ("file descriptor valid in child"); return 1; } return 0; } struct sockaddr_un sun; strcpy (sun.sun_path, "./testsocket"); sun.sun_family = AF_UNIX; char databuf[] = "hello"; struct iovec iov[1]; iov[0].iov_base = databuf; iov[0].iov_len = sizeof (databuf); union { struct cmsghdr hdr; char bytes[CMSG_SPACE (sizeof (int))]; } buf; struct msghdr msg = { .msg_iov = iov, .msg_iovlen = 1, .msg_control = buf.bytes, .msg_controllen = sizeof (buf) }; struct cmsghdr *cmsg = CMSG_FIRSTHDR (&msg); cmsg->cmsg_level = SOL_SOCKET; cmsg->cmsg_type = SCM_RIGHTS; cmsg->cmsg_len = CMSG_LEN (sizeof (int)); msg.msg_controllen = cmsg->cmsg_len; pid_t child = fork (); if (child == -1) error (1, errno, "fork"); if (child == 0) { int sock = socket (PF_UNIX, SOCK_STREAM, 0); if (sock < 0) error (1, errno, "socket"); if (bind (sock, (struct sockaddr *) &sun, sizeof (sun)) < 0) error (1, errno, "bind"); if (listen (sock, SOMAXCONN) < 0) error (1, errno, "listen"); int conn = accept (sock, NULL, NULL); if (conn == -1) error (1, errno, "accept"); *(int *) CMSG_DATA (cmsg) = sock; if (sendmsg (conn, &msg, MSG_NOSIGNAL) < 0) error (1, errno, "sendmsg"); return 0; } /* For a test suite this should be more robust like a barrier in shared memory. */ sleep (1); int sock = socket (PF_UNIX, SOCK_STREAM, 0); if (sock < 0) error (1, errno, "socket"); if (connect (sock, (struct sockaddr *) &sun, sizeof (sun)) < 0) error (1, errno, "connect"); unlink (sun.sun_path); *(int *) CMSG_DATA (cmsg) = -1; if (recvmsg (sock, &msg, MSG_CMSG_CLOEXEC) < 0) error (1, errno, "recvmsg"); int fd = *(int *) CMSG_DATA (cmsg); if (fd == -1) error (1, 0, "no descriptor received"); char fdname[20]; snprintf (fdname, sizeof (fdname), "%d", fd); execl ("/proc/self/exe", argv[0], fdname, NULL); puts ("execl failed"); return 1; } [akpm@linux-foundation.org: Fix fastcall inconsistency noted by Michael Buesch] [akpm@linux-foundation.org: build fix] Signed-off-by: Ulrich Drepper Cc: Ingo Molnar Cc: Michael Buesch Cc: Michael Kerrisk Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f23513e8d96cf5e6cf8d2ff0cb5dd6bbc33995e4 Author: Ulrich Drepper Date: Sun Jul 15 23:40:32 2007 -0700 Introduce O_CLOEXEC The problem is as follows: in multi-threaded code (or more correctly: all code using clone() with CLONE_FILES) we have a race when exec'ing. thread #1 thread #2 fd=open() fork + exec fcntl(fd,F_SETFD,FD_CLOEXEC) In some applications this can happen frequently. Take a web browser. One thread opens a file and another thread starts, say, an external PDF viewer. The result can even be a security issue if that open file descriptor refers to a sensitive file and the external program can somehow be tricked into using that descriptor. Just adding O_CLOEXEC support to open() doesn't solve the whole set of problems. There are other ways to create file descriptors (socket, epoll_create, Unix domain socket transfer, etc). These can and should be addressed separately though. open() is such an easy case that it makes not much sense putting the fix off. The test program: #include #include #include #include #ifndef O_CLOEXEC # define O_CLOEXEC 02000000 #endif int main (int argc, char *argv[]) { int fd; if (argc > 1) { fd = atol (argv[1]); printf ("child: fd = %d\n", fd); if (fcntl (fd, F_GETFD) == 0 || errno != EBADF) { puts ("file descriptor valid in child"); return 1; } return 0; } fd = open ("/proc/self/exe", O_RDONLY | O_CLOEXEC); printf ("in parent: new fd = %d\n", fd); char buf[20]; snprintf (buf, sizeof (buf), "%d", fd); execl ("/proc/self/exe", argv[0], buf, NULL); puts ("execl failed"); return 1; } [kyle@parisc-linux.org: parisc fix] Signed-off-by: Ulrich Drepper Acked-by: Ingo Molnar Cc: Davide Libenzi Cc: Michael Kerrisk Cc: Chris Zankel Signed-off-by: Kyle McMartin Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a2d44590a603be292addce9c263982043416666 Author: Eric W. Biederman Date: Sun Jul 15 23:40:31 2007 -0700 buffer: kill old incorrect comment Signed-off-by: Eric W. Biederman Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5c061b8f9726bc2c25e19dec227933a13d1e6b7 Author: Venki Pallipadi Date: Sun Jul 15 23:40:30 2007 -0700 Add a flag to indicate deferrable timers in /proc/timer_stats Add a flag in /proc/timer_stats to indicate deferrable timers. This will let developers/users to differentiate between types of tiemrs in /proc/timer_stats. Deferrable timer and normal timer will appear in /proc/timer_stats as below. 10D, 1 swapper queue_delayed_work_on (delayed_work_timer_fn) 10, 1 swapper queue_delayed_work_on (delayed_work_timer_fn) Also version of timer_stats changes from v0.1 to v0.2 Signed-off-by: Venkatesh Pallipadi Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0807061908a7a9441d0f745deb444f7216904cb Author: Christoph Hellwig Date: Sun Jul 15 23:40:30 2007 -0700 remove odd and misleading comments from uio.h Signed-off-by: Christoph Hellwig Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b0fac45878bb88759eec347c273285195649ff7 Author: Dan Williams Date: Sun Jul 15 23:40:26 2007 -0700 dma-mapping: prevent dma dependent code from linking on !HAS_DMA archs Continuing the work started in 411f0f3edc141a582190d3605cadd1d993abb6df ... This enables code with a dma path, that compiles away, to build without requiring additional code factoring. It also prevents code that calls dma_alloc_coherent and dma_free_coherent from linking whereas previously the code would hit a BUG() at run time. Finally, it allows archs that set !HAS_DMA to delete their asm/dma-mapping.h file. Cc: Cornelia Huck Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: John W. Linville Cc: Kyle McMartin Cc: James Bottomley Cc: Tejun Heo Cc: Jeff Garzik Cc: Cc: Cc: Cc: Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e7bf24b1b979db256ddc84d0d4ac6040d706da6 Author: Stefan Richter Date: Sun Jul 15 23:40:25 2007 -0700 fs: clarify "dummy" member in struct inodes_stat_t Signed-off-by: Stefan Richter Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e84845c4bf9a00533352e5805b35f42acdb04a1e Author: Randy Dunlap Date: Sun Jul 15 23:40:25 2007 -0700 add printk.time option, deprecate 'time' Allow printk_time to be enabled or disabled at boot time. Previously it could be enabled only, but not disabled. Change printk_time from an int to a bool since that's what it is. Make its logical (exposed) name just be "time" (was "printk_time"). Note: Changes kernel boot option syntax from "time" to "printk.time=value". Since printk_time is declared as a module_param, it can also be changed at run-time by modifying /sys/module/printk/parameters/time to a value of 1/Y/y to enabled it or 0/N/n to disable it. Since printk_time is declared as a module_param, its value can also be set at boot-time by using linux printk.time= If the "time" boot option is used, print a message that it is deprecated and will be removed. Note its planned removal in feature-removal-schedule.txt. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 185848707e73382ba930857502a0b80ff6039967 Author: Akinobu Mita Date: Sun Jul 15 23:40:24 2007 -0700 fault-injection: fix example scripts in documentation Fix and cleanup example scripts in fault injection documentation. 1. Eliminate broken oops() shell function. 2. Fold failcmd.sh and failmodule.sh into example scripts. It makes the example scripts work independent of current working directory. 3. Set "space" parameter to 0 to start injecting errors immediately. 4. Use /sys/module//sections/.data as upper bound of .text section. Because some module doesn't have .exit.text section. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54114994f4de7e8076fc250e44501e55e19b75b5 Author: Akinobu Mita Date: Sun Jul 15 23:40:23 2007 -0700 fault-injection: add min-order parameter to fail_page_alloc Limiting smaller allocation failures by fault injection helps to find real possible bugs. Because higher order allocations are likely to fail and zero-order allocations are not likely to fail. This patch adds min-order parameter to fail_page_alloc. It specifies the minimum page allocation order to be injected failures. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 203a2935c734c054bfd4665fb5d8835498af50a8 Author: Matthias Kaehlcke Date: Sun Jul 15 23:40:23 2007 -0700 fs/block_dev.c: use list_for_each_entry() fs/block_dev.c: Use list_for_each_entry() instead of list_for_each() in nr_blockdev_pages() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00c5746da9fc6a793b9d94a8001ded5929f3a773 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:22 2007 -0700 mutex_unlock() later in seq_lseek() All manipulations with struct seq_file::version are done under struct seq_file::lock except one introduced in commit d6b7a781c51c91dd054e5c437885205592faac21 aka "[PATCH] Speed up /proc/pid/maps" Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6739af8b9e8bf0fd1fb3f4f8406a9f650cb733a Author: Jan Kara Date: Sun Jul 15 23:40:22 2007 -0700 ext2: fix a comment when ext2_release_file() is called Signed-off-by: Jan Kara Acked-by: "Theodore Ts'o" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da58a1617343e345d435953a0f32024997a95164 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:21 2007 -0700 /proc/*/environ: wrong placing of ptrace_may_attach() check It's a bit dopey-looking and can permit a task to cause a pagefault in an mm which it doesn't have permission to read from. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7126dd0562c78fa393a53120155e9b265cc68f9d Author: Jiri Slaby Date: Sun Jul 15 23:40:20 2007 -0700 Char: ip2, use msleep for sleeping Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6defec139a0fb0fb36c41a441f8417360da81ea1 Author: Jiri Slaby Date: Sun Jul 15 23:40:20 2007 -0700 Char: n_r3964, use wait_event_interruptible Signed-off-by: Jiri Slaby Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0955e14f72dd1f561dc8b7c4434a253914ddfd4 Author: Jiri Slaby Date: Sun Jul 15 23:40:19 2007 -0700 Char: genrtc, use wait_event_interruptible genrtc, use wait_event_interruptible Signed-off-by: Jiri Slaby Cc: Alessandro Zummo Cc: Roman Zippel Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6804396f1b66c504bac1267d71a857f7a1d1e9dd Author: Jiri Slaby Date: Sun Jul 15 23:40:18 2007 -0700 Char: tty_ioctl, little whitespace cleanup tty_ioctl, little whitespace cleanup the point is to make while (++i < n_baud_table); clear and assign it to the do { } loop Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a52bd4a2dcb570333ce6fe2e16cd311650dbdc8 Author: Jiri Slaby Date: Sun Jul 15 23:40:18 2007 -0700 Char: tty_ioctl, use wait_event_interruptible_timeout tty_ioctl, use wait_event_interruptible_timeout Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b770b4b29c741bbcbb77d2618955897765a81bf Author: Jiri Slaby Date: Sun Jul 15 23:40:17 2007 -0700 Char: mxser_new, fix sparse warning Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f17e121fd055ba60d57a992702e59ae495faba76 Author: young dave Date: Sun Jul 15 23:40:17 2007 -0700 remove useless tolower in isofs Remove useless tolower in isofs Signed-off-by: dave young Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03a9c30c231a61dd7457681aef51cc38ee01f766 Author: Randy Dunlap Date: Sun Jul 15 23:40:16 2007 -0700 AFS: drop explicit extern Don't use explicit extern specifier and quieten sparse warning: fs/afs/vnode.c:564:12: warning: function 'afs_vnode_link' with external linkage has definition Signed-off-by: Randy Dunlap Acked-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bf1fc4329aa2c31a80a882d695fbdded92036ca Author: Randy Dunlap Date: Sun Jul 15 23:40:15 2007 -0700 kconfig: no STRANGE misc. devices This config symbol name is confusing and unneeded/unwanted, so just change it to MISC_DEVICES. * * Misc devices * Misc devices (MISC_STRANGE_DEV) [Y/n] (NEW) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78c1b0657475dbafa008c71e3ccdc32141d8c7c7 Author: Andi Kleen Date: Sun Jul 15 23:40:15 2007 -0700 Remove clockevents_{release,request}_device Not called by anything in tree. Signed-off-by: Andi Kleen Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 506eb99a26e7af8b649faa135f648d1a2f1e4cdc Author: Jean Delvare Date: Sun Jul 15 23:40:14 2007 -0700 tty_io: Use kzalloc Also remove needless casts. Signed-off-by: Jean Delvare Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8d6c554126b830217c5e9f549e0e21f865a0a8a Author: David Howells Date: Sun Jul 15 23:40:12 2007 -0700 AFS: implement file locking Implement file locking for AFS. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0fed3140f57c435d2783b698c5090f325c22bad Author: Jiri Slaby Date: Sun Jul 15 23:40:12 2007 -0700 Char: n_hdlc, allow RESTARTSYS retval of tty write Acked-by: Paul Fulghum Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2aef333c98b41eeb0f0d55b7faa7d4625a6160b Author: Paul Menage Date: Sun Jul 15 23:40:11 2007 -0700 Reduce cpuset.c write_lock_irq() to read_lock() cpuset.c:update_nodemask() uses a write_lock_irq() on tasklist_lock to block concurrent forks; a read_lock() suffices and is less intrusive. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2ff457b09554813a7df9e0cd30d5a169a257419 Author: Ben Collins Date: Sun Jul 15 23:40:11 2007 -0700 RTC: Ratelimit "lost interrupts" message We gets lots of these when the kernel is running on a hypervisor. Zach says "a guest kernel trying to get high frequency RTC will also be inaccurate, and inevitably will have unhidable interrupt lateness." Signed-off-by: Ben Collins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45807a1df9f51d28d0ff0c6bcf900c210411d7c9 Author: Ingo Molnar Date: Sun Jul 15 23:40:10 2007 -0700 vdso: print fatal signals Add the print-fatal-signals=1 boot option and the /proc/sys/kernel/print-fatal-signals runtime switch. This feature prints some minimal information about userspace segfaults to the kernel console. This is useful to find early bootup bugs where userspace debugging is very hard. Defaults to off. [akpm@linux-foundation.org: Don't add new sysctl numbers] Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99fc06df72fe1c9ad3ec274720dcb5658c40bfd2 Author: Changli Gao Date: Sun Jul 15 23:40:09 2007 -0700 procfs directory entry cleanup Function proc_register() will assign proc_dir_operations and proc_dir_inode_operations to ent's members proc_fops and proc_iops correctly if ent is a directory. So the early assignment isn't necessary. Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17973f5af741f1758ed57c5115ca394c22bee159 Author: Micah Cowan Date: Sun Jul 15 23:40:08 2007 -0700 Only send SIGXFSZ when exceeding rlimits. Some users have been having problems with utilities like cp or dd dumping core when they try to copy a file that's too large for the destination filesystem (typically, > 4gb). Apparently, some defunct standards required SIGXFSZ to be sent in such circumstances, but SUS only requires/allows it for when a written file exceeds the process's resource limits. I'd like to limit SIGXFSZs to the bare minimum required by SUS. Patch sent per http://lkml.org/lkml/2007/4/10/302 Signed-off-by: Micah Cowan Acked-by: Alan Cox Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e3e8d91fee56e1ab598b265466dc38033f1b915 Author: Satyam Sharma Date: Sun Jul 15 23:40:07 2007 -0700 rocket.c: fix unchecked mutex_lock_interruptible() Check the return of mutex_lock_interruptible() in drivers/char/rocket.c and return ERESTARTSYS if we were interrupted. Signed-off-by: Satyam Sharma Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60bfba7e85f88fe834e623ead799cf580de20971 Author: Jan Kratochvil Date: Sun Jul 15 23:40:06 2007 -0700 PIE randomization This patch is using mmap()'s randomization functionality in such a way that it maps the main executable of (specially compiled/linked -pie/-fpie) ET_DYN binaries onto a random address (in cases in which mmap() is allowed to perform a randomization). Origin of this patch is in exec-shield (http://people.redhat.com/mingo/exec-shield/) [jkosina@suse.cz: pie randomization: fix BAD_ADDR macro] Signed-off-by: Jan Kratochvil Signed-off-by: Jiri Kosina Cc: Ingo Molnar Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f057eac0d7ad967138390a9dd7fd8267e1e39d19 Author: Stephen Rothwell Date: Sun Jul 15 23:40:05 2007 -0700 Introduce CONFIG_VIRT_TO_BUS Make some offending drivers depend on it and set CONFIG_ARCH_NO_VIRT_TO_BUS for ppc64 so that we don't build those drivers. This gets PowerPC allmodconfig and allyesconfig much closer to building. Signed-off-by: Stephen Rothwell Cc: Al Viro Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 693783817a79d8619335e2bf1a33de73cf189864 Author: Andrew Morton Date: Sun Jul 15 23:40:04 2007 -0700 mpu401 warning fixes Fix these: sound/oss/mpu401.c: In function 'attach_mpu401': sound/oss/mpu401.c:1006: warning: cast to pointer from integer of different size sound/oss/mpu401.c:1115: warning: cast to pointer from integer of different size sound/oss/mpu401.c: In function 'unload_mpu401': sound/oss/mpu401.c:1230: warning: cast to pointer from integer of different size by making it implement the request_irq()/free_irq() cookies correctly. Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3ed85a36ff5b01f340db67ac5ae6e699d3b8a2b Author: Dave Jones Date: Sun Jul 15 23:40:03 2007 -0700 isofs: fix up CodingStyle fs/isofs/* had a bunch of CodingStyle issues. * Indentation was a mix of spaces and tabs * "int * foo" instead of "int *foo" * "while ( foo )" instead of "while (foo)" * if (foo) blah; on one line instead of two * Missing printk KERN_ levels * lots of trailing whitespace * lines >80 columns changed to wrap. * Unnecessary prototype removed by shuffling code order in C file. Should be no functional changes other than slight size increase due to printk changes. Further improvement possible, but this is a start.. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b28f22a87a5a2f0ab39f2549441bbe5eb2e369f Author: Alan Cox Date: Sun Jul 15 23:40:02 2007 -0700 edd: switch to pci_get based API Signed-off-by: Alan Cox Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1fbac447993b275f90e118826a5edca1ec508da Author: Thiemo Seufer Date: Sun Jul 15 23:39:59 2007 -0700 Update zilog timeout Update zilog timeout, thanks Peter Fuerst. Signed-off-by: Thiemo Seufer Cc: Martin Michlmayr Cc: Peter Fuerst Cc: Russell King Cc: Alan Cox Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d05e96fe4664c0398f1d060c0f6a8ff8fc74a449 Author: Denver Gingerich Date: Sun Jul 15 23:39:59 2007 -0700 fix compiler warnings in acorn.c warning: 'adfs_partition' defined but not used warning: 'riscix_partition' defined but not used warning: 'linux_partition' defined but not used Signed-off-by: Denver Gingerich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21eb92025e5768fb54120e2f2745a41c36f3aa69 Author: Richard Knutsson Date: Sun Jul 15 23:39:57 2007 -0700 drivers/block/z2ram: Remove TRUE/FALSE defines Remove defines of TRUE and FALSE * not used in the file * the file is not included somewhere else Signed-off-by: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a3021f4e249fbdb5f30d614707b5e02022e4c9b Author: Robert P. J. Day Date: Sun Jul 15 23:39:57 2007 -0700 Remove unnecessary includes of spinlock.h under include/linux Remove the obviously unnecessary includes of under the include/linux/ directory, and fix the couple errors that are introduced as a result of that. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9aacd599342fdfc1fb9422f37e900609b7a46249 Author: OGAWA Hirofumi Date: Sun Jul 15 23:39:56 2007 -0700 fat: gcc 4.3 warning fix This patch fixes the following warnings. fs/fat/dir.c: In function 'fat_parse_long': include/linux/msdos_fs.h:294: warning: array subscript is above array bounds include/linux/msdos_fs.h:295: warning: array subscript is above array bounds include/linux/msdos_fs.h:295: warning: array subscript is above array bounds The ->name is defined as "name[8], ext[3]", but fat_checksum() uses those as name[11]. There is no actual problem, but it's not a good manner. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 259902ea951008bcbd31a49f667062ff8012ef55 Author: Pavel Emelianov Date: Sun Jul 15 23:39:56 2007 -0700 Make NFS client use seq_list_xxx helpers This includes /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes entries. Both need to show the header and use the list_head. Signed-off-by: Pavel Emelianov Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0765fb85782da9dca98482ebb1ae0d8c1a5e0f7 Author: Pavel Emelianov Date: Sun Jul 15 23:39:55 2007 -0700 Make /proc/self/mounts(tats) use seq_list_xxx helpers One more simple and stupid switching to the new API. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25216b00395dfb52bfe06e4886a6ad831ede7b4b Author: Pavel Emelianov Date: Sun Jul 15 23:39:54 2007 -0700 Make /proc/tty/drivers use seq_list_xxx helpers Simple and stupid like some previous ones. Just use new API. Signed-off-by: Pavel Emelianov Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 708f4b522371da5e6c615a49e1844195aff84cb4 Author: Pavel Emelianov Date: Sun Jul 15 23:39:54 2007 -0700 Make /proc/modules use seq_list_xxx helpers Here there is not need even in .show callback altering. The original code passes list_head in *v. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46c65b71e6122b89cd7b2bb36c1ba26d07e84fcd Author: Pavel Emelianov Date: Sun Jul 15 23:39:53 2007 -0700 Make /proc/misc use seq_list_xxx helpers Simple and stupid - just use the helpers. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13d31894b3c459805303325aa5b91f9cd4ed70bc Author: Pavel Emelianov Date: Sun Jul 15 23:39:53 2007 -0700 Make crypto API use seq_list_xxx helpers Simple and stupid - just use the same code from another place in the kernel. Signed-off-by: Pavel Emelianov Acked-by: Herbert Xu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6a8bd6d2839f7134f191c6e13e2fd2e9e8c91a6 Author: Pavel Emelianov Date: Sun Jul 15 23:39:52 2007 -0700 Make AFS use seq_list_xxx helpers These proc files show some header before dumping the list, so the seq_list_start_head() is used. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4ef0296f214a1e0e65f161f88663b0ca1acca31 Author: Andrew Morton Date: Sun Jul 15 23:39:51 2007 -0700 percpu_counters: use for_each_online_cpu() Now that we have implemented hotunplug-time counter spilling, percpu_counter_sum() only needs to look at online CPUs. Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c67ad917cbf21b2862e2cf8e8b28339872ef7927 Author: Andrew Morton Date: Sun Jul 15 23:39:51 2007 -0700 percpu_counters(): use cpu notifiers per-cpu counters presently must iterate over all possible CPUs in the exhaustive percpu_counter_sum(). But it can be much better to only iterate over the presently-online CPUs. To do this, we must arrange for an offlined CPU's count to be spilled into the counter's central count. We can do this for all percpu_counters in the machine by linking them into a single global list and walking that list at CPU_DEAD time. (I hope. Might have race windows in which the percpu_counter_sum() count is inaccurate?) Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85420ccad1610f123365eec89848ef25641bc6b7 Author: Andrew Morton Date: Sun Jul 15 23:39:50 2007 -0700 vxfs warning fixes gcc-4.3: fs/freevxfs/vxfs_lookup.c: In function 'vxfs_find_entry': fs/freevxfs/vxfs_lookup.c:139: warning: cast from pointer to integer of different size fs/freevxfs/vxfs_lookup.c: In function 'vxfs_readdir': fs/freevxfs/vxfs_lookup.c:294: warning: cast from pointer to integer of different size Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21f3da95daed2d0f0c28cc4ef8b1103fbfb7bded Author: Andrew Morton Date: Sun Jul 15 23:39:50 2007 -0700 fuse warning fix gcc-4.3: fs/fuse/dir.c: In function 'parse_dirfile': fs/fuse/dir.c:833: warning: cast from pointer to integer of different size fs/fuse/dir.c:835: warning: cast from pointer to integer of different size [miklos@szeredi.hu: use offsetof] Acked-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ac162521cd9796f44d263a61090634844c719a6 Author: Matthias Kaehlcke Date: Sun Jul 15 23:39:49 2007 -0700 Use mutexes instead of semaphores in I2O driver The I2O driver uses two semaphores as mutexes. Use the mutex API instead of the (binary) semaphores. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c6b4aa94576eee6dec3b8011f60d7f666db90b0 Author: Satoru Takeuchi Date: Sun Jul 15 23:39:48 2007 -0700 cpu hotplug: fix ksoftirqd termination on cpu hotplug with naughty realtime process Fix ksoftirqd termination on cpu hotplug with naughty real time process. Assuming the following case: - Try to hot remove CPU2 from CPU1. - There is a real time process on CPU2, and that process doesn't sleep at all. - That rt process and ksoftirqd/2 is migrated to the CPU0 Then ksoftirqd/2 can't stop becasue that rt process runs everlastingly on CPU0, and CPU1 waiting the ksoftirqd/2's termination hangs up. To fix this problem, set the priority of ksoftirqd/2 to max one before kthread_stop(). [akpm@linux-foundation.org: fix warning] Signed-off-by: Satoru Takeuchi Cc: Rusty Russell Cc: Ingo Molnar Cc: Oleg Nesterov Cc: Ashok Raj Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85653af7d488702165eba72c6c1dd0250fae4e70 Author: Satoru Takeuchi Date: Sun Jul 15 23:39:47 2007 -0700 Fix stop_machine_run problem with naughty real time process stop_machine_run() does its work on "kstopmachine" thread having max priority. However that thread get such priority after woken up. Therefore, in the following case ... - "kstopmachine" try to run on CPU1 - There is a real time process which doesn't relinquish CPU time voluntary on CPU1 ... "kstopmachine" can't start to run and the CPU on which stop_machine_run() is runing hangs up. To fix this problem, call sched_setscheduler() before waking up that thread. Signed-off-by: Satoru Takeuchi Cc: Rusty Russell Cc: Ingo Molnar Cc: Oleg Nesterov Cc: Ashok Raj Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 647bd61a5f3a51a38c670f91af9d861ad66149a3 Author: Cyrill Gorcunov Date: Sun Jul 15 23:39:47 2007 -0700 UDF: check for allocated memory for inode data This patch adds checking for granted memory while filling up inode data to prevent possible NULL pointer usage. If there is not enough memory to fill inode data we just mark it as "bad". Also some whitespace cleanup. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c1729db3e6d738f872bcb090212af00473bf666 Author: Alan Cox Date: Sun Jul 15 23:39:43 2007 -0700 Prevent an O_NDELAY writer from blocking when a tty write is blocked by the tty atomic writer mutex Without this a tty write could block if a previous blocking tty write was in progress on the same tty and blocked by a line discipline or hardware event. Originally found and reported by Dave Johnson. Signed-off-by: Alan Cox Acked-by: Dave Johnson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9c64155f5a81b4b41e98f9fb9c464a565c1bf72 Author: Cyrill Gorcunov Date: Sun Jul 15 23:39:43 2007 -0700 UDF: check for allocated memory for data of new inodes Add checking for granted memory for inode data at the moment of its creation. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d62141414a55ff3f1410b27db2a95224446e77a4 Author: Tomas Janousek Date: Sun Jul 15 23:39:42 2007 -0700 Use boot based time for uptime in /proc Commit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused uptime not to increase during suspend. This may cause confusion so I restore the old behaviour by using the boot based time instead of monotonic for uptime. Signed-off-by: Tomas Janousek Acked-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 924b42d5a2dbe508407a0a6290d3751f826bccdd Author: Tomas Janousek Date: Sun Jul 15 23:39:42 2007 -0700 Use boot based time for process start time and boot time in /proc Commit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused boot time to move and process start times to become invalid after suspend. Using boot based time for those restores the old behaviour and fixes the issue. [akpm@linux-foundation.org: little cleanup] Signed-off-by: Tomas Janousek Cc: Tomas Smetana Acked-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c3f1a573237b90ef331267260358a0ec4ac9079 Author: Tomas Janousek Date: Sun Jul 15 23:39:41 2007 -0700 Introduce boot based time The commits 411187fb05cd11676b0979d9fbf3291db69dbce2 (GTOD: persistent clock support) c1d370e167d66b10bca3b602d3740405469383de (i386: use GTOD persistent clock support) changed the monotonic time so that it no longer jumps after resume, but it's not possible to use it for boot time and process start time calculations then. Also, the uptime no longer increases during suspend. I add a variable to track the wall_to_monotonic changes, a function to get the real boot time and a function to get the boot based time from the monotonic one. [akpm@linux-foundation.org: remove exports, add comment] Signed-off-by: Tomas Janousek Cc: Tomas Smetana Cc: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35ef63f635aa0e414ad6cdb2a4092e1caf99272c Author: Andrew Morton Date: Sun Jul 15 23:39:40 2007 -0700 use no_pci_devices() in pci/search.c We have an API function for this now. Cc: Zhang Yanmin Cc: Greg KH Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed4aaadb1a7913f509f05d3e67840541a180713f Author: Zhang, Yanmin Date: Sun Jul 15 23:39:39 2007 -0700 fix jvc cdrom drive lockup Before calling init_hwif_default, ide_unregister gets lock ide_lock and disables irq. init_hwif_default calls ide_default_io_base which calls pci_get_device and later pci_get_subsys tries to apply for semaphore pci_bus_sem and goes to sleep. Mostly, pci_get_device should be called when irq is turned on. ide_default_io_base just needs find if list pci_devices is empty. Signed-off-by: Zhang Yanmin Cc: Greg KH Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 012bfdf00ce2f36a1add75a0d18303656c6294ef Author: Jan Engelhardt Date: Sun Jul 15 23:39:39 2007 -0700 Use menuconfig objects: W1 Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c493f5c9017b38a60ed2989af00e5faaa801815 Author: Jan Engelhardt Date: Sun Jul 15 23:39:38 2007 -0700 Use menuconfig objects: PNP Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Adam Belay Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f5096c56afe6f7602cce852b99b32a90804935d Author: Jan Engelhardt Date: Sun Jul 15 23:39:37 2007 -0700 Use menuconfig objects: parport Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04e9aeecff0d55bed2b554915da9ea355c966f7d Author: Jan Engelhardt Date: Sun Jul 15 23:39:37 2007 -0700 Use menuconfig objects: I2O Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b511431d85948823ec58639bd3137b910964be34 Author: Jan Engelhardt Date: Sun Jul 15 23:39:36 2007 -0700 Use menuconfig objects: crypto hw Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13591885a90f8f5e3849ad1f1973649115d5bad4 Author: Jan Engelhardt Date: Sun Jul 15 23:39:32 2007 -0700 Use menuconfig objects: connector Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7126b75c8794f9fffda227d08b7ad1e138fa2c6c Author: Jan Engelhardt Date: Sun Jul 15 23:39:31 2007 -0700 Use menuconfig objects II - TPM Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Cc: Kylene Hall Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79e508a4b8f405f9c9c3dbbd19d84717f42431ef Author: Jan Engelhardt Date: Sun Jul 15 23:39:31 2007 -0700 Use menuconfig objects II - Telephony Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a07c8f9cd3bf3af37595d2692cbcf50f42d4819 Author: Jan Engelhardt Date: Sun Jul 15 23:39:30 2007 -0700 Use menuconfig objects II - oprofile Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Cc: Philippe Elie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66da57332005b4fa6888cc21a223c0b90505126f Author: Jan Engelhardt Date: Sun Jul 15 23:39:29 2007 -0700 Use menuconfig objects II - module menu Change menuconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without entering its menu first. Signed-off-by: Jan Engelhardt Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 376df37a5b472ff9a0b71218fc50576ef3803275 Author: Jan Engelhardt Date: Sun Jul 15 23:39:29 2007 -0700 Use menuconfig objects II - misc strange dev Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf6b4bbb5be0807143239f6c460e5e6aecf2981 Author: Jan Engelhardt Date: Sun Jul 15 23:39:28 2007 -0700 Use menuconfig objects II - IPMI Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Acked-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 751cb5e56436f6c889d9acbd3d4464224e49965d Author: Jan Engelhardt Date: Sun Jul 15 23:39:27 2007 -0700 Use menuconfig objects II - EDAC Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5920969fb9e29c9d60568864d0a56fe85e8f4b6 Author: Jan Engelhardt Date: Sun Jul 15 23:39:26 2007 -0700 Use menuconfig objects II - auxdisplay Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Acked-by: Miguel Ojeda Sandonis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6175ecfed3c81d388735c75f7a0ad08dc4de02d3 Author: Sripathi Kodi Date: Sun Jul 15 23:39:26 2007 -0700 Use write_trylock_irqsave in ptrace_attach This patch makes ptrace_attach use write_trylock_irqsave(). [akpm@linux-foundation.org: remove unneeded initialisation] Signed-off-by: Sripathi Kodi Cc: Ingo Molnar Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1f4a88c5a15a86124a95ea712213bb7dab2ad99 Author: Satyam Sharma Date: Sun Jul 15 23:39:24 2007 -0700 introduce write_trylock_irqsave() Introduce a write_trylock_irqsave() implementation. Similar in style to the implementation of spin_trylock_irqsave() in mainline. Signed-off-by: Satyam Sharma Cc: Sripathi Kodi Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5d425c97f7d4e92151167b01ca038e7853c6b37 Author: Adrian Bunk Date: Sun Jul 15 23:39:01 2007 -0700 more scheduled OSS driver removal This patch contains the scheduled removal of OSS drivers that: - have ALSA drivers for the same hardware without known regressions and - whose Kconfig options have been removed in 2.6.20. Signed-off-by: Adrian Bunk Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 786d7e1612f0b0adb6046f19b906609e4fe8b1ba Author: Alexey Dobriyan Date: Sun Jul 15 23:39:00 2007 -0700 Fix rmmod/read/write races in /proc entries Fix following races: =========================================== 1. Write via ->write_proc sleeps in copy_from_user(). Module disappears meanwhile. Or, more generically, system call done on /proc file, method supplied by module is called, module dissapeares meanwhile. pde = create_proc_entry() if (!pde) return -ENOMEM; pde->write_proc = ... open write copy_from_user pde = create_proc_entry(); if (!pde) { remove_proc_entry(); return -ENOMEM; /* module unloaded */ } *boom* ========================================== 2. bogo-revoke aka proc_kill_inodes() remove_proc_entry vfs_read proc_kill_inodes [check ->f_op validness] [check ->f_op->read validness] [verify_area, security permissions checks] ->f_op = NULL; if (file->f_op->read) /* ->f_op dereference, boom */ NOTE, NOTE, NOTE: file_operations are proxied for regular files only. Let's see how this scheme behaves, then extend if needed for directories. Directories creators in /proc only set ->owner for them, so proxying for directories may be unneeded. NOTE, NOTE, NOTE: methods being proxied are ->llseek, ->read, ->write, ->poll, ->unlocked_ioctl, ->ioctl, ->compat_ioctl, ->open, ->release. If your in-tree module uses something else, yell on me. Full audit pending. [akpm@linux-foundation.org: build fix] Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5568b0e8028d966ddb16f0be44a9df1fcbd1dc8d Author: Alan Cox Date: Sun Jul 15 23:38:59 2007 -0700 v850: enable arbitary speed tty ioctls Adding the defines/macros activates the existing code in the tty layer and allows this platform to use the arbitary speed ioctl setting layer Signed-off-by: Alan Cox Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23f465b72872a99ffa60e13f5876fcf2ee139f26 Author: Jeff Dike Date: Sun Jul 15 23:38:58 2007 -0700 uml: remove dead file I forgot this file was here. It hasn't been used since UML has been in mainline. Thanks to Jesper for finding something that needed doing to it, thus reminding me of its existence. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8619b86f20588c020b280e6f67a9b8712b1ee38a Author: Jeff Dike Date: Sun Jul 15 23:38:58 2007 -0700 uml: limit request size on COWed devices COWed devices can't handle more than 32 (64 on x86_64) sectors in one request due to the size of the bitmap being carried around in the io_thread_req. Enforce that by telling the block layer not to put too many sectors in requests to COWed devices. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8234483e7545b3cd298b0265fcee2e4a14c9f51 Author: Jeff Dike Date: Sun Jul 15 23:38:57 2007 -0700 uml: export hostfs symbols Add some exports for hostfs that are required after Alberto Bertogli's fixes for accessing unlinked host files. Also did some style cleanups while I was here. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c4bf9968cb4f0fceb1b8fb54790ccae73caf4e Author: Jeff Dike Date: Sun Jul 15 23:38:56 2007 -0700 uml: Eliminate kernel allocator wrappers UML had two wrapper procedures for kmalloc, um_kmalloc and um_kmalloc_atomic because the flag constants weren't available in userspace code. kern_constants.h had made kernel constants available for a long time, so there is no need for these wrappers any more. Rather, userspace code calls kmalloc directly with the userspace versions of the gfp flags. kmalloc isn't a real procedure, so I had to essentially copy the inline wrapper around __kmalloc. vmalloc also had its own wrapper for no good reason. This is now gone. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c43990162fc7f9d2f15a12797fdc6f9c0905f704 Author: Jeff Dike Date: Sun Jul 15 23:38:56 2007 -0700 uml: simplify helper stack handling run_helper and run_helper_thread had arguments which were the same in all callers. run_helper's stack_out was always NULL and run_helper_thread's stack_order was always 0. These are now gone, and the constants folded into the code. Also fixed leaks of the helper stack in the AIO and SIGIO code. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a359e31a0e438b5b978a8f0fecdbd3c86bb033 Author: Jeff Dike Date: Sun Jul 15 23:38:55 2007 -0700 uml: SIGIO support cleanup Cleanup of the SIGWINCH support. Some code and comment reformatting. The stack used for SIGWINCH threads was leaked. This is now fixed by storing it with the pid and other information, and freeing it when the thread is killed. If something goes wrong with a WIGWINCH thread, and this is discovered in the interrupt handler, the winch record would leak. It is now freed, except that the IRQ isn't freed. This is hard to do from interrupt context. This has the side-effect that the IRQ system maintains a reference to the freed structure, but that shouldn't cause a problem since the descriptor is disabled. register_winch_irq is now much better about cleaning up after an initialization failure. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d14ad81f800a57d3f21f8e98556c728968883e9a Author: Jeff Dike Date: Sun Jul 15 23:38:54 2007 -0700 uml: handle errors on opening host side of consoles If the host side of a console can't be opened, this will now produce visible error messages. enable_chan now returns a status and this is passed up to con_open and ssl_open, which will complain if anything went wrong. The default host device for the serial line driver is now a pts device rather than a pty device since lots of hosts have LEGACY_PTYS disabled. This had always been failing on such hosts, but silently. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75886f21e3a53a298b097103fd52e83184a89c22 Author: Jeff Dike Date: Sun Jul 15 23:38:53 2007 -0700 uml: pty channel tidying Cleanup, mostly style violations. Tidied the includes. getmaster returns a real errno, which pty_open returns if there's a problem. The printks now have severity. Changed os_* calls to call libc directly. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63920f4717924206c3fa23d42645d4f8965de4cd Author: Jeff Dike Date: Sun Jul 15 23:38:52 2007 -0700 uml: xterm driver tidying Major tidying of the xterm console driver: got rid of the tt-mode gdb support tidied up the includes fixed lots of style violations replaced os_* calls with glibc calls in xterm.c all printk calls now have a severity indicator the error paths of xterm_open are closer to being right Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89df6bfc04059716de2eb2fe529f05b3e124fafd Author: Eduard-Gabriel Munteanu Date: Sun Jul 15 23:38:51 2007 -0700 uml: DEBUG_SHIRQ fixes DEBUG_SHIRQ generates spurious interrupts, triggering handlers such as mconsole_interrupt() or line_interrupt(). They expect data to be available to be read from their sockets/pipes, but in the case of spurious interrupts, the host didn't actually send anything, so UML hangs in read() and friends. Setting those fd's as O_NONBLOCK makes DEBUG_SHIRQ-enabled UML kernels boot and run correctly. Signed-off-by: Eduard-Gabriel Munteanu Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18eecb8b35703a5eea73ee2b45324262029e62c Author: Jeff Dike Date: Sun Jul 15 23:38:48 2007 -0700 Add generic exit-time stack-depth checking to CONFIG_DEBUG_STACK_USAGE Add generic exit-time stack-depth checking to CONFIG_DEBUG_STACK_USAGE. This also adds UML support. Tested on UML and i386. [akpm@linux-foundation.org: cleanups, speedups, tweaks] Signed-off-by: Jeff Dike Cc: Oleg Nesterov Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84812217e395f5272eac36856c0a2415d61fe139 Author: Jeff Dike Date: Sun Jul 15 23:38:48 2007 -0700 uml: use get_free_pages to allocate kernel stacks For some reason, I was using kmalloc instead of get_free_pages for kernel stacks. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a6d3a2a3813e7b25267366cfbf9a4a4698dd1c2 Author: Jeff Dike Date: Sun Jul 15 23:38:47 2007 -0700 uml: fix request->sector update It is theoretically possible for a request to finish and be freed between writing it to the I/O thread and updating the sector count. In this case, the update will dereference a freed pointer. To avoid this, I delay the update until processing the next sg segment, when the request pointer is known to be good. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ff9057db7edeb210fd5c00314c52154922d8868 Author: Robert P. J. Day Date: Sun Jul 15 23:38:46 2007 -0700 CRIS: replace old-style member inits with designated inits Replace the old-style structure member initializers with designated initializers. Signed-off-by: Robert P. J. Day Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e30afd5119f5a3684e4e5e66bbaeb9c8d2c814be Author: Alan Cox Date: Sun Jul 15 23:38:45 2007 -0700 etrax: enable arbitary speed setting on tty ports Add the needed constants and bits. The actual code is already in the tty layer and turned on by the definitions Signed-off-by: Alan Cox Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c12a54b3af795dccb39c303e23073c931fe6f1b6 Author: Hirokazu Takata Date: Sun Jul 15 23:38:45 2007 -0700 m32r: A MAINTAINERS entry for the M32R architecture Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86245b8507ce901c0152ec98a26832434c93262b Author: Alan Cox Date: Sun Jul 15 23:38:44 2007 -0700 m32r: enable arbitary speed tty rate setting Add the defines and constants needed for the M32R platform to support the arbitary speed tty ioctls. Signed-off-by: Alan Cox Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f47807f359974a8fbb13d850da403be9af885f6e Author: Mariusz Kozlowski Date: Sun Jul 15 23:38:43 2007 -0700 arm26: remove broken and unused macro Signed-off-by: Mariusz Kozlowski Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 787ea0ef70d65f71a667ed686f2f28d63ef9a217 Author: Alan Cox Date: Sun Jul 15 23:38:42 2007 -0700 ARM26: enable arbitary speed tty ioctls and split input/output speed Add the ioctls and values needed for this to the ARM26/ARM32 ports. The actual code has been in the base kernel for a while and automatically turns on when a port sets the required defines. Signed-off-by: Alan Cox Cc: Russell King Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c6af69abe9436c33b82a13623b38a4cc51e6464 Author: Ivan Kokshaysky Date: Sun Jul 15 23:38:41 2007 -0700 fix alpha ISA support isa_bus_to_virt() is still needed in a few places (lance.c, at least). When we switch the kernel to using -Werror-implicit-function-declaration, the lack of isa_bus_to_virt() breaks alpha allmodconfig builds. Add isa_bus_to_virt() and deprecate the ezisting ISA APIs, though it might be better to define these functions as BUG(), since virt_to_bus/bus_to_virt just do wrong things on a number of machines. [akpm@linux-foundation.org: build fix] Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebaf4fc13e293dcafbb13c91aae2a45722652740 Author: Sam Ravnborg Date: Sun Jul 15 23:38:37 2007 -0700 alpha: fix trivial section mismatch warnings Fix the following section mismatch warnings: WARNING: arch/alpha/kernel/built-in.o(.text+0x7c78): Section mismatch: reference to .init.text:init_rtc_irq (between 'common_init_rtc' and 'timer_interrupt') WARNING: arch/alpha/kernel/built-in.o(.text+0x7c7c): Section mismatch: reference to .init.text:init_rtc_irq (between 'common_init_rtc' and 'timer_interrupt') WARNING: arch/alpha/kernel/built-in.o(.data+0x2c30): Section mismatch: reference to .init.text:srm_console_setup (between 'srmcons' and 'tsunami_pci_ops') In all three cases functions marked __init was called outside __init context. So the fix was to just drop the __init attribute. Signed-off-by: Sam Ravnborg Cc: Meelis Roos Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fea299f74c846157b068be8ae15b406db0719d9 Author: Yoshinori Sato Date: Sun Jul 15 23:38:36 2007 -0700 h8300 entry.S update Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 542f739d12159e3198611aa471359cc63600be1a Author: Yoshinori Sato Date: Sun Jul 15 23:38:35 2007 -0700 h8300: remove unused file arch/h8300/kernel/ints.c is unused. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86277d594926f3ae4f50ac0fcd9e2fa3cc28a774 Author: Yoshinori Sato Date: Sun Jul 15 23:38:35 2007 -0700 h8300 zImage support update - Add missing files - Add Makefile target - Change image base - Style fix Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f79224ca2754e903b695bd91176a9bedbb306324 Author: Alan Cox Date: Sun Jul 15 23:38:34 2007 -0700 h8300: enable arbitary speed tty port setup Add the needed constants and defines to activate the new tty code on this platform Signed-off-by: Alan Cox Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17d8725d36c1f3d6a21a2d3f96875bda8ddfa92c Author: Greg Ungerer Date: Sun Jul 15 23:38:33 2007 -0700 m68knommu: remove old cache management cruft from mm code Remove cache management cruft. This code is dead, all the cache manangement functions for the ColdFire exist in the header file include/asm-m68knommu/cacheflush.h. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f75d1098c51734ce47d0afd44ecdc2ae9713031 Author: Greg Ungerer Date: Sun Jul 15 23:38:33 2007 -0700 m68knommu: remove cruft from setup code Clean out cruft. . remove include files not needed . remove not used CAT_ROMARRAY code . remove generic machine pointers not used . remove unused functions . fix email address in copyrights Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45a82f519897bdd48eeaad659e4e10ce6d965646 Author: Greg Ungerer Date: Sun Jul 15 23:38:31 2007 -0700 m68knommu: use TRHEAD_SIZE instead of hard constant Use THREAD_SIZE instead of a hard constant. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57c8f63e8e7a4a95d7fcc49e3953341fb4039899 Author: Greg Ungerer Date: Sun Jul 15 23:38:28 2007 -0700 nommu: stub expand_stack() for nommu case Be consistent with VM mmap, implement expand_stack(). We can't actually do anything other than return an error in the no MMU case though. Signed-off-by: Greg Ungerer Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54a3bdd76e82d7f64e5504409c55b51e48c3a10a Author: David Howells Date: Sun Jul 15 23:38:28 2007 -0700 FRV: Remove some dead code Remove some dead chunks of code that are bounded by preprocessor conditionals controlled by apparently no-longer available config options. These are: CONFIG_BLK_DEV_BLKMEM CONFIG_CHR_DEV_FLASH CONFIG_BLK_DEV_FLASH CONFIG_CONSOLE [Found by Robert P. J. Day ] Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 769259160a0e0bae51f1e5377bacf1d0265e7001 Author: David Howells Date: Sun Jul 15 23:38:27 2007 -0700 FRV: Be (self-)consistent and use CONFIG_GDB_CONSOLE everywhere Be (self-)consistent and use CONFIG_GDB_CONSOLE everywhere rather than using CONFIG_GDBSTUB_CONSOLE in some places and not others. This is also then consistent with other archs. Also remove the gdbstub console device() op which doesn't seem to be necessary now (especially as it doesn't compile). [Found by Robert P. J. Day ] Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1a39e050548d23b28f7e62f47e08b46afff29e2 Author: David Howells Date: Sun Jul 15 23:38:27 2007 -0700 FRV: Connect up new syscalls Connect up new system calls. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0165ab443556bdfad388da6c33d74a71b77d72b2 Author: Miklos Szeredi Date: Sun Jul 15 23:38:26 2007 -0700 split mmap This is a straightforward split of do_mmap_pgoff() into two functions: - do_mmap_pgoff() checks the parameters, and calculates the vma flags. Then it calls - mmap_region(), which does the actual mapping Signed-off-by: Miklos Szeredi Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c44939ecb6e05aeaaf12d4e1bb046719c97e457e Author: akpm@linux-foundation.org Date: Sun Jul 15 23:38:25 2007 -0700 NeilBrown The do_loop_readv_writev implementation of readv breaks out of the loop as soon as a single read request didn't fill it's buffer: if (nr != len) break; The generic_file_aio_read version doesn't. So if it hits EOF before the end of the list of buffers, it will try again on the next buffer. If the file was extended in the mean time, this will produce a bad result. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ed44a401ddfc60e11c3484e86f0c8285051139a Author: Herbert van den Bergh Date: Sun Jul 15 23:38:25 2007 -0700 do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY Fix a bug in mm/mlock.c on 32-bit architectures that prevents a user from locking more than 4GB of shared memory, or allocating more than 4GB of shared memory in hugepages, when rlim[RLIMIT_MEMLOCK] is set to RLIM_INFINITY. Signed-off-by: Herbert van den Bergh Acked-by: Chris Mason Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84a01c2f8ea9bf210b961c6301e8e870a46505a6 Author: Paul Mundt Date: Sun Jul 15 23:38:24 2007 -0700 slob: sparsemem support Currently slob is disabled if we're using sparsemem, due to an earlier patch from Goto-san. Slob and static sparsemem work without any trouble as it is, and the only hiccup is a missing slab_is_available() in the case of sparsemem extreme. With this, we're rid of the last set of restrictions for slob usage. Signed-off-by: Paul Mundt Acked-by: Pekka Enberg Acked-by: Matt Mackall Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dc4ac6324094cd52dc77ddf88296a94b90bbafc Author: Hugh Dickins Date: Sun Jul 15 23:38:23 2007 -0700 mspec_mmap: don't set VM_LOCKED mspec_mmap was setting VM_LOCKED (without adjusting locked_vm): don't do that, it serves no purpose in 2.6, other than to mess up the locked_vm accounting - mspec's pages won't get reclaimed anyway. Thanks to Dmitry Monakhov for raising the issue. Signed-off-by: Hugh Dickins Acked-by: Jes Sorensen Cc: Dmitry Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b49ad484c54116862d717ffafcab1c9a46600b48 Author: Dan Aloni Date: Sun Jul 15 23:38:23 2007 -0700 mm/page_alloc.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6193a2ff180920f84ee06977165ebf32431fc2d2 Author: Paul Mundt Date: Sun Jul 15 23:38:22 2007 -0700 slob: initial NUMA support This adds preliminary NUMA support to SLOB, primarily aimed at systems with small nodes (tested all the way down to a 128kB SRAM block), whether asymmetric or otherwise. We follow the same conventions as SLAB/SLUB, preferring current node placement for new pages, or with explicit placement, if a node has been specified. Presently on UP NUMA this has the side-effect of preferring node#0 allocations (since numa_node_id() == 0, though this could be reworked if we could hand off a pfn to determine node placement), so single-CPU NUMA systems will want to place smaller nodes further out in terms of node id. Once a page has been bound to a node (via explicit node id typing), we only do block allocations from partial free pages that have a matching node id in the page flags. The current implementation does have some scalability problems, in that all partial free pages are tracked in the global freelist (with contention due to the single spinlock). However, these are things that are being reworked for SMP scalability first, while things like per-node freelists can easily be built on top of this sort of functionality once it's been added. More background can be found in: http://marc.info/?l=linux-mm&m=118117916022379&w=2 http://marc.info/?l=linux-mm&m=118170446306199&w=2 http://marc.info/?l=linux-mm&m=118187859420048&w=2 and subsequent threads. Acked-by: Christoph Lameter Acked-by: Matt Mackall Signed-off-by: Paul Mundt Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7977793240d836e60ff413e94e6914f08e10941 Author: Jason Baron Date: Sun Jul 15 23:38:21 2007 -0700 speed up madvise_need_mmap_write() usage In the new madvise_need_mmap_write() call we can avoid an extra case statement and function call as follows. Signed-off-by: Jason Baron Cc: Nishanth Aravamudan Cc: Christoph Hellwig Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 897e679b17460b52752a038af29db356fe1bd759 Author: Adrian Bunk Date: Sun Jul 15 23:38:20 2007 -0700 mm/slab.c: start_cpu_timer() should be __cpuinit start_cpu_timer() should be __cpuinit (which also matches what it's callers are). __devinit didn't cause problems, it simply wasted a few bytes of memory for the common CONFIG_HOTPLUG_CPU=n case. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ea6e6887dad1fd44e6d5020a0fd355af4f2b6b3 Author: Paul Mundt Date: Sun Jul 15 23:38:20 2007 -0700 mm: more __meminit annotations Currently zone_spanned_pages_in_node() and zone_absent_pages_in_node() are non-static for ARCH_POPULATES_NODE_MAP and static otherwise. However, only the non-static versions are __meminit annotated, despite only being called from __meminit functions in either case. zone_init_free_lists() is currently non-static and not __meminit annotated either, despite only being called once in the entire tree by init_currently_empty_zone(), which too is __meminit. So make it static and properly annotated. Signed-off-by: Paul Mundt Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f0accc8627043702e6ea2bb8b9aa3a171ef8393 Author: Jan Beulich Date: Sun Jul 15 23:38:19 2007 -0700 kill vmalloc_earlyreserve This symbol got orphaned quite a while ago. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45e98cdb6d365b34b7a2d849e4d8bdc264d8e6e4 Author: Jan Beulich Date: Sun Jul 15 23:38:17 2007 -0700 page table handling cleanup Kill pte_rdprotect(), pte_exprotect(), pte_mkread(), pte_mkexec(), pte_read(), pte_exec(), and pte_user() except where arch-specific code is making use of them. Signed-off-by: Jan Beulich Cc: Andi Kleen Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98011f569e2ae1e4ae394f6e23faa16676d50de4 Author: Jan Beulich Date: Sun Jul 15 23:38:17 2007 -0700 mm: fix improper .init-type section references .. which modpost started warning about. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 140d5a49046b6d73dce4a4229e88c000a99ee126 Author: Paul Mundt Date: Sun Jul 15 23:38:16 2007 -0700 numa: mempolicy: trivial debug fixes. Enabling debugging fails to build due to the nodemask variable in do_mbind() having changed names, and then oopses on boot due to the assumption that the nodemask can be dereferenced -- which doesn't work out so well when the policy is changed to MPOL_DEFAULT with a NULL nodemask by numa_default_policy(). This fixes it up, and switches from PDprintk() to pr_debug() while we're at it. Signed-off-by: Paul Mundt Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 462e00cc7151ed91fba688594436c453c80efb5d Author: Ethan Solomita Date: Sun Jul 15 23:38:16 2007 -0700 oom: stop allocating user memory if TIF_MEMDIE is set get_user_pages() can try to allocate a nearly unlimited amount of memory on behalf of a user process, even if that process has been OOM killed. The OOM kill occurs upon return to user space via a SIGKILL, but get_user_pages() will try allocate all its memory before returning. Change get_user_pages() to check for TIF_MEMDIE, and if set then return immediately. Signed-off-by: Ethan Solomita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b71636e29823c0602d908a2a62e94c9b57a97491 Author: Paul Mundt Date: Sun Jul 15 23:38:15 2007 -0700 numa: mempolicy: dynamic interleave map for system init This converts the default system init memory policy to use a dynamically created node map instead of defaulting to all online nodes. Nodes of a certain size (>= 16MB) are judged to be suitable for interleave, and are added to the map. If all nodes are smaller in size, the largest one is automatically selected. Without this, tiny nodes find themselves out of memory before we even make it to userspace. Systems with large nodes will notice no change. Only the system init policy is effected by this change, the regular MPOL_DEFAULT policy is still switched to later on in the boot process as normal. Signed-off-by: Paul Mundt Cc: Andi Kleen Cc: Christoph Lameter Cc: Hugh Dickins Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0630fff54a239efbbd89faf6a62da071ef1ff78 Author: Christoph Lameter Date: Sun Jul 15 23:38:14 2007 -0700 SLUB: support slub_debug on by default Add a new configuration variable CONFIG_SLUB_DEBUG_ON If set then the kernel will be booted by default with slab debugging switched on. Similar to CONFIG_SLAB_DEBUG. By default slab debugging is available but must be enabled by specifying "slub_debug" as a kernel parameter. Also add support to switch off slab debugging for a kernel that was built with CONFIG_SLUB_DEBUG_ON. This works by specifying slub_debug=- as a kernel parameter. Dave Jones wanted this feature. http://marc.info/?l=linux-kernel&m=118072189913045&w=2 [akpm@linux-foundation.org: clean up switch statement] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc9a07e7bf1a76e710f5df017abb07628db1781d Author: Andrew Morton Date: Sun Jul 15 23:38:14 2007 -0700 invalidate_mapping_pages(): add cond_resched invalidate_mapping_pages() can sometimes take a long time (millions of pages to free). Long enough for the softlockup detector to trigger. We used to have a cond_resched() in there but I took it out because the drop_caches code calls invalidate_mapping_pages() under inode_lock. The patch adds a nasty flag and puts the cond_resched() back. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45426812d6b601430d560cb6049757b5b0bc71c4 Author: Nick Piggin Date: Sun Jul 15 23:38:12 2007 -0700 mm: debug check for the fault vs invalidate race Add a bugcheck for Andrea's pagefault vs invalidate race. This is triggerable for both linear and nonlinear pages with a userspace test harness (using direct IO and truncate, respectively). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f96efd585b8d847181f81bf16721f96ded18d9fe Author: Joe Jin Date: Sun Jul 15 23:38:12 2007 -0700 hugetlb: fix race in alloc_fresh_huge_page() That static `nid' index needs locking. Without it we can end up calling alloc_pages_node() with an illegal node ID and the kernel crashes. Acked-by: gurudas pai Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2706a1b89b1a3e7434a668d4a9d15f616da96685 Author: Anderson Briglia Date: Sun Jul 15 23:38:09 2007 -0700 vmscan: fix comments related to shrink_list() Fix the shrink_list name on some files under mm/ directory. Signed-off-by: Anderson Briglia Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 553948491c18413928b85a9025b92af80e7d61d6 Author: Nick Piggin Date: Sun Jul 15 23:38:09 2007 -0700 slob: improved alignment handling Remove the core slob allocator's minimum alignment restrictions, and instead introduce the alignment restrictions at the slab API layer. This lets us heed the ARCH_KMALLOC/SLAB_MINALIGN directives, and also use __alignof__ (unsigned long) for the default alignment (which should allow relaxed alignment architectures to take better advantage of SLOB's small minimum alignment). Signed-off-by: Nick Piggin Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d87a133fc21d842e3cc285e6bbff727181abec81 Author: Nick Piggin Date: Sun Jul 15 23:38:08 2007 -0700 slob: remove bigblock tracking Remove the bigblock lists in favour of using compound pages and going directly to the page allocator. Allocation size is stored in page->private, which also makes ksize more accurate than it previously was. Saves ~.5K of code, and 12-24 bytes overhead per >= PAGE_SIZE allocation. Signed-off-by: Nick Piggin Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95b35127f13661abb0dc3459042cdb417d21e692 Author: Nick Piggin Date: Sun Jul 15 23:38:07 2007 -0700 slob: rework freelist handling Improve slob by turning the freelist into a list of pages using struct page fields, then each page has a singly linked freelist of slob blocks via a pointer in the struct page. - The first benefit is that the slob freelists can be indexed by a smaller type (2 bytes, if the PAGE_SIZE is reasonable). - Next is that freeing is much quicker because it does not have to traverse the entire freelist. Allocation can be slightly faster too, because we can skip almost-full freelist pages completely. - Slob pages are then freed immediately when they become empty, rather than having a periodic timer try to free them. This gives efficiency and memory consumption improvement. Then, we don't encode seperate size and next fields into each slob block, rather we use the sign bit to distinguish between "size" or "next". Then size 1 blocks contain a "next" offset, and others contain the "size" in the first unit and "next" in the second unit. - This allows minimum slob allocation alignment to go from 8 bytes to 2 bytes on 32-bit and 12 bytes to 2 bytes on 64-bit. In practice, it is best to align them to word size, however some architectures (eg. cris) could gain space savings from turning off this extra alignment. Then, make kmalloc use its own slob_block at the front of the allocation in order to encode allocation size, rather than rely on not overwriting slob's existing header block. - This reduces kmalloc allocation overhead similarly to alignment reductions. - Decouples kmalloc layer from the slob allocator. Then, add a page flag specific to slob pages. - This means kfree of a page aligned slob block doesn't have to traverse the bigblock list. I would get benchmarks, but my test box's network doesn't come up with slob before this patch. I think something is timing out. Anyway, things are faster after the patch. Code size goes up about 1K, however dynamic memory usage _should_ be lower even on relatively small memory systems. Future todo item is to restore the cyclic free list search, rather than to always begin at the start. Signed-off-by: Nick Piggin Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 698827fa9f45019df1609bb686bc51c94e127fbc Author: Robert P. J. Day Date: Sun Jul 15 23:38:06 2007 -0700 Remove the deprecated "kmem_cache_t" typedef from slab.h. Given that there is no remaining usage of the deprecated kmem_cache_t typedef anywhere in the tree, remove that typedef. Signed-off-by: Robert P. J. Day Acked-by: Pekka Enberg Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1037b83bd04e31449dc9323f1e8ddada4264ef66 Author: Eric Dumazet Date: Sun Jul 15 23:38:05 2007 -0700 MM: alloc_large_system_hash() can free some memory for non power-of-two bucketsize alloc_large_system_hash() is called at boot time to allocate space for several large hash tables. Lately, TCP hash table was changed and its bucketsize is not a power-of-two anymore. On most setups, alloc_large_system_hash() allocates one big page (order > 0) with __get_free_pages(GFP_ATOMIC, order). This single high_order page has a power-of-two size, bigger than the needed size. We can free all pages that wont be used by the hash table. On a 1GB i386 machine, this patch saves 128 KB of LOWMEM memory. TCP established hash table entries: 32768 (order: 6, 393216 bytes) Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b92151bab91ef906378d3e0e7128d55dd641e966 Author: Pavel Emelianov Date: Sun Jul 15 23:38:04 2007 -0700 Make /proc/slabinfo use seq_list_xxx helpers This entry prints a header in .start callback. This is OK, but the more elegant solution would be to move this into the .show callback and use seq_list_start_head() in .start one. I have left it as is in order to make the patch just switch to new API and noting more. [adobriyan@sw.ru: Wrong pointer was used as kmem_cache pointer] Signed-off-by: Pavel Emelianov Cc: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68e116a3b57d09b220fe38712bebd956b6dbbbc6 Author: Rolf Eike Beer Date: Sun Jul 15 23:38:03 2007 -0700 MM: use DIV_ROUND_UP() in mm/memory.c Replace a hand coded version of DIV_ROUND_UP(). Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a5c6e4f25704f51f9a1373f0784034306d4cf1 Author: Nishanth Aravamudan Date: Sun Jul 15 23:38:02 2007 -0700 hugetlb: remove unnecessary nid initialization nid is initialized to numa_node_id() but will either be overwritten in the loop or not used in the conditional. So remove the initialization. Signed-off-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0c0b2b808f232741eadac272bd4bc51f18df0f4 Author: KAMEZAWA Hiroyuki Date: Sun Jul 15 23:38:01 2007 -0700 change zonelist order: zonelist order selection logic Make zonelist creation policy selectable from sysctl/boot option v6. This patch makes NUMA's zonelist (of pgdat) order selectable. Available order are Default(automatic)/ Node-based / Zone-based. [Default Order] The kernel selects Node-based or Zone-based order automatically. [Node-based Order] This policy treats the locality of memory as the most important parameter. Zonelist order is created by each zone's locality. This means lower zones (ex. ZONE_DMA) can be used before higher zone (ex. ZONE_NORMAL) exhausion. IOW. ZONE_DMA will be in the middle of zonelist. current 2.6.21 kernel uses this. Pros. * A user can expect local memory as much as possible. Cons. * lower zone will be exhansted before higher zone. This may cause OOM_KILL. Maybe suitable if ZONE_DMA is relatively big and you never see OOM_KILL because of ZONE_DMA exhaution and you need the best locality. (example) assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL. *node(0)'s memory allocation order: node(0)'s NORMAL -> node(0)'s DMA -> node(1)'s NORMAL. *node(1)'s memory allocation order: node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA. [Zone-based order] This policy treats the zone type as the most important parameter. Zonelist order is created by zone-type order. This means lower zone never be used bofere higher zone exhaustion. IOW. ZONE_DMA will be always at the tail of zonelist. Pros. * OOM_KILL(bacause of lower zone) occurs only if the whole zones are exhausted. Cons. * memory locality may not be best. (example) assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL. *node(0)'s memory allocation order: node(0)'s NORMAL -> node(1)'s NORMAL -> node(0)'s DMA. *node(1)'s memory allocation order: node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA. bootoption "numa_zonelist_order=" and proc/sysctl is supporetd. command: %echo N > /proc/sys/vm/numa_zonelist_order Will rebuild zonelist in Node-based order. command: %echo Z > /proc/sys/vm/numa_zonelist_order Will rebuild zonelist in Zone-based order. Thanks to Lee Schermerhorn, he gives me much help and codes. [Lee.Schermerhorn@hp.com: add check_highest_zone to build_zonelists_in_zone_order] [akpm@linux-foundation.org: build fix] Signed-off-by: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Christoph Lameter Cc: Andi Kleen Cc: "jesse.barnes@intel.com" Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18a8bd949d6adb311ea816125ff65050df1f3f6e Author: Yinghai Lu Date: Sun Jul 15 23:37:59 2007 -0700 serial: convert early_uart to earlycon for 8250 Beacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and include/asm-x86_64/serial.h. the serial8250_ports need to be probed late in serial initializing stage. the console_init=>serial8250_console_init=> register_console=>serial8250_console_setup will return -ENDEV, and console ttyS0 can not be enabled at that time. need to wait till uart_add_one_port in drivers/serial/serial_core.c to call register_console to get console ttyS0. that is too late. Make early_uart to use early_param, so uart console can be used earlier. Make it to be bootconsole with CON_BOOT flag, so can use console handover feature. and it will switch to corresponding normal serial console automatically. new command line will be: console=uart8250,io,0x3f8,9600n8 console=uart8250,mmio,0xff5e0000,115200n8 or earlycon=uart8250,io,0x3f8,9600n8 earlycon=uart8250,mmio,0xff5e0000,115200n8 it will print in very early stage: Early serial console at I/O port 0x3f8 (options '9600n8') console [uart0] enabled later for console it will print: console handover: boot [uart0] -> real [ttyS0] Signed-off-by: Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1c931e39327ef121797927d4b3198d370e75b9b Author: Eric W. Biderman Date: Sun Jul 15 23:37:28 2007 -0700 x86: initial fixmap support Needed to get fixed virtual address for USB debug and earlycon with mmio. Signed-off-by: Eric W. Biderman Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d37bf60de0b4ddc1633cf278189d3c9bf28fe3d2 Author: Yinghai Lu Date: Sun Jul 15 23:37:28 2007 -0700 console: console handover to preferred console for earlyprintk=ttyS0,9600 console=tty0 console=ttyS0,9600n8 the handover will happen from earlyser0 to tty0. but what we want is to hand over to ttyS0. Later with serial-convert-early_uart-to-earlycon-for-8250.patch, console=tty0 console=uart8250,io,0x3f8,9600n8 will handover to ttyS0 instead of tty0. Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eaa944afb206f3fc4393630811ee621b866e3255 Author: Yinghai Lu Date: Sun Jul 15 23:37:27 2007 -0700 console: more buf for index parsing Change name to buf according to the usage as name + index Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79492689e40d4f4d3d8a7262781d56fb295b4b86 Author: Yinghai Lu Date: Sun Jul 15 23:37:25 2007 -0700 serial: assert DTR for serial console devices Some RS-232 devices require DTR to be asserted before they can be used. DTR is normally asserted in uart_startup() when the port is opened. But we don't actually open serial console ports, so assert DTR when the port is added. BTW: earlyprintk and early_uart are hard coded to set DTR/RTS. rmk says The only issue I can think of is the possibility for an attached modem to auto-answer or maybe even auto-dial before the system is ready for it to do so. Might have an undesirable cost implication for some running with such a setup. Apart from that, I can't think of any other side effect of this specific patch. Signed-off-by: Yinghai Lu Acked-by: Russell King Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23936cc0b5d89619c34c2dab11d8cf3d6f7ca028 Author: Kristian Hoegsberg Date: Sun Jul 15 23:37:24 2007 -0700 lib: add idr_remove_all Remove all ids from the given idr tree. idr_destroy() only frees up unused, cached idp_layers, but this function will remove all id mappings and leave all idp_layers unused. A typical clean-up sequence for objects stored in an idr tree, will use idr_for_each() to free all objects, if necessay, then idr_remove_all() to remove all ids, and idr_destroy() to free up the cached idr_layers. Signed-off-by: Kristian Hoegsberg Cc: Tejun Heo Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96d7fa421e6424ad9ef6d1d039375dc2edb63fe8 Author: Kristian Hoegsberg Date: Sun Jul 15 23:37:24 2007 -0700 lib: add idr_for_each() This patch adds an iterator function for the idr data structure. Compared to just iterating through the idr with an integer and idr_find, this iterator is (almost, but not quite) linear in the number of elements, as opposed to the number of integers in the range covered by the idr. This makes a difference for sparse idrs, but more importantly, it's a nicer way to iterate through the elements. The drm subsystem is moving to idr for tracking contexts and drawables, and with this change, we can use the idr exclusively for tracking these resources. [akpm@linux-foundation.org: fix comment] Signed-off-by: Kristian Hoegsberg Cc: Tejun Heo Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de7d4f0e1172a72277d660fa0be59654ea02bed0 Author: Andy Whitcroft Date: Sun Jul 15 23:37:22 2007 -0700 update checkpatch.pl to version 0.07 This version brings a number of new checks, fixes for flase positives, plus a clarification of the output to better guide use. Of note: - checks for documentation for new __setup calls - clearer reporting where braces and parenthesis are involved - reports for closing brace and semi-colon spacing - reports on unwanted externs This patch includes an update to the documentation on checkpatch.pl itself to clarify when it should be used and to indicate that it is not intended as the final arbitor of style. Full changelog: Andy Whitcroft (19): Version: 0.07 ensure we do not apply control brace checks to preprocesor directives add {u,s}{8,16,32,64} to the type matcher accept lack of spacing after the semicolons in for (;;) report new externs in .c files fix up typedef exclusion for function prototypes else trailing statements check need to account for \ at end of line add enums to the type matcher add missing check descriptions suppress double reporting of ** spacing report on do{ spacing issues include an example of the brace/parenthesis in output check for spacing after closing braces prevent double reports on pointer spacing issues handle blank continuation lines on macros classify all reports error, warning, or check revamp hanging { checks and apply in context no spaces after the last ; in a for is ok check __setup has a corresponding addition to documentation David Woodhouse (1): limit character set used in patches and descriptions to UTF-8 Signed-off-by: Andy Whitcroft Cc: David Woodhouse Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2a11b158a24301e9158e9c873fa88e5eb775486 Author: Nitin Gupta Date: Sun Jul 15 23:37:21 2007 -0700 LZO1X: fix lzo1x_worst_compress This is a correction for a macro which gives worst case compressed data size by LZO1X. This patch was provided by the LZO author (Markus Oberhumer). Signed-off-by: Nitin Gupta Cc: "Markus F.X.J. Oberhumer" Cc: "Richard Purdie" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 248a9dc32a24a80cd13a1be66dae099d97381155 Author: Nelson, Shannon Date: Sun Jul 15 23:37:20 2007 -0700 Add entries to MAINTAINERS for I/OAT and DMAENGINE Add entries to MAINTAINERS for I/OAT and DMAENGINE Signed-off-by: Shannon Nelson Cc: Chris Leech Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f89b779508f457b2af05dd5ac82a425db4a56ee3 Author: Jan Kara Date: Sun Jul 15 23:37:20 2007 -0700 jbd2 commit: fix transaction dropping We have to check that also the second checkpoint list is non-empty before dropping the transaction. Signed-off-by: Jan Kara Cc: Chuck Ebbert Cc: Kirill Korotaev Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe28e42b99173ba088b1d8448e53029e100bff27 Author: Jan Kara Date: Sun Jul 15 23:37:18 2007 -0700 jbd commit: fix transaction dropping We have to check that also the second checkpoint list is non-empty before dropping the transaction. Signed-off-by: Jan Kara Cc: Chuck Ebbert Cc: Kirill Korotaev Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09561f44c75bc462ae86590b9c089d01c4e94a74 Author: Andrew Morton Date: Sun Jul 15 23:37:18 2007 -0700 authgss build fix Recent breakage.. net/sunrpc/auth_gss/auth_gss.c:1002: warning: implicit declaration of function 'lock_kernel' net/sunrpc/auth_gss/auth_gss.c:1004: warning: implicit declaration of function 'unlock_kernel' Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8803863a9051582081fb2bcca3a6dc8fddaed93c Author: Nate Date: Mon Jul 16 15:45:13 2007 +0000 [CIFS] use simple_prepare_write to zero page data It's common for file systems to need to zero data on either side of a write, if a page is not Uptodate during prepare_write. It just so happens that simple_prepare_write() in libfs.c does exactly that, so we can avoid duplication and just call that function to zero page data. Signed-off-by: Nate Diller Signed-off-by: Andrew Morton Signed-off-by: Steve French commit bcd4f3acbaec102e2b8000c977ecc38dcd0fe367 Author: Jens Axboe Date: Mon Jul 16 14:41:49 2007 +0200 splice: direct splicing updates ppos twice OGAWA Hirofumi reported that he's noticed nfsd read corruption in recent kernels, and did the hard work of discovering that it's due to splice updating the file position twice. This means that the next operation would start further ahead than it should. nfsd_vfs_read() splice_direct_to_actor() while(len) { do_splice_to() [update sd->pos] -> generic_file_splice_read() [read from sd->pos] nfsd_direct_splice_actor() -> __splice_from_pipe() [update sd->pos] There's nothing wrong with the core splice code, but the direct splicing is an addon that calls both input and output paths. So it has to take care in locally caching offset so it remains correct. Signed-off-by: Jens Axboe commit 56a68a500fcab9e3a9a49ca7fbef14230ab7d144 Author: Adrian Bunk Date: Fri Jul 13 07:54:30 2007 +0200 more ACSI removal This patch removes some code that became dead code after the ATARI_ACSI removal. It also indirectly fixes the following bug introduced by commit c2bcf3b8978c291e1b7f6499475c8403a259d4d6: config ATARI_SLM tristate "Atari SLM laser printer support" - depends on ATARI && ATARI_ACSI!=n + depends on ATARI Acked-by: Geert Uytterhoeven Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 5874c18b105cc7a24972191b7f08a93b1205a425 Author: Neil Brown Date: Fri Jul 13 07:39:46 2007 +0200 umem: Fix match of pci_ids in umem driver the pci device list for umem was not using PCI_DEVICE, so the subvendor/subdevice fields were not set to ANY, so matching didn't work properly. Change to use PCI_DEVICE. Signed-off-by: Neil Brown Signed-off-by: Jens Axboe commit 51ea208c37a216816e44d31fbdf2c1f1b59e860e Author: Robert P. J. Day Date: Fri Jul 13 07:38:48 2007 +0200 umem: Remove references to dead CONFIG_MM_MAP_MEMORY variable Signed-off-by: Robert P. J. Day Acked-by: NeilBrown Signed-off-by: Jens Axboe commit a3e4da548328bd2bbd6265819aa19397926e5b05 Author: Adrian Bunk Date: Wed Jul 11 20:58:19 2007 +0200 remove the documentation for the legacy CDROM drivers This patch removes the documentation for the removed legacy CDROM drivers. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit d54bc2793ec3405c6b8f217568a82b87bd8a591b Author: David S. Miller Date: Mon Jul 16 04:41:51 2007 -0700 [SPARC64]: Fix UP build. Signed-off-by: David S. Miller commit e0204409df29fe1b7d18f81dfc3ae6f9d90e7a63 Author: David S. Miller Date: Mon Jul 16 03:49:40 2007 -0700 [SPARC64]: dr-cpu unconfigure support. Signed-off-by: David S. Miller commit f3c681c028846bd5d39f563909409832a295ca69 Author: David S. Miller Date: Sun Jul 15 23:53:32 2007 -0700 [SERIAL]: Fix console write locking in sparc drivers. Mirror the logic in 8250 for proper console write locking when SYSRQ is triggered or an OOPS is in progress. Signed-off-by: David S. Miller commit 9918cc2e3275bf7f3561e4de1d5a3314183e71dc Author: David S. Miller Date: Sun Jul 15 02:02:01 2007 -0700 [SPARC64]: Give more accurate errors in dr_cpu_configure(). When cpu_up() fails, we can discern the most likely cause. If cpu_present() is false, this means the cpu did not appear in the MD. If -ENODEV is the error return value, then the processor did not boot properly into the kernel. Pass this information back in the dr-cpu response packet. Signed-off-by: David S. Miller commit 39dd992aee381ff5077536853051fc69e58cc4a9 Author: David S. Miller Date: Sun Jul 15 01:29:24 2007 -0700 [SPARC64]: Clear cpu_{core,sibling}_map[] in smp_fill_in_sib_core_maps() When we hot-plug in new cpus, the core_id and proc_id of existing cpus can change. So in order to set the cpu groups correctly we need to clear the maps out completely first. Signed-off-by: David S. Miller commit b37d40d1759a383208ef47be8af94ebe59031691 Author: David S. Miller Date: Sun Jul 15 01:08:03 2007 -0700 [SPARC64]: Fix leak when DR added cpu does not bootup. Signed-off-by: David S. Miller commit b53bcb6799f8f2c0f385f24a8bb054f142c7d83a Author: David S. Miller Date: Sat Jul 14 03:16:13 2007 -0700 [SPARC64]: Add ->set_affinity IRQ handlers. dr-cpu unconfigure requests will walk throught he enabled IRQs and trigger ->set_affinity so that the going-down cpu no longer has INOs targetted to it. Signed-off-by: David S. Miller commit bd0e11ff221d929b2b711ce3e5712e097e9dd1d8 Author: David S. Miller Date: Sat Jul 14 03:14:45 2007 -0700 [SPARC64]: Process dr-cpu events in a kthread instead of workqueue. This will be necessary to handle unconfigure requests properly. Signed-off-by: David S. Miller commit 8b99cfb8cc51adae7f5294c8962a026c63100959 Author: David S. Miller Date: Sat Jul 14 02:23:37 2007 -0700 [SPARC64]: More sensible udelay implementation. Take a page from the powerpc folks and just calculate the delay factor directly. Since frequency scaling chips use a system-tick register, the value is going to be the same system-wide. Signed-off-by: David S. Miller commit 27a2ef382c7935a4dd02bff9fd361ce118df98c6 Author: David S. Miller Date: Sat Jul 14 00:58:53 2007 -0700 [SPARC64]: SMP build fixes. With the move of ldom_startcpu_cpuid() into smp.c some other things need to follow along: 1) smp.c is not a driver so we can't use "PFX" macro in the printk calls. 2) smp.c now needs asm/io.h and asm/hvtramp.h, ds.c no longer does 3) kimage_addr_to_ra() also needs to move into smp.c While we're here, update copyright info and my email address in smp.c Signed-off-by: David S. Miller commit 8f3fff205071dc1bd3203a0f6a5bf3b30e68e26f Author: David S. Miller Date: Sat Jul 14 00:54:55 2007 -0700 [SPARC64]: mdesc.c needs linux/mm.h Signed-off-by: David S. Miller commit b14f5c100ce4c63e4c5a71ab47e71cf4a1caa9e3 Author: David S. Miller Date: Sat Jul 14 00:45:16 2007 -0700 [SPARC64]: Fix build regressions added by dr-cpu changes. Do not select HOTPLUG_CPU from SUN_LDOMS, that causes HOTPLUG_CPU to be selected even on non-SMP which is illegal. Only build hvtramp.o when SMP, just like trampoline.o Protect dr-cpu code in ds.c with HOTPLUG_CPU. Likewise move ldom_startcpu_cpuid() to smp.c and protect it and the call site with SUN_LDOMS && HOTPLUG_CPU. Signed-off-by: David S. Miller commit f8be339c02c1e543eee8e09ffe600c0e61be5898 Author: David S. Miller Date: Sat Jul 14 00:41:08 2007 -0700 [SPARC64]: Unconditionally register vio_bus_type. The VIO drivers register themselves unconditionally just like those of any other bus type, so to avoid crashes on non-VIO systems we need to always register vio_bus_type. Signed-off-by: David S. Miller commit 4f0234f4f9da485ecb9729af1b88567700fd4767 Author: David S. Miller Date: Fri Jul 13 16:03:42 2007 -0700 [SPARC64]: Initial LDOM cpu hotplug support. Only adding cpus is supports at the moment, removal will come next. When new cpus are configured, the machine description is updated. When we get the configure request we pass in a cpu mask of to-be-added cpus to the mdesc CPU node parser so it only fetches information for those cpus. That code also proceeds to update the SMT/multi-core scheduling bitmaps. cpu_up() does all the work and we return the status back over the DS channel. CPUs via dr-cpu need to be booted straight out of the hypervisor, and this requires: 1) A new trampoline mechanism. CPUs are booted straight out of the hypervisor with MMU disabled and running in physical addresses with no mappings installed in the TLB. The new hvtramp.S code sets up the critical cpu state, installs the locked TLB mappings for the kernel, and turns the MMU on. It then proceeds to follow the logic of the existing trampoline.S SMP cpu bringup code. 2) All calls into OBP have to be disallowed when domaining is enabled. Since cpus boot straight into the kernel from the hypervisor, OBP has no state about that cpu and therefore cannot handle being invoked on that cpu. Luckily it's only a handful of interfaces which can be called after the OBP device tree is obtained. For example, rebooting, halting, powering-off, and setting options node variables. CPU removal support will require some infrastructure changes here. Namely we'll have to process the requests via a true kernel thread instead of in a workqueue. workqueues run on a per-cpu thread, but when unconfiguring we might need to force the thread to execute on another cpu if the current cpu is the one being removed. Removal of a cpu also causes the kernel to destroy that cpu's workqueue running thread. Another issue on removal is that we may have interrupts still pointing to the cpu-to-be-removed. So new code will be needed to walk the active INO list and retarget those cpus as-needed. Signed-off-by: David S. Miller commit b3e13fbeb9ac1eb8e7b0791bf56e1775c692972b Author: David S. Miller Date: Thu Jul 12 15:55:55 2007 -0700 [SPARC64]: Fix setting of variables in LDOM guest. There is a special domain services capability for setting variables in the OBP options node. Guests don't have permanent store for the OBP variables like a normal system, so they are instead maintained in the LDOM control node or in the SC. Signed-off-by: David S. Miller commit 83292e0a9c3f1c326b28fbf8cb70a8ce81a98163 Author: David S. Miller Date: Thu Jul 12 14:16:22 2007 -0700 [SPARC64]: Fix MD property lifetime bugs. Property values cannot be referenced outside of mdesc_grab()/mdesc_release() pairs. The only major offender was the VIO bus layer, easily fixed. Add some commentary to mdesc.h describing these rules. Signed-off-by: David S. Miller commit 43fdf27470b216ebdef47e09ff83bed2f2894b13 Author: David S. Miller Date: Thu Jul 12 13:47:50 2007 -0700 [SPARC64]: Abstract out mdesc accesses for better MD update handling. Since we have to be able to handle MD updates, having an in-tree set of data structures representing the MD objects actually makes things more painful. The MD itself is easy to parse, and we can implement the existing interfaces using direct parsing of the MD binary image. The MD is now reference counted, so accesses have to now take the form: handle = mdesc_grab(); ... operations on MD ... mdesc_release(handle); The only remaining issue are cases where code holds on to references to MD property values. mdesc_get_property() returns a direct pointer to the property value, most cases just pull in the information they need and discard the pointer, but there are few that use the pointer directly over a long lifetime. Those will be fixed up in a subsequent changeset. A preliminary handler for MD update events from domain services is there, it is rudimentry but it works and handles all of the reference counting. It does not check the generation number of the MDs, and it does not generate a "add/delete" list for notification to interesting parties about MD changes but that will be forthcoming. Signed-off-by: David S. Miller commit 133f09a169f3022be3de671b29658b7ecb375022 Author: David S. Miller Date: Wed Jul 11 23:22:55 2007 -0700 [SPARC64]: Use more mearningful names for IRQ registry. All of the interrupts say "LDX RX" and "LDX TX" currently which is next to useless. Put a device specific prefix before "RX" and "TX" instead which makes it much more useful. Signed-off-by: David S. Miller commit e450992d13ffaec6dde4bbbd308b834ae9fc3708 Author: David S. Miller Date: Wed Jul 11 18:51:31 2007 -0700 [SPARC64]: Initial domain-services driver. Signed-off-by: David S. Miller commit 13077d80286205e02eebe1c2786a914a4bbd2588 Author: David S. Miller Date: Wed Jul 11 18:18:04 2007 -0700 [SPARC64]: Export powerd facilities for external entities. Besides the existing usage for power-button interrupts, we'll want to make use of this code for domain-services where the LDOM manager can send reboot requests to the guest node. Signed-off-by: David S. Miller commit 2c4f4ecb7a421e0be6632d3366f0bc7cdf1e38b1 Author: David S. Miller Date: Wed Jul 11 18:15:59 2007 -0700 [SPARC64]: Add domain-services nodes to VIO device tree. They sit under the root of the MD tree unlike the rest of the LDC channel based virtual devices. Signed-off-by: David S. Miller commit cb4812358423e7ea47d2b6471918d65238452cc5 Author: David S. Miller Date: Wed Jul 11 18:14:41 2007 -0700 [SPARC64]: Assorted LDC bug cures. 1) LDC_MODE_RELIABLE is deprecated an unused by anything, plus it and LDC_MODE_STREAM were mis-numbered. 2) read_stream() should try to read as much as possible into the per-LDC stream buffer area, so do not trim the read_nonraw() length by the caller's size parameter. 3) Send data ACKs when necessary in read_nonraw(). 4) In read_nonraw() when we get a pure ACK, advance the RX head unconditionally past it. 5) Provide the ACKID field in the ldcdgb() packet dump in read_nonraw(). This helps debugging stream mode LDC channel problems. 6) Decrease verbosity of rx_data_wait() so that it is more useful. A debugging message each loop iteration is too much. 7) In process_data_ack() stop the loop checking when we hit lp->tx_tail not lp->tx_head. 8) Set the seqid field properly in send_data_nack(). Signed-off-by: David S. Miller commit 5a606b72a4309a656cd1a19ad137dc5557c4b8ea Author: David S. Miller Date: Mon Jul 9 22:40:36 2007 -0700 [SPARC64]: Do not ACK an INO if it is disabled or inprogress. This is also a partial workaround for a bug in the LDOM firmware which double-transmits RX inos during high load. Without this, such an event causes the kernel to loop forever in the interrupt call chain ACK'ing but never actually running the IRQ handler (and thus clearing the interrupt condition in the device). There is still a bad potential effect when double INOs occur, not covered by this changeset. Namely, if the INO is already on the per-cpu INO vector list, we still blindly re-insert it and thus we can end up losing interrupts already linked in after it. We could deal with that by traversing the list before insertion, but that's too expensive for this edge case. Signed-off-by: David S. Miller commit 667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6 Author: David S. Miller Date: Mon Jul 16 04:03:56 2007 -0700 [SPARC64]: Add Sun LDOM virtual disk driver. Signed-off-by: David S. Miller commit 4c521e422f2837b9652fa00a064a01d009f939b6 Author: David S. Miller Date: Mon Jul 9 22:23:51 2007 -0700 [SPARC64]: Add Sun LDOM virtual network driver. Signed-off-by: David S. Miller commit e53e97ce3c7119199d2788d8fd1618efa9c2d1eb Author: David S. Miller Date: Mon Jul 9 22:22:44 2007 -0700 [SPARC64]: Add LDOM virtual channel driver and VIO device layer. Virtual devices on Sun Logical Domains are built on top of a virtual channel framework. This, with help of hypervisor interfaces, provides a link layer protocol with basic handshaking over which virtual device clients and servers communicate. Built on top of this is a VIO device protocol which has it's own handshaking and message types. At this layer attributes are exchanged (disk size, network device addresses, etc.) descriptor rings are registered, and data transfers are triggers and replied to. Signed-off-by: David S. Miller commit cec9ad279b66793bee0b5009b7ca311060061efd Author: Avi Kivity Date: Thu May 24 13:11:41 2007 +0300 KVM: Use CPU_DYING for disabling virtualization Only at the CPU_DYING stage can we be sure that no user process will be scheduled onto the cpu and oops when trying to use virtualization extensions. Signed-off-by: Avi Kivity commit 4267c41a458cd7d287dc8031468fc385c2f5b2c3 Author: Avi Kivity Date: Thu May 24 13:09:41 2007 +0300 KVM: Tune hotplug/suspend IPIs The hotplug IPIs can be called from the cpu on which we are currently running on, so use on_cpu(). Similarly, drop on_each_cpu() for the suspend/resume callbacks, as we're in atomic context here and only one cpu is up anyway. Signed-off-by: Avi Kivity commit 1b6c016818a562aaea22b1a1b05b15c796b0c2f0 Author: Avi Kivity Date: Thu May 24 13:03:52 2007 +0300 KVM: Keep track of which cpus have virtualization enabled By keeping track of which cpus have virtualization enabled, we prevent double-enable or double-disable during hotplug, which is a very fatal oops. Signed-off-by: Avi Kivity commit a52b1752c077cb919b71167c54968a0b91673281 Author: Avi Kivity Date: Mon Jul 9 17:11:49 2007 +0300 SMP: Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. This patch is for !CONFIG_SMP. Cc: Andi Kleen Signed-off-by: Avi Kivity commit de489353918139161eee241a6224d67f22bfd024 Author: Avi Kivity Date: Mon Jul 9 17:11:49 2007 +0300 i386: Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. Cc: Andi Kleen Signed-off-by: Avi Kivity commit 4055551bbcb0d0be8c916134b4e9074826e89638 Author: Avi Kivity Date: Mon Jul 9 17:11:49 2007 +0300 x86_64: Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. Cc: Andi Kleen Signed-off-by: Avi Kivity commit 38ef6d195fb794e61a687ef8f5a37daf6044d576 Author: Avi Kivity Date: Thu May 24 12:37:34 2007 +0300 HOTPLUG: Adapt thermal throttle to CPU_DYING CPU_DYING is notified in atomic context, so no taking mutexes here. Signed-off-by: Avi Kivity commit ac076758b97d9e3d2c1557cfa412911e93cd0919 Author: Avi Kivity Date: Thu May 24 12:33:15 2007 +0300 HOTPLUG: Adapt cpuset hotplug callback to CPU_DYING CPU_DYING is called in atomic context, so don't try to take any locks. Signed-off-by: Avi Kivity commit db912f963909b3cbc3a059b7528f6a1a1eb6ffae Author: Avi Kivity Date: Thu May 24 12:23:10 2007 +0300 HOTPLUG: Add CPU_DYING notifier KVM wants a notification when a cpu is about to die, so it can disable hardware extensions, but at a time when user processes cannot be scheduled on the cpu, so it doesn't try to use virtualization extensions after they have been disabled. This adds a CPU_DYING notification. The notification is called in atomic context on the doomed cpu. Signed-off-by: Avi Kivity commit e495606dd09d79f9fa496334ac3958f6ff179d82 Author: Avi Kivity Date: Thu Jun 28 14:15:57 2007 -0400 KVM: Clean up #includes Remove unnecessary ones, and rearange the remaining in the standard order. Signed-off-by: Avi Kivity commit d6d281684913dabb878e2f53219eed5df2cd867b Author: Avi Kivity Date: Thu Jun 28 08:38:16 2007 -0400 KVM: Remove kvmfs in favor of the anonymous inodes source kvm uses a pseudo filesystem, kvmfs, to generate inodes, a job that the new anonymous inodes source does much better. Cc: Davide Libenzi Signed-off-by: Avi Kivity commit 6031a61c2ef4cf22b69ef5494aefa54b84a27d2f Author: Joerg Roedel Date: Fri Jun 22 12:29:50 2007 +0300 KVM: SVM: Reliably detect if SVM was disabled by BIOS This patch adds an implementation to the svm is_disabled function to detect reliably if the BIOS disabled the SVM feature in the CPU. This fixes the issues with kernel panics when loading the kvm-amd module on machines where SVM is available but disabled. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 796fd1b23e463e98b3e2fc86ed571db06dc945bb Author: Avi Kivity Date: Thu Jun 21 11:54:45 2007 +0300 KVM: VMX: Remove unnecessary code in vmx_tlb_flush() A vmexit implicitly flushes the tlb; the code is bogus. Noted by Shaohua Li. Signed-off-by: Avi Kivity commit 88a97f0b2fe1cd08d06390dc2669b709ea96e11a Author: Shaohua Li Date: Wed Jun 20 17:13:26 2007 +0800 KVM: MMU: Fix Wrong tlb flush order Need to flush the tlb after updating a pte, not before. Signed-off-by: Shaohua Li Signed-off-by: Avi Kivity commit 75880a01124c6aa5d428bdc14163039a87618be1 Author: Avi Kivity Date: Wed Jun 20 11:20:04 2007 +0300 KVM: VMX: Reinitialize the real-mode tss when entering real mode Protected mode code may have corrupted the real-mode tss, so re-initialize it when switching to real mode. Signed-off-by: Avi Kivity commit a3c870bdce4d34332ebdba7eb9969592c4c6b243 Author: Luca Tettamanti Date: Tue Jun 19 22:41:38 2007 +0200 KVM: Avoid useless memory write when possible When writing to normal memory and the memory area is unchanged the write can be safely skipped, avoiding the costly kvm_mmu_pte_write. Signed-Off-By: Luca Tettamanti Signed-off-by: Avi Kivity commit 02c03a326a5df825cc01de426f72e160db2b9538 Author: Luca Tettamanti Date: Tue Jun 19 22:41:20 2007 +0200 KVM: Fix x86 emulator writeback When the old value and new one are the same the emulator skips the write; this is undesirable when the destination is a MMIO area and the write shall be performed regardless of the previous value. This optimization breaks e.g. a Linux guest APIC compiled without X86_GOOD_APIC. Remove the check and perform the writeback stage in the emulation unless it's explicitly disabled (currently push and some 2 bytes instructions may disable the writeback). Signed-Off-By: Luca Tettamanti Signed-off-by: Avi Kivity commit 74906345ff9f84f2b3b772d368c7e49f4ba27456 Author: Eddie Dong Date: Tue Jun 19 18:05:03 2007 +0300 KVM: Add support for in-kernel pio handlers Useful for the PIC and PIT. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit ff1dc7942ba8fa4a86619bcb37ed68afae1f69ca Author: Gregory Haskins Date: Thu May 31 14:08:58 2007 -0400 KVM: VMX: Fix interrupt checking on lightweight exit With kernel-injected interrupts, we need to check for interrupts on lightweight exits too. Signed-off-by: Gregory Haskins Signed-off-by: Avi Kivity commit 2eeb2e94eb6232f0895da696c10e6636093ff72b Author: Gregory Haskins Date: Thu May 31 14:08:53 2007 -0400 KVM: Adds support for in-kernel mmio handlers Signed-off-by: Gregory Haskins Signed-off-by: Avi Kivity commit d9413cd757a7c96d97ddb46ab4e3e04760ae4c55 Author: Nitin A Kamble Date: Tue Jun 19 11:21:15 2007 +0300 KVM: Implement emulation of instruction "ret" (opcode 0xc3) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7f0aaee07b6afcf5a4ee8a1132447621d768076b Author: Nitin A Kamble Date: Tue Jun 19 11:16:04 2007 +0300 KVM: Implement emulation of "pop reg" instruction (opcode 0x58-0x5f) For use in real mode. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7700270ee3c1324c18f5b7c36ee5ba1a4165919a Author: Avi Kivity Date: Wed Jun 13 19:55:28 2007 +0300 KVM: VMX: Ensure vcpu time stamp counter is monotonous If the time stamp counter goes backwards, a guest delay loop can become infinite. This can happen if a vcpu is migrated to another cpu, where the counter has a lower value than the first cpu. Since we're doing an IPI to the first cpu anyway, we can use that to pick up the old tsc, and use that to calculate the adjustment we need to make to the tsc offset. Signed-off-by: Avi Kivity commit 94cea1bb9d050c3200b36420cc03ba744dfd4338 Author: Avi Kivity Date: Wed Jun 13 19:43:19 2007 +0300 KVM: Initialize the BSP bit in the APIC_BASE msr correctly Needs to be set on vcpu 0 only. Signed-off-by: Avi Kivity commit a3870c47891629dae1765358fbaba3c49460f47a Author: Shani Moideen Date: Mon Jun 11 09:31:33 2007 +0530 KVM: VMX: Replace memset(, 0, PAGESIZE) with clear_page() Signed-off-by: Shani Moideen Signed-off-by: Avi Kivity commit 129ee910df90738da950021a9b9784ea43d5f228 Author: Shani Moideen Date: Mon Jun 11 09:28:26 2007 +0530 KVM: SVM: Replace memset(, 0, PAGESIZE) with clear_page() Signed-off-by: Shani Moideen Signed-off-by: Avi Kivity commit d9e368d61263055eceac2966bb7ea31b89da3425 Author: Avi Kivity Date: Thu Jun 7 19:18:30 2007 +0300 KVM: Flush remote tlbs when reducing shadow pte permissions When a vcpu causes a shadow tlb entry to have reduced permissions, it must also clear the tlb on remote vcpus. We do that by: - setting a bit on the vcpu that requests a tlb flush before the next entry - if the vcpu is currently executing, we send an ipi to make sure it exits before we continue Signed-off-by: Avi Kivity commit 39c3b86e5c193e09f69f0e99c93600a4999ffc60 Author: Avi Kivity Date: Thu Jun 7 19:11:53 2007 +0300 KVM: Keep an upper bound of initialized vcpus That way, we don't need to loop for KVM_MAX_VCPUS for a single vcpu vm. Signed-off-by: Avi Kivity commit 72d6e5a08a8ba2105b3f36e32285e8fbfbed1f71 Author: Avi Kivity Date: Tue Jun 5 16:15:51 2007 +0300 KVM: Emulate hlt on real mode for Intel This has two use cases: the bios can't boot from disk, and guest smp bootstrap. Signed-off-by: Avi Kivity commit d3bef15f84f91c73a5515ad4c6a1749f8f63afcf Author: Avi Kivity Date: Tue Jun 5 15:53:05 2007 +0300 KVM: Move duplicate halt handling code into kvm_main.c Will soon have a thid user. Signed-off-by: Avi Kivity commit ef9254df0b3aeba729e26a062803ee7d90437b5e Author: Avi Kivity Date: Tue Jun 5 14:37:09 2007 +0300 KVM: Enable guest smp As we don't support guest tlb shootdown yet, this is only reliable for real-mode guests. Signed-off-by: Avi Kivity commit 120e9a453b5e7d9a708caff7d97b71fc4ccd59e8 Author: Avi Kivity Date: Tue Jun 5 14:36:10 2007 +0300 KVM: Fix adding an smp virtual machine to the vm list If we add the vm once per vcpu, we corrupt the list if the guest has multiple vcpus. Signed-off-by: Avi Kivity commit 7b53aa56508479507c6e5667bb252ca7c2cd19cf Author: Avi Kivity Date: Tue Jun 5 12:17:03 2007 +0300 KVM: Fix vcpu freeing for guest smp A vcpu can pin up to four mmu shadow pages, which means the freeing loop will never terminate. Fix by first unpinning shadow pages on all vcpus, then freeing shadow pages. Signed-off-by: Avi Kivity commit 313899477f7578d37e82ead1af10f794a6da3c90 Author: Nguyen Anh Quynh Date: Tue Jun 5 10:35:19 2007 +0300 KVM: Remove unnecessary initialization and checks in mark_page_dirty() Signed-off-by: Avi Kivity commit 50a3485c594d0d52196cde4d208b37cda779fbf3 Author: Robert P. J. Day Date: Sun Jun 3 13:35:29 2007 -0400 KVM: Replace C code with call to ARRAY_SIZE() macro. Signed-off-by: Robert P. J. Day Signed-off-by: Avi Kivity commit 17c3ba9d37dbda490792a2b52953f09d0dee30d6 Author: Avi Kivity Date: Mon Jun 4 15:58:30 2007 +0300 KVM: Lazy guest cr3 switching Switch guest paging context may require us to allocate memory, which might fail. Instead of wiring up error paths everywhere, make context switching lazy and actually do the switch before the next guest entry, where we can return an error if allocation fails. Signed-off-by: Avi Kivity commit bd2b2baa5c5fbb08b4b0df7508ff419407f7ece6 Author: Avi Kivity Date: Thu May 31 18:28:51 2007 +0300 KVM: MMU: Remove unused large page marker This has not been used for some time, as the same information is available in the page header. Signed-off-by: Avi Kivity commit b64b3763a5b3868e85330c891e1a30189dcde9b1 Author: Avi Kivity Date: Thu May 31 18:24:09 2007 +0300 KVM: MMU: Don't cache guest access bits in the shadow page table This was once used to avoid accessing the guest pte when upgrading the shadow pte from read-only to read-write. But usually we need to set the guest pte dirty or accessed bits anyway, so this wasn't really exploited. Signed-off-by: Avi Kivity commit fd97dc516c372982f9c3637e20b131e1f55ac2f6 Author: Avi Kivity Date: Thu May 31 18:20:14 2007 +0300 KVM: MMU: Simpify accessed/dirty/present/nx bit handling Always set the accessed and dirty bit (since having them cleared causes a read-modify-write cycle), always set the present bit, and copy the nx bit from the guest. Signed-off-by: Avi Kivity commit 4436d466219a6a7874ebc19eb6523c3a9a280dcc Author: Avi Kivity Date: Thu May 31 17:17:06 2007 +0300 KVM: MMU: Remove cr0.wp tricks No longer needed as we do everything in one place. Signed-off-by: Avi Kivity commit e663ee64aefc57f7eff7325142206c4ea0200be8 Author: Avi Kivity Date: Thu May 31 15:46:04 2007 +0300 KVM: MMU: Make setting shadow ptes atomic on i386 Signed-off-by: Avi Kivity commit 0d551bb698e1328f685ae3611c4a4a96f41bef97 Author: Avi Kivity Date: Thu May 31 15:23:35 2007 +0300 KVM: Make shadow pte updates atomic With guest smp, a second vcpu might see partial updates when the first vcpu services a page fault. So delay all updates until we have figured out what the pte should look like. Note that on i386, this is still not completely atomic as a 64-bit write will be split into two on a 32-bit machine. Signed-off-by: Avi Kivity commit a18de5a403f9b5010527b2e7b05049b539b4facd Author: Avi Kivity Date: Thu May 31 15:14:09 2007 +0300 KVM: Move shadow pte modifications from set_pte/set_pde to set_pde_common() We want all shadow pte modifications in one place. Signed-off-by: Avi Kivity commit 97a0a01ea9229e4f3f0f06e0584227e9687159a5 Author: Avi Kivity Date: Thu May 31 15:08:29 2007 +0300 KVM: MMU: Fold fix_write_pf() into set_pte_common() This prevents some work from being performed twice, and, more importantly, reduces the number of places where we modify shadow ptes. Signed-off-by: Avi Kivity commit 63b1ad24d2695db3ec1cc8b10760e130e1a1f04b Author: Avi Kivity Date: Thu May 31 11:56:54 2007 +0300 KVM: MMU: Fold fix_read_pf() into set_pte_common() Signed-off-by: Avi Kivity commit 6598c8b2420c30b48fc0d1d40d9ef6a1f7312107 Author: Avi Kivity Date: Thu May 31 11:45:18 2007 +0300 KVM: MMU: Pass the guest pde to set_pte_common We will need the accessed bit (in addition to the dirty bit) and also write access (for setting the dirty bit) in a future patch. Signed-off-by: Avi Kivity commit e60d75ea292071e7ab33c10ca73fdd33fcbbe501 Author: Avi Kivity Date: Wed May 30 19:31:17 2007 +0300 KVM: MMU: Move set_pte_common() to pte width dependent code In preparation of some modifications. Signed-off-by: Avi Kivity commit ef0197e8d9273ad8fbfb1bbd30e46e42a32c79e8 Author: Avi Kivity Date: Wed May 30 14:21:51 2007 +0300 KVM: MMU: Simplify fetch() a little bit Signed-off-by: Avi Kivity commit d3d25b048b9c7e5c1c20918157a71df734f71766 Author: Avi Kivity Date: Wed May 30 12:34:53 2007 +0300 KVM: MMU: Use slab caches for shadow pages and their headers Use slab caches instead of a simple custom list. Signed-off-by: Avi Kivity commit 8d7282036f82244c5a1146a1a7edf03c50d278d9 Author: Eddie Dong Date: Tue May 29 15:07:21 2007 +0300 KVM: Use symbolic constants instead of magic numbers Signed-off-by: Avi Kivity commit 06ff0d37285094cf9cc25370e6a78ce9bc70ddb0 Author: Markus Rechberger Date: Sun May 27 10:46:52 2007 +0300 KVM: Fix includes KVM compilation fails for some .configs. This fixes it. Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 687fdbfe64086020e60547bd14773da3762056c1 Author: Avi Kivity Date: Thu May 24 11:17:33 2007 +0300 KVM: x86 emulator: implement wbinvd Vista seems to trigger it. Signed-off-by: Avi Kivity commit de062065a5293d8f434acb2d6ba5df87ad76bbd9 Author: Jan Engelhardt Date: Wed May 23 14:22:11 2007 -0700 Use menuconfig objects II - KVM/Virt Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 2cc51560aed0edb291341089d3475e1fbe8bfd04 Author: Eddie Dong Date: Mon May 21 07:28:09 2007 +0300 KVM: VMX: Avoid saving and restoring msr_efer on lightweight vmexit MSR_EFER.LME/LMA bits are automatically save/restored by VMX hardware, KVM only needs to save NX/SCE bits at time of heavy weight VM Exit. But clearing NX bits in host envirnment may cause system hang if the host page table is using EXB bits, thus we leave NX bits as it is. If Host NX=1 and guest NX=0, we can do guest page table EXB bits check before inserting a shadow pte (though no guest is expecting to see this kind of gp fault). If host NX=0, we present guest no Execute-Disable feature to guest, thus no host NX=0, guest NX=1 combination. This patch reduces raw vmexit time by ~27%. Me: fix compile warnings on i386. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit f2be4dd65437c60a4eb222bc40bc8caded62631a Author: Eddie Dong Date: Sun May 20 10:50:08 2007 +0300 KVM: VMX: Cleanup redundant code in MSR set Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit a75beee6e4f5d2f0ae6e28cd626b2f157e93afd2 Author: Eddie Dong Date: Thu May 17 18:55:15 2007 +0300 KVM: VMX: Avoid saving and restoring msrs on lightweight vmexit In a lightweight exit (where we exit and reenter the guest without scheduling or exiting to userspace in between), we don't need various msrs on the host, and avoiding shuffling them around reduces raw exit time by 8%. i386 compile fix by Daniel Hecken . Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit b3f37707b05e9ce82d5bec660e9d0b15452ee9a0 Author: Nitin A Kamble Date: Thu May 17 15:50:34 2007 +0300 KVM: VMX: Handle #SS faults from real mode Instructions with address size override prefix opcode 0x67 Cause the #SS fault with 0 error code in VM86 mode. Forward them to the emulator. Signed-Off-By: Nitin A Kamble Signed-off-by: Avi Kivity commit cd2276a795b013d1416c96b38eec90a66cdd10c4 Author: Avi Kivity Date: Mon May 14 20:41:13 2007 +0300 KVM: VMX: Use local labels in inline assembly This makes oprofile dumps and disassebly easier to read. Signed-off-by: Avi Kivity commit cd0536d7cb4d5d5c5aa37ccd3edd71c4b0524add Author: Avi Kivity Date: Tue May 8 11:34:07 2007 +0300 KVM: Fix vmx I/O bitmap initialization on highmem systems kunmap() expects a struct page, not a virtual address. Fixes an oops loading kvm-intel.ko on i386 with CONFIG_HIGHMEM. Thanks to Michael Ivanov for reporting. Signed-off-by: Avi Kivity commit 653e3108b7d6097d25089d25ab4e99bc58b28962 Author: Avi Kivity Date: Mon May 7 10:55:37 2007 +0300 KVM: Avoid corrupting tr in real mode The real mode tr needs to be set to a specific tss so that I/O instructions can function. Divert the new tr values to the real mode save area from where they will be restored on transition to protected mode. This fixes some crashes on reboot when the bios accesses an I/O instruction. Signed-off-by: Avi Kivity commit eff708bc2bacd4f22cf844871341bef341bd096a Author: Avi Kivity Date: Sun May 6 16:10:01 2007 +0300 KVM: VMX: Only reload guest msrs if they are already loaded If we set an msr via an ioctl() instead of by handling a guest exit, we have the host state loaded, so reloading the msrs would clobber host state instead of guest state. This fixes a host oops (and loss of a cpu) on a guest reboot. Signed-off-by: Avi Kivity commit 47ad8e689b4f94f9fc3b2588a7aaa65e4eca667c Author: Avi Kivity Date: Sun May 6 15:50:58 2007 +0300 KVM: MMU: Store shadow page tables as kernel virtual addresses, not physical Simpifies things a bit. Signed-off-by: Avi Kivity commit 4b02d6daa12465b209ec4f50c363f9553a51f45b Author: Avi Kivity Date: Sun May 6 15:36:30 2007 +0300 KVM: MMU: Simplify kvm_mmu_free_page() a tiny bit Signed-off-by: Avi Kivity commit 2dc7094b5662c4446aa647b257d47a9412fbacc9 Author: Matthew Gregan Date: Sun May 6 10:59:46 2007 +0300 KVM: Implement IA32_EBL_CR_POWERON msr Attempting to boot the default 'bsd' kernel of OpenBSD 4.1 i386 in a guest fails early in the kernel init inside p3_get_bus_clock while trying to read the IA32_EBL_CR_POWERON MSR. KVM logs an 'unhandled MSR' message and the guest kernel faults. This patch is sufficient to allow OpenBSD to boot, after which it seems to run fine. I'm not sure if this is the correct solution for dealing with this particular MSR, but it works for me. Signed-off-by: Matthew Gregan Signed-off-by: Avi Kivity commit a3a0636725ff172031072434d722b69bf49b7823 Author: Avi Kivity Date: Wed May 2 23:06:22 2007 +0300 KVM: Set cr0.mp for guests This allows fwait instructions to be trapped when the guest fpu is not loaded. Signed-off-by: Avi Kivity commit 5fd86fcfc0dbdd42296b1182945f7a0a05578211 Author: Avi Kivity Date: Wed May 2 20:40:00 2007 +0300 KVM: Consolidate guest fpu activation and deactivation Easier to keep track of where the fpu is this way. Signed-off-by: Avi Kivity commit abd3f2d622a810b7f6687f7ddb405e90e4cfb7ab Author: Avi Kivity Date: Wed May 2 17:57:40 2007 +0300 KVM: Rationalize exception bitmap usage Everyone owns a piece of the exception bitmap, but they happily write to the entire thing like there's no tomorrow. Centralize handling in update_exception_bitmap() and have everyone call that. Signed-off-by: Avi Kivity commit 707c08743060b6721b08df68f4fd546b106e7510 Author: Avi Kivity Date: Wed May 2 17:33:43 2007 +0300 KVM: Move some more msr mangling into vmx_save_host_state() Signed-off-by: Avi Kivity commit 33ed6329210f3ad0638306bfa46cd3aaf5a5f929 Author: Avi Kivity Date: Wed May 2 16:54:03 2007 +0300 KVM: Fix potential guest state leak into host The lightweight vmexit path avoids saving and reloading certain host state. However in certain cases lightweight vmexit handling can schedule() which requires reloading the host state. So we store the host state in the vcpu structure, and reloaded it if we relinquish the vcpu. Signed-off-by: Avi Kivity commit 7494c0ccbb8fa0903bcb1ced89cc2b79c3624974 Author: Avi Kivity Date: Tue May 1 18:24:38 2007 +0300 KVM: Increase mmu shadow cache to 1024 pages This improves kbuild times by about 10%, bringing it within a respectable 25% of native. Signed-off-by: Avi Kivity commit 0028425f647b6b78a0de8810d6b782fc3ce6c272 Author: Avi Kivity Date: Tue May 1 16:53:31 2007 +0300 KVM: Update shadow pte on write to guest pte A typical demand page/copy on write pattern is: - page fault on vaddr - kvm propagates fault to guest - guest handles fault, updates pte - kvm traps write, clears shadow pte, resumes guest - guest returns to userspace, re-faults on same vaddr - kvm installs shadow pte, resumes guest - guest continues So, three vmexits for a single guest page fault. But if instead of clearing the page table entry, we update to correspond to the value that the guest has just written, we eliminate the third vmexit. This patch does exactly that, reducing kbuild time by about 10%. Signed-off-by: Avi Kivity commit fce0657ff9f14f6b1f147b5fcd6db2f54c06424e Author: Avi Kivity Date: Tue May 1 16:44:05 2007 +0300 KVM: MMU: Respect nonpae pagetable quadrant when zapping ptes When a guest writes to a page that has an mmu shadow, we have to clear the shadow pte corresponding to the memory location touched by the guest. Now, in nonpae mode, a single guest page may have two or four shadow pages (because a nonpae page maps 4MB or 4GB, whereas the pae shadow maps 2MB or 1GB), so we when we look up the page we find up to three additional aliases for the page. Since we _clear_ the shadow pte, it doesn't matter except for a slight performance penalty, but if we want to _update_ the shadow pte instead of clearing it, it is vital that we don't modify the aliases. Fortunately, exactly which page is needed (the "quadrant") is easily computed, and is accessible in the shadow page header. All we need is to ignore shadow pages from the wrong quadrants. Signed-off-by: Avi Kivity commit 09072daf37abbfe8e2d5018dd913f229c76190f7 Author: Avi Kivity Date: Tue May 1 14:16:52 2007 +0300 KVM: Unify kvm_mmu_pre_write() and kvm_mmu_post_write() Instead of calling two functions and repeating expensive checks, call one function and provide it with before/after information. Signed-off-by: Avi Kivity commit 621358455ae043ab39bc3481f13b101bd6016c8d Author: Avi Kivity Date: Tue May 1 11:32:28 2007 +0300 KVM: Be more careful restoring fs on lightweight vmexit i386 wants fs for accessing the pda even on a lightweight exit, so ensure we can always restore it. This fixes a regression on i386 introduced by the lightweight vmexit patch. Signed-off-by: Avi Kivity commit a25f7e1f8c1ff68213a63dada9d5e32dc1a0f587 Author: Avi Kivity Date: Mon Apr 30 17:05:38 2007 +0300 KVM: Reduce misfirings of the fork detector The kvm mmu tries to detects forks by looking for repeated writes to a page table. If it sees a fork, it unshadows the page table so the page table copying can proceed at native speed instead of being emulated. However, the detector also triggered on simple demand paging access patterns: a linear walk of memory would of course cause repeated writes to the same pagetable page, causing it to unshadow prematurely. Fix by resetting the fork detector if we detect a demand fault. Signed-off-by: Avi Kivity commit 05e0c8c344dd356b42e81bdf0d47d2b884bf49b5 Author: Avi Kivity Date: Mon Apr 30 16:15:58 2007 +0300 KVM: Unindent some code Signed-off-by: Avi Kivity commit e6adf28365b2fca0b5235cabff00c9f3d1e7bdf4 Author: Avi Kivity Date: Mon Apr 30 16:07:54 2007 +0300 KVM: Avoid saving and restoring some host CPU state on lightweight vmexit Many msrs and the like will only be used by the host if we schedule() or return to userspace. Therefore, we avoid saving them if we handle the exit within the kernel, and if a reschedule is not requested. Based on a patch from Eddie Dong with a couple of fixes by me. Signed-off-by: Yaozu(Eddie) Dong Signed-off-by: Avi Kivity commit e925c5ba9380dad5fdf1d0a9d9199ac43be74c6a Author: Avi Kivity Date: Mon Apr 30 14:47:02 2007 +0300 KVM: Assume that writes smaller than 4 bytes are to non-pagetable pages This allows us to remove write protection earlier than otherwise. Should some mad OS choose to use byte writes to update pagetables, it will suffer a performance hit, but still work correctly. Signed-off-by: Avi Kivity commit c86813393f8b8f9f738ab57d9837858ed850df4b Author: Anthony Liguori Date: Mon Apr 30 09:48:11 2007 +0300 KVM: SVM: Allow direct guest access to PC debug port The PC debug port is used for IO delay and does not require emulation. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit fdef3ad1b38660d74a29abc990940b5dbaaf3fc9 Author: He, Qing Date: Mon Apr 30 09:45:24 2007 +0300 KVM: VMX: Enable io bitmaps to avoid IO port 0x80 VMEXITs This patch enables IO bitmaps control on vmx and unmask the 0x80 port to avoid VMEXITs caused by accessing port 0x80. 0x80 is used as delays (see include/asm/io.h), and handling VMEXITs on its access is unnecessary but slows things down. This patch improves kernel build test at around 3%~5%. Because every VM uses the same io bitmap, it is shared between all VMs rather than a per-VM data structure. Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 8ea02606681beb41568c62ba060bdf51fc9ba14e Author: Ingo Molnar Date: Mon Jul 16 09:46:31 2007 +0200 [PATCH] sched: fix up fs/proc/array.c whitespace problems while changing task_stime() i noticed a whitespace style problem in array.c - fix it. While at it, fix all the other style problems too, most of them in the scheduler-stats related portions of array.c. There is no change in functionality: text data bss dec hex filename 4356 28 0 4384 1120 array.o-before 4356 28 0 4384 1120 array.o-after Signed-off-by: Ingo Molnar commit e4af30be8fd0bed0e8f96e4e1ebd546a3dfa8f2b Author: Ingo Molnar Date: Mon Jul 16 09:46:31 2007 +0200 [PATCH] sched: prettify prio_to_wmult[] prettify the prio_to_wmult[] array. (this could have saved us from the typos) Signed-off-by: Ingo Molnar commit 5714d2de93fbb156c5e45fb101a2b4f0cae8fbb7 Author: Ingo Molnar Date: Mon Jul 16 09:46:31 2007 +0200 [PATCH] sched: document prio_to_wmult[] document prio_to_wmult[]. Signed-off-by: Ingo Molnar commit f9153ee6c71cb9ab38de3b8ed66b1c3fa27c3f7d Author: Ingo Molnar Date: Mon Jul 16 09:46:30 2007 +0200 [PATCH] sched: improve weight-array comments improve the comments around the wmult array (which controls the weight of niced tasks). Clarify that to achieve a 10% difference in CPU utilization, a weight multiplier of 1.25 has to be used. Signed-off-by: Ingo Molnar commit 5926c50b83b626991c8c38efbca2020ee96b215f Author: Ingo Molnar Date: Mon Jul 16 09:46:30 2007 +0200 [PATCH] sched: remove dead code from task_stime() Alexey Dobriyan noticed that task_stime() contains a piece of dead code. (which is a remnant of earlier versions of this code) Remove that code. Signed-off-by: Ingo Molnar commit 58ff411e0d21592565ac9ab34f33a434f26e018b Author: FUJITA Tomonori Date: Mon Jul 16 08:52:17 2007 +0200 bsg: Kconfig updates This updates bsg entry in Kconfig: - bsg supports sg v4 - bsg depends on SCSI - it might be better to mark it experimental for a while Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 15d10b611fa94b52f004a08a1d4cf7b39de3cba3 Author: FUJITA Tomonori Date: Mon Jul 16 08:52:16 2007 +0200 bsg: add SCSI transport-level request support This enables bsg to handle SCSI transport-level request like SAS management protocol (SMP). - add BSG_SUB_PROTOCOL_{SCSI_CMD, SCSI_TMF, SCSI_TRANSPORT} definitions. - SCSI transport-level requests skip blk_verify_command(). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2c9ecdf40af0554ee9a2b1cbbbbdbc77f90a40e1 Author: FUJITA Tomonori Date: Mon Jul 16 08:52:15 2007 +0200 bsg: add bidi support bsg uses the rq->next_rq pointer for a bidi request. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit abae1fde63fcdd2a3abaa0d7930938d8326f83d2 Author: FUJITA Tomonori Date: Mon Jul 16 08:52:14 2007 +0200 add a struct request pointer to the request structure This adds a struct request pointer to the request structure for the second data phase (bidi for now). A request queue supporting bidi requests sets QUEUE_FLAG_BIDI. This prevents sending bidi requests to a non-bidi queue. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit efba1a31f3f8fe9672eb96cd26e97fb96891f1c0 Author: FUJITA Tomonori Date: Thu Jun 7 13:24:06 2007 +0200 bsg: fix the deadlock on discarding done commands The previous commit introduced a deadlock in discarding commands, because we forget to unlock the bd spinlock. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit e7d72173248c29c6f9ba14e40374266e1b954964 Author: FUJITA Tomonori Date: Tue May 8 15:32:03 2007 +0200 bsg: fix a blocking read bug This patch fixes a bug that read() returns ENODATA even with a blocking file descriptor when there are no commands pending. This also includes some cleanups. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 4cf0723ac89b5f2189da2ad07ef875de26b83c77 Author: FUJITA Tomonori Date: Fri Mar 30 11:19:39 2007 +0200 bsg: minor bug fixes This fixes the following minor issues: - add EXPORT_SYMBOL_GPL for bsg_register_queue and bsg_unregister_queue. - shut up gcc warnings Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 292b7f27129272c9ec0ee5fa56abb6f9061b1d83 Author: FUJITA Tomonori Date: Wed Mar 28 13:29:58 2007 +0200 improve bsg device allocation This patch addresses on two issues on bsg device allocation. - the current maxium number of bsg devices is 256. It's too small if we allocate bsg devices to all SCSI devices, transport entities, etc. This increses the maxium number to 32768 (taken from the sg driver). - SCSI devices are dynamically added and removed. Currently, bsg can't handle it well since bsd_device->minor is simply increased. This is dependent on the patchset that I posted yesterday: http://marc.info/?l=linux-scsi&m=117440208726755&w=2 Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 4e2872d6b0252d33f28ea67f33704208ca781978 Author: FUJITA Tomonori Date: Wed Mar 28 13:29:24 2007 +0200 bind bsg to all SCSI devices This patch binds bsg to all SCSI devices (their request queues) like the current sg driver does. We can send SCSI commands to non disk and cdrom scsi devices like OSD via bsg. This patch removes bsg_register_queue from blk_register_queue so bsg devices aren't bound to non SCSI block devices. If they want bsg, I'll send a patch to do that. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit d351af01b9307566135cb0f355ca65d0952c10b5 Author: FUJITA Tomonori Date: Mon Jul 9 12:40:35 2007 +0200 bsg: bind bsg to request_queue instead of gendisk This patch binds bsg devices to request_queue instead of gendisk. Any objects (like transport entities) can define own request_handler and create own bsg device. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 45e79a3acdcf54113b3d7b23e9e64e6541dbfeb5 Author: FUJITA Tomonori Date: Mon Jul 9 12:39:20 2007 +0200 bsg: add a request_queue argument to scsi_cmd_ioctl() bsg uses scsi_cmd_ioctl() for some SCSI/sg ioctl commands. scsi_cmd_ioctl() gets a request queue from a gendisk arguement. This prevents bsg being bound to SCSI devices that don't have a gendisk (like OSD). This adds a request_queue argument to scsi_cmd_ioctl(). The SCSI/sg ioctl commands doesn't use a gendisk so it's safe for any SCSI devices to use scsi_cmd_ioctl(). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 7e75d73080d822d2bbbd5b0f7f293719dd1f9109 Author: FUJITA Tomonori Date: Wed Jan 24 09:05:54 2007 +0100 bsg: simplify __bsg_alloc_command failpath Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 264a0472183ce7ad05eea3360f5907880a1e5e78 Author: Jens Axboe Date: Tue Jan 23 16:30:17 2007 +0100 bsg: add cheasy error checks for sysfs stuff Signed-off-by: Jens Axboe commit 5309cb38de65eddd5f7e125da750accf949f29e8 Author: Jens Axboe Date: Tue Jan 23 16:24:41 2007 +0100 Add queue resizing support Just get rid of the preallocated command map, use the slab cache to get/free commands instead. Original patch from FUJITA Tomonori , changed by me to not use a mempool. Signed-off-by: Jens Axboe commit 3862153b673516b2efa0447b9b3778f47ac8f8c8 Author: FUJITA Tomonori Date: Fri Dec 22 09:43:51 2006 +0100 Replace s32, u32 and u64 with __s32, __u32 and __u64 in bsg.h for userspace Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2ef7086a207d3d899ae88602a135fe1c24e1811f Author: Jens Axboe Date: Wed Dec 20 11:26:11 2006 +0100 bsg: silence a bogus gcc warning Signed-off-by: Jens Axboe commit b711afa6959e5c8f457f1687b5d4a485c7974f32 Author: Jens Axboe Date: Wed Dec 20 11:25:23 2006 +0100 bsg: style cleanup Signed-off-by: Jens Axboe commit 1594a3f0eb526c73bc3915e8da13f2abf0ea1acd Author: Jens Axboe Date: Wed Dec 20 11:23:35 2006 +0100 bsg: use u32 etc instead of uint32_t Signed-off-by: Jens Axboe commit 10e8855b945193a62801429af3aab9f7e27ef56a Author: FUJITA Tomonori Date: Wed Dec 20 11:20:57 2006 +0100 bsg: add SG_IO to SG v4 This adds SG_IO support to SG v4. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 70e36eceaf897da11aa0b4d82b46ca66e65a05f1 Author: FUJITA Tomonori Date: Wed Dec 20 11:20:15 2006 +0100 bsg: replace SG v3 with SG v4 This patch replaces SG v3 in bsg with SG v4 (except for SG_IO). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 45977d0e87ac988d04fccfb89221727aaf8d78a4 Author: FUJITA Tomonori Date: Wed Dec 20 11:19:32 2006 +0100 bsg: add sg_io_v4 structure This patch adds sg_io_v4 structure that Doug proposed last month. There's one major change from the RFC. I dropped iovec, which needs compat stuff. The bsg code simply calls blk_rq_map_user against dout_xferp/din_xferp. So if possible, the page frames are directly mapped. If not possible, the block layer allocates new page frames and does memory copies. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 337ad41deae1b56e56731246322a93251df86e79 Author: FUJITA Tomonori Date: Wed Dec 20 11:18:54 2006 +0100 block: export blk_verify_command for SG v4 blk_fill_sghdr_rq doesn't work for SG v4 so verify_command needed to be exported. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 9e69fbb5373f7c081acdf2b75d7bac7e95023dd1 Author: FUJITA Tomonori Date: Wed Dec 20 11:18:22 2006 +0100 bsg: minor cleanups This just kills linux/config.h and dprintk warnings. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit ac6b91b8035bd269a1fd42474f907d107c074805 Author: FUJITA Tomonori Date: Wed Dec 20 11:17:43 2006 +0100 block: changes for blk_rq_unmap_user new API This converts block/scsi_ioctl.c use blk_rq_unmap_user new API. blk_unmap_sghdr_rq is too simple and it might be better to remove it. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 3d6392cfbd7dc11f23058e3493683afab4ac13a3 Author: Jens Axboe Date: Mon Jul 9 12:38:05 2007 +0200 bsg: support for full generic block layer SG v3 Signed-off-by: Jens Axboe commit ff4135aeb1f9a0201f8e22400ebc1d570df9016e Author: Dave Airlie Date: Mon Jul 16 13:53:57 2007 +1000 drm: remove core typedefs from the ioc32 wrappers Signed-off-by: Dave Airlie commit e509ac4bbc661052dc73a2e8138800ba77d4ecb9 Author: Kristoffer Ericson Date: Mon Jul 16 09:51:39 2007 +0900 sh: sh-rtc support for SH7709. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 655bfd7aebb12481ab9275284d9500bee5ba3e70 Author: Richard Purdie Date: Mon Jul 9 12:17:24 2007 +0100 backlight: Convert from struct class_device to struct device Convert the backlight and LCD classes from struct class_device to struct device since class_device is scheduled for removal. One nasty API break is the backlight power attribute has had to be renamed to bl_power and the LCD power attribute has had to be renamed to lcd_power since the original names clash with the core. I can't see a way around this. Signed-off-by: Richard Purdie Acked-by: Greg Kroah-Hartman commit fa9133c24c4115523c1381b67fdd74fd864ac0ea Author: David Brownell Date: Tue May 29 23:07:10 2007 +0100 backlight: Fix order of Kconfig entries Switch the order of LCD_CLASS_DEVICE and BACKLIGHT_CLASS_DEVICE, so that it's possible to insert LCD devices without borking the dependency displays of xconfig and other config tools. Signed-off-by: David Brownell Signed-off-by: Richard Purdie commit f8a7c6fe14f556ca8eeddce258cb21392d0c3a2f Author: Richard Purdie Date: Sun Jul 8 23:19:31 2007 +0100 leds: Convert from struct class_device to struct device Convert the LEDs class from struct class_device to struct device since class_device is scheduled for removal. Signed-off-by: Richard Purdie Acked-by: Greg Kroah-Hartman commit f9f451d9cac24b9bd49947d1c6971f3d689381fa Author: David Brownell Date: Sun Jul 8 11:49:53 2007 +0100 leds: leds-gpio for ngw100 Add GPIO leds to the NGW100 platform and its defconfig. Access through /sys/class/leds/{a,b,sys}/* files; one defaults to a heartbeat. Signed-off-by: David Brownell Signed-off-by: Richard Purdie commit e3986f6380558b84fef1e7ce7a29fed5bb090721 Author: Richard Purdie Date: Fri May 11 00:12:01 2007 +0100 leds: Add warning printks in error paths Add warning printks if led_trigger_register_simple() fails. Signed-off-by: Richard Purdie commit 3593a6d64d774efb9d7ec80947607401ee6731c0 Author: Richard Purdie Date: Thu May 10 23:46:30 2007 +0100 leds: Fix trigger unregister_simple if register_simple fails Fix led_trigger_unregister_simple to handle the case where led_trigger_register_simple fails, avoiding a NULL pointer dereference. Signed-off-by: Richard Purdie commit 66242f7ec531953fbc2f4040c5ffe1f1ffe6c5c9 Author: Jan Engelhardt Date: Thu May 10 10:44:11 2007 +0100 leds: Use menuconfig objects II - LED Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 00852279af5ad26956bc7f4d0e86fdb40192e542 Author: David Brownell Date: Thu May 10 10:51:41 2007 +0100 leds: Teach leds-gpio to handle timer-unsafe GPIOs Teach the new leds-gpio driver that some GPIOs can't be accessed from timer callbacks ... which is how all today's standard triggers use them. Signed-off-by: David Brownell Signed-off-by: Richard Purdie commit 22e03f3b58dfcca30f0c8de185022132459638d1 Author: Raphael Assenat Date: Tue Feb 27 19:49:53 2007 +0000 leds: Add generic GPIO LED driver This patch adds support for GPIO connected leds via the new GPIO framework. Information about leds (gpio, polarity, name, default trigger) is passed to the driver via platform_data. Signed-off-by: Raphael Assenat Signed-off-by: Richard Purdie commit 2a9915c8a2e532f6c9b435e5f90008d601a87b90 Author: Al Viro Date: Sun Jul 15 21:37:16 2007 +0100 make i2c-acorn tristate It depends on tristate I2C and it's trivial to make modular. The current Kconfig allows I2C=m, I2C_ACORN=y, which doesn't work at all; alternatives are dependency on I2C=y and making I2C_ACORN itself a tristate. The latter is the right thing to do... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds Acked-by: Russell King commit ba5b55d0498bd56b9d60d85c5f654cd7b291e9c8 Author: Al Viro Date: Sun Jul 15 21:01:32 2007 +0100 icside: devm_iounmap() needs linux/io.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds Acked-by: Russell King commit 05bd711ea2862cb1c754903326b7858bc700b2e9 Author: Al Viro Date: Sun Jul 15 21:01:22 2007 +0100 missing argument in bin_attribute ->read()/->write() Fallout from commit 91a6902958f052358899f58683d44e36228d85c2 ('sysfs: add parameter "struct bin_attribute *" ...') Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ececfdee1cc287123149c801af201e41c7c3cc84 Author: Al Viro Date: Sun Jul 15 21:01:12 2007 +0100 fallout from constified seq_operations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8ca7ee6bcc542395cc68202d319a0404ad92b41d Author: Al Viro Date: Sun Jul 15 21:01:02 2007 +0100 fallout from Auke's pci ->revision patch Signed-off-by: Al Viro Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 2832e856fb7238dae0f385e309e66626d81ca0fa Author: Al Viro Date: Sun Jul 15 21:00:51 2007 +0100 ax88796: dev_dbg() wants device, not platform device Signed-off-by: Al Viro Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 22bb3e9e24e08a59efcb49943609ae88b6f628d0 Author: Al Viro Date: Sun Jul 15 21:00:41 2007 +0100 pass -msize-long to sparse on s390 s390 is the only 32bit with unsigned long for size_t (usual for those is unsigned int). Tell sparse... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b4a06918c2534fc9655424e75c879bf523aa5b06 Author: Al Viro Date: Sun Jul 15 21:00:31 2007 +0100 frv: missing __clear_user() Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c248725b616179c43d944ee9f31d507fa483e6c8 Author: Al Viro Date: Sun Jul 15 21:00:21 2007 +0100 zd1211rw: too early inclusion of asm/unaligned.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4381ca3c23b07ba5b567f72325003020ddca0341 Author: Al Viro Date: Sun Jul 15 21:00:11 2007 +0100 fix return type of skb_checksum_complete() It returns __sum16, not unsigned int Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5f17c70fe6d0b8562bf396f7e5638f243ebe4da8 Author: Al Viro Date: Sun Jul 15 21:00:01 2007 +0100 PDA_POWER depends on having request_irq() ... so all proud owners of s390-based PDAs will have to live without that one Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 51ec138c6416e9ed2ba0eae3af5f0ea8a90ae44b Author: Al Viro Date: Sun Jul 15 20:59:51 2007 +0100 ieee1394: forgotten dereference... Going through the string and waiting for _pointer_ to become '\0' is not what the authors meant... Signed-off-by: Al Viro Acked-by: Ben Collins Signed-off-by: Linus Torvalds commit 0e81c666dbf95546b3d9ea6ff7d29ea19b988950 Author: Al Viro Date: Sun Jul 15 20:59:41 2007 +0100 the wrong variable checked after request_irq() Signed-off-by: Al Viro Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 7c9e3c2e3b0437d10a09b77769baf325b94aa436 Author: Al Viro Date: Sun Jul 15 20:59:31 2007 +0100 wrong order of arguments of ->readdir() Shows how many people are testing coda - the bug had been there for 5 years and results of stepping on it are not subtle. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 53b67950026ee642b43615f46df22ec3d36b4a53 Author: Al Viro Date: Sun Jul 15 20:59:22 2007 +0100 minimal fixes for drivers/usb/gadget/m66592-udc.c still looks racy (and definitely leaks) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4a379e6657ae2dd910f9f06d46bd7c05fbe9ed5c Author: Steve French Date: Sun Jul 15 21:58:28 2007 +0000 [CIFS] Fix build break - inet.h not included when experimental ifdef off Signed-off-by: Steve French commit 0909fca51346d0ece688532c54d41ebc986aef7f Author: Andrew Morton Date: Sun Jul 15 22:37:03 2007 +0400 git-battery vs git-acpi drivers/w1/slaves/w1_ds2760.c:85: warning: initialization from incompatible pointer type The ACPI guys changed the bin_attr APIs (commit 91a6902958f052358899f58683d44e36228d85c2) Cc: Anton Vorontsov Cc: Len Brown Signed-off-by: Andrew Morton commit 7b3d54a8c30d2c524889a05d0c1334813d516b93 Author: Anton Vorontsov Date: Sun Jul 15 05:18:25 2007 +0400 Power supply class and drivers: remove non obligatory return statements Per Jeff Garzik request. Signed-off-by: Jeff Garzik Signed-off-by: Anton Vorontsov commit 5ebf6e6a96e41220edec23a90e4140985d1a5732 Author: Jeff Garzik Date: Sat Jul 14 19:12:04 2007 -0400 pda_power: clean up irq, timer Clean up pda_power interrupt handling: Prior to this patch, the driver would pass information it needed to the interrupt handler dev_id pointer, and then prompt forget it ever did so, recreating that same information after a couple passes through the timer-based state machine. This patch removes the redundant checks by passing the pda_power_supply[] pointer through the state machine. The current code passed 'irq' through the state machine, as an index to recreate the pointer, when we could more simply pass around the pointer itself. This patch makes it easier to remove the 'irq' argument in the future, in addition to cleaning up the driver today. Signed-off-by: Jeff Garzik commit 3be86148e7b394b5de2aeb720004f9788a66c300 Author: Anton Vorontsov Date: Sun Jul 15 04:43:36 2007 +0400 MAINTAINERS: Add maintainers for power supply subsystem and drivers Signed-off-by: Anton Vorontsov Acked-by: David Woodhouse commit 9413d7b8aa777dd1fc7db9563ce5e80d769fe7b5 Author: FUJITA Tomonori Date: Sat May 26 00:32:58 2007 +0900 [SCSI] ibmvscsi: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Cc: Santiago Leon Signed-off-by: James Bottomley commit a862ea31655a382488315b701e0820a74faf120d Author: FUJITA Tomonori Date: Sat May 26 02:07:09 2007 +0900 [SCSI] dc395x: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Cc: Jamie Lenehan Signed-off-by: James Bottomley commit 69eca4f52b044edd9890aaa25d74f52e5fcd170e Author: FUJITA Tomonori Date: Mon May 14 19:22:21 2007 +0900 [SCSI] ncr53c8xx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Cc: Matthew Wilcox Signed-off-by: James Bottomley commit 938febd62b860447247eb9b1c3b6bbc99d2c7f81 Author: FUJITA Tomonori Date: Sat May 26 02:31:17 2007 +0900 [SCSI] sym53c8xx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Cc: Matthew Wilcox Signed-off-by: James Bottomley commit cebadc5c97547aa8567ee2d628b187a34869b389 Author: Alan Cox Date: Mon Jul 9 12:00:10 2007 -0700 [SCSI] ppa: coding police and printk levels Add printk levels Clean up some oddities of formatting Fix goto labels Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 75a1099c0bfc5545088cdc9eae2fd98015656595 Author: Satyam Sharma Date: Mon Jul 9 12:00:07 2007 -0700 [SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc drivers/scsi/aic7xxx_old.c:aic7xxx_slave_alloc() unnecessarily passes GFP_ATOMIC (along with GFP_KERNEL) to kmalloc() from a context that is not atomic. Remove the pointless GFP_ATOMIC. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Cc: Doug Ledford Signed-off-by: James Bottomley commit a3f249a242e804b61a14518ec9d5ec8ee48720d7 Author: Satyam Sharma Date: Mon Jul 9 12:00:07 2007 -0700 [SCSI] i2o: remove redundant GFP_ATOMIC from kmalloc from device.c drivers/message/i2o/device.c:i2o_parm_field_get() unnecessarily passes GFP_ATOMIC (along with GFP_KERNEL) to kmalloc() from a context that is not atomic. Remove the pointless GFP_ATOMIC. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 3021c710cbf87c4ac528b737908d0c0669e8098e Author: Adrian Bunk Date: Mon Jul 9 12:00:10 2007 -0700 [SCSI] remove the dead CYBERSTORMIII_SCSI option Not converted to the 2.6 kconfig system and no code in the tree. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 0a9f2a467d8dacaf7e97469dba99ed2d07287d80 Author: Ilpo Järvinen Date: Sun Jul 15 00:19:29 2007 -0700 [TCP]: Verify the presence of RETRANS bit when leaving FRTO For yet unknown reason, something cleared SACKED_RETRANS bit underneath FRTO. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 063ed369c97f8de4cce23bf93bebd7ffacb542ff Author: Vlad Yasevich Date: Sun Jul 15 00:16:35 2007 -0700 [IPV6]: Call inet6addr_chain notifiers on link down Currently if the link is brought down via ip link or ifconfig down, the inet6addr_chain notifiers are not called even though all the addresses are removed from the interface. This caused SCTP to add duplicate addresses to it's list. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit c3bc7cff8fddb6ff9715be8bfc3d911378c4d69d Author: Patrick McHardy Date: Sun Jul 15 00:03:05 2007 -0700 [NET_SCHED]: Kill CONFIG_NET_CLS_POLICE The NET_CLS_ACT option is now a full replacement for NET_CLS_POLICE, remove the old code. The config option will be kept around to select the equivalent NET_CLS_ACT options for a short time to allow easier upgrades. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 73ca4918fbb98311421259d82ef4ab44feeace43 Author: Patrick McHardy Date: Sun Jul 15 00:02:31 2007 -0700 [NET_SCHED]: act_api: qdisc internal reclassify support The behaviour of NET_CLS_POLICE for TC_POLICE_RECLASSIFY was to return it to the qdisc, which could handle it internally or ignore it. With NET_CLS_ACT however, tc_classify starts over at the first classifier and never returns it to the qdisc. This makes it impossible to support qdisc-internal reclassification, which in turn makes it impossible to remove the old NET_CLS_POLICE code without breaking compatibility since we have two qdiscs (CBQ and ATM) that support this. This patch adds a tc_classify_compat function that handles reclassification the old way and changes CBQ and ATM to use it. This again is of course not fully backwards compatible with the previous NET_CLS_ACT behaviour. Unfortunately there is no way to fully maintain compatibility *and* support qdisc internal reclassification with NET_CLS_ACT, but this seems like the better choice over keeping the two incompatible options around forever. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f6853e2df3de82c1dac8f62ddcf3a8dfa302419e Author: Patrick McHardy Date: Sun Jul 15 00:02:10 2007 -0700 [NET_SCHED]: sch_dsmark: act_api support Handle act_api classification results. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9210080445b0c51a73b488750a26eb17177d8684 Author: Patrick McHardy Date: Sun Jul 15 00:01:49 2007 -0700 [NET_SCHED]: sch_atm: act_api support Handle act_api classification results. The ATM scheduler behaves slightly different than other schedulers in that it only handles policer results for successful classifications, this behaviour is retained for the act_api case. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b0188d4dbe5f4285372dd033acf7c92a97006629 Author: Patrick McHardy Date: Sun Jul 15 00:01:25 2007 -0700 [NET_SCHED]: sch_atm: Lindent Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f13ec93fba60d339dc1663eb47b2fb801225d2d2 Author: Dmitry Butskoy Date: Sat Jul 14 23:53:08 2007 -0700 [IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets From: Dmitry Butskoy Taken from http://bugzilla.kernel.org/show_bug.cgi?id=8747 Problem Description: It is related to the possibility to obtain MSG_ERRQUEUE messages from the udp and raw sockets, both connected and unconnected. There is a little typo in net/ipv6/icmp.c code, which prevents such messages to be delivered to the errqueue of the correspond raw socket, when the socket is CONNECTED. The typo is due to swap of local/remote addresses. Consider __raw_v6_lookup() function from net/ipv6/raw.c. When a raw socket is looked up usual way, it is something like: sk = __raw_v6_lookup(sk, nexthdr, daddr, saddr, IP6CB(skb)->iif); where "daddr" is a destination address of the incoming packet (IOW our local address), "saddr" is a source address of the incoming packet (the remote end). But when the raw socket is looked up for some icmp error report, in net/ipv6/icmp.c:icmpv6_notify() , daddr/saddr are obtained from the echoed fragment of the "bad" packet, i.e. "daddr" is the original destination address of that packet, "saddr" is our local address. Hence, for icmpv6_notify() must use "saddr, daddr" in its arguments, not "daddr, saddr" ... Steps to reproduce: Create some raw socket, connect it to an address, and cause some error situation: f.e. set ttl=1 where the remote address is more than 1 hop to reach. Set IPV6_RECVERR . Then send something and wait for the error (f.e. poll() with POLLERR|POLLIN). You should receive "time exceeded" icmp message (because of "ttl=1"), but the socket do not receive it. If you do not connect your raw socket, you will receive MSG_ERRQUEUE successfully. (The reason is that for unconnected socket there are no actual checks for local/remote addresses). Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1b1ac759d7c6bba6e5f4731ef6ea720b6636e27c Author: Jean Delvare Date: Sat Jul 14 20:51:44 2007 -0700 [IPV4]: Cleanup call to __neigh_lookup() Back in the times of Linux 2.2, negative values for the creat parameter of __neigh_lookup() had a particular meaning, but no longer, so we should pass 1 instead. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit 0621ed2e4edbe2f6f83dafbf85eecefae7aaf2e8 Author: Patrick McHardy Date: Sat Jul 14 20:49:26 2007 -0700 [NET_SCHED]: Revert "avoid transmit softirq on watchdog wakeup" optimization As noticed by Ranko Zivojnovic , calling qdisc_run from the timer handler can result in deadlock: > CPU#0 > > qdisc_watchdog() fires and gets dev->queue_lock > qdisc_run()...qdisc_restart()... > -> releases dev->queue_lock and enters dev_hard_start_xmit() > > CPU#1 > > tc del qdisc dev ... > qdisc_graft()...dev_graft_qdisc()...dev_deactivate()... > -> grabs dev->queue_lock ... > > qdisc_reset()...{cbq,hfsc,htb,netem,tbf}_reset()...qdisc_watchdog_cancel()... > -> hrtimer_cancel() - waiting for the qdisc_watchdog() to exit, while still > holding dev->queue_lock > > CPU#0 > > dev_hard_start_xmit() returns ... > -> wants to get dev->queue_lock(!) > > DEADLOCK! The entire optimization is a bit questionable IMO, it moves potentially large parts of NET_TX_SOFTIRQ work to TIMER_SOFTIRQ/HRTIMER_SOFTIRQ, which kind of defeats the separation of them. Signed-off-by: Patrick McHardy Acked-by: Ranko Zivojnovic Signed-off-by: David S. Miller commit 59eecdfb166f6846ae356ddc744abed5820ad965 Author: Patrick McHardy Date: Sat Jul 14 20:48:44 2007 -0700 [NETFILTER]: nf_conntrack: UDPLITE support Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 61075af51f252913401c41fbe94075b46c94e9f1 Author: Patrick McHardy Date: Sat Jul 14 20:48:19 2007 -0700 [NETFILTER]: nf_conntrack: mark protocols __read_mostly Also remove two unnecessary EXPORT_SYMBOLs and move the nf_conntrack_l3proto_ipv4 declaration to the correct file. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 370786f9cfd430cb424f00ce4110e75bb1b95a19 Author: Jan Engelhardt Date: Sat Jul 14 20:47:26 2007 -0700 [NETFILTER]: x_tables: add connlimit match ipt_connlimit has been sitting in POM-NG for a long time. Here is a new shiny xt_connlimit with: * xtables'ified * will request the layer3 module (previously it hotdropped every packet when it was not loaded) * fixed: there was a deadlock in case of an OOM condition * support for any layer4 protocol (e.g. UDP/SCTP) * using jhash, as suggested by Eric Dumazet * ipv6 support Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a887c1c148ffb3eb1c193e9869ca5297c6e22078 Author: Patrick McHardy Date: Sat Jul 14 20:46:15 2007 -0700 [NETFILTER]: Lower *tables printk severity Lower ip6tables, arptables and ebtables printk severity similar to Dan Aloni's patch for iptables. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 130e7a83d7ec8c5c673225e0fa8ea37b1ed507a5 Author: Yasuyuki Kozakai Date: Sat Jul 14 20:45:41 2007 -0700 [NETFILTER]: nf_conntrack: Don't track locally generated special ICMP error The conntrack assigned to locally generated ICMP error is usually the one assigned to the original packet which has caused the error. But if the original packet is handled as invalid by nf_conntrack, no conntrack is assigned to the original packet. Then nf_ct_attach() cannot assign any conntrack to the ICMP error packet. In that case the current nf_conntrack_icmp assigns appropriate conntrack to it. But the current code mistakes the direction of the packet. As a result, NAT code mistakes the address to be mangled. To fix the bug, this changes nf_conntrack_icmp not to assign conntrack to such ICMP error. Actually no address is necessary to be mangled in this case. Spotted by Jordan Russell. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e2a3123fbe58da9fd3f35cd242087896ace6049f Author: Yasuyuki Kozakai Date: Sat Jul 14 20:45:14 2007 -0700 [NETFILTER]: nf_conntrack: Introduces nf_ct_get_tuplepr and uses it nf_ct_get_tuple() requires the offset to transport header and that bothers callers such as icmp[v6] l4proto modules. This introduces new function to simplify them. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ffc30690480bdd337e4914302b926d24870b56b2 Author: Yasuyuki Kozakai Date: Sat Jul 14 20:44:50 2007 -0700 [NETFILTER]: nf_conntrack: make l3proto->prepare() generic and renames it The icmp[v6] l4proto modules parse headers in ICMP[v6] error to get tuple. But they have to find the offset to transport protocol header before that. Their processings are almost same as prepare() of l3proto modules. This makes prepare() more generic to simplify icmp[v6] l4proto module later. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d87d8469e2dd19a3a134b99f78288d41854c614b Author: Yasuyuki Kozakai Date: Sat Jul 14 20:44:23 2007 -0700 [NETFILTER]: nf_conntrack: Increment error count on parsing IPv4 header Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6460d948f3ebf7d5040328a60a0ab7221f69945b Author: Michael Chan Date: Sat Jul 14 19:07:52 2007 -0700 [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. Add ethtool utility function to set or clear IPV6_CSUM feature flag. Modify tg3.c and bnx2.c to use this function when doing ethtool -K to change tx checksum. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit febca281f677a775c61cd0572c2f35e4ead9e7d5 Author: Ursula Braun Date: Sat Jul 14 19:04:25 2007 -0700 [AF_IUCV]: Add lock when updating accept_q The accept_queue of an af_iucv socket will be corrupted, if adding and deleting of entries in this queue occurs at the same time (connect request from one client, while accept call is processed for another client). Solution: add locking when updating accept_q Signed-off-by: Ursula Braun Acked-by: Frank Pavlic Signed-off-by: David S. Miller commit 13fdc9a74df0fec70f421c6891e184ed8c3b9088 Author: Ursula Braun Date: Sat Jul 14 19:03:41 2007 -0700 [AF_IUCV]: Avoid deadlock between iucv_path_connect and tasklet. An iucv deadlock may occur, where one CPU is spinning on the iucv_table_lock for iucv_tasklet_fn(), while another CPU is holding the iucv_table_lock for an iucv_path_connect() and is waiting for the first CPU in an smp_call_function. Solution: replace spin_lock in iucv_tasklet_fn by spin_trylock and reschedule tasklet in case of non-granted lock. Signed-off-by: Ursula Braun Acked-by: Frank Pavlic Signed-off-by: David S. Miller commit da7de31cc50796a53593785d4508b7b7ffa9a9b2 Author: Jennifer Hunt Date: Sat Jul 14 19:03:00 2007 -0700 [AF_IUCV]: Improve description of IUCV and AFIUCV configuration options. Signed-off-by: Jennifer Hunt Signed-off-by: Ursula Braun >braunu@de.ibm.com> Acked-by: Frank Pavlic Signed-off-by: David S. Miller commit acd159b6b5828175be6b9ccccd9b054239ec63e9 Author: Adrian Bunk Date: Sat Jul 14 19:00:59 2007 -0700 [INET_SOCK]: make net/ipv4/inet_timewait_sock.c:__inet_twsk_kill() static This patch makes the needlessly global __inet_twsk_kill() static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit b3b0b681b12478a7afa7d1f3d58be96830e16c7d Author: Stephen Hemminger Date: Sat Jul 14 18:57:19 2007 -0700 [TCP]: tcp probe add back ssthresh field Sangtae noticed the ssthresh got missed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a7ecfc866578e665e20004a2f5fff5b73e8be3bc Author: Patrick McHardy Date: Sat Jul 14 18:56:30 2007 -0700 [VLAN]: Fix memset length Fix sizeof(ETH_ALEN) Introduced by my rtnl_link patches. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b863ceb7ddcea8c55fcf1d7b2ac591d50aa7ed53 Author: Patrick McHardy Date: Sat Jul 14 18:55:06 2007 -0700 [NET]: Add macvlan driver Add macvlan driver, which allows to create virtual ethernet devices based on MAC address. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 56addd6eeeb4e11f5a0af7093ca078e0f29140e0 Author: Patrick McHardy Date: Sat Jul 14 18:53:28 2007 -0700 [VLAN]: Use multicast list synchronization helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde Author: Patrick McHardy Date: Sat Jul 14 18:52:56 2007 -0700 [VLAN]: Fix promiscous/allmulti synchronization races The set_multicast_list function may be called without holding the rtnl mutex, resulting in races when changing the underlying device's promiscous and allmulti state. Use the change_rx_mode hook, which is always invoked under the rtnl. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a0a400d79e3dd7843e7e81baa3ef2957bdc292d0 Author: Patrick McHardy Date: Sat Jul 14 18:52:02 2007 -0700 [NET]: dev_mcast: add multicast list synchronization helpers The method drivers currently use to synchronize multicast lists is not very pretty: - walk the multicast list - search each entry on a copy of the previous list - if new add to lower device - walk the copy of the previous list - search each entry on the current list - if removed delete from lower device - copy entire list This patch adds a new field to struct dev_addr_list to store the synchronization state and adds two helper functions for synchronization and cleanup. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 24023451c8df726692e2f52288a20870d13b501f Author: Patrick McHardy Date: Sat Jul 14 18:51:31 2007 -0700 [NET]: Add net_device change_rx_mode callback Currently the set_multicast_list (and set_rx_mode) callbacks are responsible for configuring the device according to the IFF_PROMISC, IFF_MULTICAST and IFF_ALLMULTI flags and the mc_list (and uc_list in case of set_rx_mode). These callbacks can be invoked from BH context without the rtnl_mutex by dev_mc_add/dev_mc_delete, which makes reading the device flags and promiscous/allmulti count racy. For real hardware drivers that just commit all changes to the hardware this is not a real problem since the stack guarantees to call them for every change, so at least the final call will not race and commit the correct configuration to the hardware. For software devices that want to synchronize promiscous and multicast state to an underlying device however this can cause corruption of the underlying device's flags or promisc/allmulti counts. When the software device is concurrently put in promiscous or allmulti mode while set_multicast_list is invoked from bottem half context, the device might synchronize the change to the underlying device without holding the rtnl_mutex, which races with concurrent changes to the underlying device. Add a dev->change_rx_flags hook that is invoked when any of the flags that affect rx filtering change (under the rtnl_mutex), which allows drivers to perform synchronization immediately and only synchronize the address lists in set_multicast_list/set_rx_mode. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e6c9116d1dc984cb7ecf1b0fe26ca4a8ab36bb57 Author: Ingo Molnar Date: Sat Jul 14 18:50:15 2007 -0700 [RFKILL]: fix net/rfkill/rfkill-input.c bug on 64-bit systems Subject: [patch] net/input: fix net/rfkill/rfkill-input.c bug on 64-bit systems this recent commit: commit cf4328cd949c2086091c62c5685f1580fe9b55e4 Author: Ivo van Doorn Date: Mon May 7 00:34:20 2007 -0700 [NET]: rfkill: add support for input key to control wireless radio added this 64-bit bug: .... unsigned int flags; spin_lock_irqsave(&task->lock, flags); .... irq 'flags' must be unsigned long, not unsigned int. The -rt tree has strict checks about this on 64-bit so this triggered a build failure. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 2d785a50a8aa404c19f56d2c22445e48e418112b Author: Steve French Date: Sun Jul 15 01:48:57 2007 +0000 [CIFS] Add support for new POSIX unlink In the cleanup phase of the dbench test, we were noticing sharing violation followed by failed directory removals when dbench did not close the test files before the cleanup phase started. Using the new POSIX unlink, which Samba has supported for a few months, avoids this. Signed-off-by: Steve French commit 7689e82efdb636e8a076a1293b977bce313110c5 Author: Cornelia Huck Date: Mon Jul 9 11:59:59 2007 -0700 [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA With dma-mapping-prevent-dma-dependent-code-from-linking-on.patch scsi fails to build on !HAS_DMA architectures: drivers/built-in.o(.text+0x20af6): In function `scsi_dma_map': : undefined reference to `dma_map_sg' drivers/built-in.o(.text+0x20b5c): In function `scsi_dma_unmap': : undefined reference to `dma_unmap_sg' I split those functions out into a new file. Builds on s390 and i386. Move scsi_dma_{map,unmap} into scsi_lib_dma.c which is only build if HAS_DMA is set. Signed-off-by: Cornelia Huck Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: James Bottomley Cc: Jeff Garzik Cc: Christoph Hellwig Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 6d877688ef411313c94aa3c83c7473fbec6db32c Author: Matthew Wilcox Date: Wed Jul 11 12:54:55 2007 -0600 [SCSI] Clean up scsi_add_lun a bit This patch tidies up scsi_add_lun a bit. I rewrote the kerneldoc to match the actual parameters, moved the check for RBC and MMC REPORT_LUN devices away from the switch(), changed the setup of sdev->type to account for BLIST_ISROM, moved the check for BLIST_NO_ULD_ATTACH further down in the function, removed a bogus comment and fixed some whitespace issues. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 0cba35e42ce58a5b20319f9f57f9aa4ce37daf76 Author: Thomas Bogendoerfer Date: Wed Jul 11 19:08:31 2007 +0200 [SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs remove printk, which triggers because of low scsi clock on SNI RMs Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 2da8658910580787ced4abc668adfb0f09710efb Author: Thomas Bogendoerfer Date: Wed Jul 11 19:09:36 2007 +0200 [SCSI] sni_53c710: Cleanup - base address is now a physical address; no need to convert it - remove not needed error printk in module init function Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 6ea7e33ee1b74de9b60327fec1a0cd39afac3983 Author: David C Somayajulu Date: Mon Jul 9 12:44:36 2007 -0700 [SCSI] qla4xxx: Fix underrun/overrun conditions On Wed, 2007-06-06 at 11:55 -0700, David C Somayajulu wrote: This patch fixes the code handling underrun and overrun conditions. Also fixed coding style as per Mike Christie's advice. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit 0c2cc4337968f7aab91a91b8d5889982e3a3bd0d Author: Matthias Kaehlcke Date: Mon Jul 9 12:00:11 2007 -0700 [SCSI] megaraid_mbox: use mutex instead of semaphore The Megaraid Mailbox driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: "Patro, Sumant" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 5fa0f5e47a87ceb8a3269b28fa14764b37364f63 Author: Salyzyn, Mark Date: Mon Jul 9 09:57:11 2007 -0400 [SCSI] aacraid: add 51245, 51645 and 52245 adapters to documentation. Adding Adaptec 51245 (16 port), 51645 (20 port) and 52445 (28 port) Universal Serial RAID controllers to the aacraid documentation. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit cad7d7858bde1c1a6c1132ec8cad2b3abfacbd0d Author: Seokmann Ju Date: Thu Jul 5 13:17:01 2007 -0700 [SCSI] qla2xxx: update version to 8.02.00-k1. Following patch bump up the driver version reflecting NPIV addition to the qla2xxx. - version changed from 8.01.07-k7 to 8.02.00-k1. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit 2c3dfe3f6ad8daff5acdb01713e4f2b116e78136 Author: Seokmann Ju Date: Thu Jul 5 13:16:51 2007 -0700 [SCSI] qla2xxx: add support for NPIV Following patch adds support for NPIV (N-Port ID Virtualization) to the qla2xxx. - supported within switched-fabric topologies only. - supports up to 63 virtual ports on each physical port. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit 968a5763fb7247feb0e69573a2975a7a0c094267 Author: Ed Lin Date: Thu Jul 5 12:09:06 2007 -0700 [SCSI] stex: use resid for xfer len information The original implementation in stex_ys_commands() is inappropriate. For xfer len information, we should use resid instead. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 80dc3e062a8f82acd5852df15f6b4bc3359de871 Author: Matthew Wilcox Date: Thu Jul 5 08:57:50 2007 -0600 [SCSI] Add Brownie 1200U3P to blacklist The Brownie 1200U3P has the same problem with REPORT LUNS as the 1600U3P. Add it to the blacklist. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a73e45b3da2be548c8f45cf887e4171a8f39a3c3 Author: Boaz Harrosh Date: Wed Jul 4 21:26:01 2007 +0300 [SCSI] scsi.c: convert to use the data buffer accessors - a couple of prints, they can use the accessors Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 0ab179bcf31fd54c7b34b4191ea8591267641e92 Author: Boaz Harrosh Date: Wed Jul 4 21:18:55 2007 +0300 [SCSI] tmscsim: Further clean-up of the driver - The saved sg_count was a leftover from the time the driver was doing dma mapping by himself. But now that scsi-ml is called for the mapping it is not the drivers responsibility. Signed-off-by: Boaz Harrosh Acked-by: G. Liakhovetski Signed-off-by: James Bottomley commit cde760856ce3a88bcceb02f208bcd259c2a71c4c Author: Geert Uytterhoeven Date: Thu Jun 28 13:53:02 2007 +0200 [SCSI] CONFIG_SCSI_FD_8xx no longer exists CONFIG_SCSI_FD_8xx no longer exists. Apparently it was renamed to CONFIG_SCSI_SEAGATE, but the Makefile was not correctly updated. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit da3962fe63eae4f490356cb54e4700eac752541b Author: Akinobu Mita Date: Tue Jun 26 00:39:33 2007 +0900 [SCSI] sr: fix error handling in module_init Sweep registered blkdev when scsi_register_driver has failed. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: James Bottomley commit a57850379e389829a2fc569733b41da3d52bf366 Author: James Bottomley Date: Sat Jul 14 18:47:04 2007 -0500 [SCSI] lpfc: Fix NPIV compile problem drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_create_port': drivers/scsi/lpfc/lpfc_init.c:1573: error: 'struct kobject' has no member named 'dentry' Just remove the if check on this ... lpfc shouldn't be poking around in kobject structures. drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_pci_probe_one': drivers/scsi/lpfc/lpfc_init.c:1723: warning: unused variable 'retval' And remove the unused variable. Cc: James Smart Signed-off-by: James Bottomley commit c59fd9ebc46da8d48b76955d4d48e3597f8c8726 Author: FUJITA Tomonori Date: Wed Jul 4 06:03:11 2007 -0700 [SCSI] lpfc: fix NPIV mapping problems This patch uses dma_map_sg with phba->pcidev->dev instead of scsi_dma_map. scsi_dma_map doesn't work for NPIV since fc_vport->dev isn't fully initialized. check_addr() in arch/x86_64/kernel/pci-nommu.c leads to the crash since dev->dma_mask is NULL. For more details: http://marc.info/?l=linux-scsi&m=118312448030633&w=2 Signed-off-by: FUJITA Tomonori Acked-by: James Smart Signed-off-by: James Bottomley commit d4bd4cd0630060a64681590b9405b87e43c11f14 Author: Boaz Harrosh Date: Tue Jul 3 18:12:35 2007 +0300 [SCSI] lpfc: add missed data buffer accessor This is an addendum to: commit a0b4f78f9a4c869e9b29f254054ad7441cb40bbf Author: FUJITA Tomonori [SCSI] lpfc: convert to use the data buffer accessors One place was missed in the merge Signed-off-by: Boaz Harrosh Acked-by: James Smart Signed-off-by: James Bottomley commit d0f656cad313bb04a151273bb57e108b2cc9876f Author: Priyanka Gupta Date: Tue Jun 19 14:02:10 2007 -0700 [SCSI] Remove unused method scsi_device_cancel Removes an obsolete method scsi_device_cancel which isn't being used anywhere in the kernel. Signed-off-by: Priyanka Gupta Acked-by: Grant Grundler Signed-off-by: James Bottomley commit 0af8887ebf4556a76680a61b0bb156d934702c63 Author: Eric Van Hensbergen Date: Fri Jul 13 16:47:58 2007 -0500 9p: fix a race condition bug in umount which caused a segfault umounting partitions after heavy activity would sometimes trigger a segmentation violation. This fix appears to remove that problem. Fix originally provided by Latchesar Ionkov. Signed-off-by: Eric Van Hensbergen commit 9e2f6688c0b52882496aff576b009bc1f7eea0b8 Author: Eric Van Hensbergen Date: Fri Jul 13 13:05:21 2007 -0500 9p: re-enable mount time debug option During reorganization, the mount time debug option was removed in favor of module-load-time parameters. However, the mount time option is still a useful for feature during debug and for user-fault isolation when the module is compiled into the kernel. Signed-off-by: Eric Van Hensbergen commit 9523a841b109765f8779236d28be6458ee3a6824 Author: Eric Van Hensbergen Date: Fri Jul 13 13:01:27 2007 -0500 9p: cache meta-data when cache=loose This patch expands the impact of the loose cache mode to allow for cached metadata increasing the performance of directory listings and other metadata read operations. Signed-off-by: Eric Van Hensbergen commit 1d6b5602381524c339af2c2fdfe42ad0a01464a4 Author: Latchesar Ionkov Date: Wed Jul 11 15:14:46 2007 -0600 net/9p: set error to EREMOTEIO if trans->write returns zero If trans->write returns 0, p9_write_work goes through the error path, but sets the error code to zero. This patch sets the error code to EREMOTEIO if trans->write returns zero value. Signed-off-by: Latchesar Ionkov commit e46662be7fddde3464bf208317542c2f8df13d0b Author: Latchesar Ionkov Date: Wed Jul 11 15:13:54 2007 -0600 net/9p: change net/9p module name to 9pnet Change module name of net/9p module from 9p.ko to 9pnet.ko. fs/9p module already uses 9p.ko name. Signed-off-by: Latchesar Ionkov commit bd238fb431f31989898423c8b6496bc8c4204a86 Author: Latchesar Ionkov Date: Tue Jul 10 17:57:28 2007 -0500 9p: Reorganization of 9p file system code This patchset moves non-filesystem interfaces of v9fs from fs/9p to net/9p. It moves the transport, packet marshalling and connection layers to net/9p leaving only the VFS related files in fs/9p. This work is being done in preparation for in-kernel 9p servers as well as alternate 9p clients (other than VFS). Signed-off-by: Latchesar Ionkov Signed-off-by: Eric Van Hensbergen commit 2c95cd71f8df36de4a063cec879d49fb8b462e8e Author: Mike Frysinger Date: Sun Jul 15 02:33:26 2007 +0800 Blackfin On-Chip RTC driver update for supporting BF54x Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4af4b84088696777e222a5b0e3f55a81935bc9cc Author: Michael Hennerich Date: Wed Jul 25 14:09:54 2007 +0800 Blackfin Ethernet MAC driver: fix bug Report returned -ENOMEM upwards (in case L1/uncached memory alloc fails) Bug tracker: https://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3399 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 50e163ce8e3cb17d41367899fbf50a17e358cc89 Author: Michael Hennerich Date: Tue Jul 24 16:17:28 2007 +0800 Blackfin arch: add error message when IRQ no available Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 8be80ed3f74a60e1af5a30e6b4fa4f744911676e Author: Bernd Schmidt Date: Wed Jul 25 14:44:49 2007 +0800 Blackfin arch: Initialize the exception vectors early in the boot process Initialize the exception vectors early in the boot process, so that CPLB faults can be handled when memory protection is enabled. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit d6e274ddb51fa0f9241d7348813351051275d71b Author: Bryan Wu Date: Tue Jul 24 15:38:16 2007 +0800 Blackfin arch: fix a compiling warning about dma-mapping Signed-off-by: Bryan Wu commit 12a7991180f44e7d993a3a0a442890fc3de67f57 Author: Mike Frysinger Date: Wed Jul 25 10:25:29 2007 +0800 Blackfin arch: switch to using proper defines this time THREAD_SIZE and PAGE_SIZE instead of just PAGE_SIZE everywhere Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0fa63ad7d1450a7ea2b5e5f60bbc64f5ed5a5adc Author: Bernd Schmidt Date: Wed Jul 25 10:19:59 2007 +0800 Blackfin arch: fix bug which unaligns the init thread's stack and causes the current macro to fail. switch to using proper defines this time (THREAD_SIZE and PAGE_SIZE) instead of just PAGE_SIZE everywhere Signed-off-by: Mike Frysinger Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit f1b927dc851a2eb1e13a8d21aca18036f6cb8629 Author: Bernd Schmidt Date: Tue Jul 24 18:17:15 2007 +0800 Blackfin arch: Load P0 before storing through it Fortunately this function is only used on old 533 revisions. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 64c5cb8608a8b393bfc80214e4593738b60638c5 Author: Sonic Zhang Date: Wed Jul 25 10:46:45 2007 +0800 Blackfin arch: fix KGDB bug, dont forget last parameter. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit e2dd3f1ecd95dc0a4f352f7c0b0d561cf62bc5c5 Author: Mike Frysinger Date: Tue Jul 24 18:20:18 2007 +0800 Blackfin arch: add selections for BF544 and BF542 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit e5b6bd61f2b38fbadf72ea7835ee1b1de6d7530b Author: Mike Frysinger Date: Tue Jul 24 16:59:37 2007 +0800 Blackfin arch: use bfin_read_SWRST() now that BF561 provides it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 315a8e34f7c12609947f9b435faae451aaa5dd41 Author: Mike Frysinger Date: Tue Jul 24 15:58:41 2007 +0800 Blackfin arch: setup aliases for some core Core A MMRs setup aliases for some core Core A MMRs to ease porting in cases where common code would actually want Core A (or Core B MMR is reserved) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0f1145cc18e970ebe37da114fc34c297f135e062 Author: David Chinner Date: Fri Jun 29 17:26:09 2007 +1000 [XFS] Fix lockdep annotations for xfs_lock_inodes SGI-PV: 967035 SGI-Modid: xfs-linux-melb:xfs-kern:29026a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit d7f0923d83dcabfc063257a281529cdbcd5eedb5 Author: David Chinner Date: Sat Jul 14 16:05:04 2007 +1000 [LIB]: export radix_tree_preload() XFS filestreams functionality uses radix trees and the preload functions. XFS can be built as a module and hence we need radix_tree_preload() exported. radix_tree_preload_end() is a static inline, so it doesn't need exporting. Signed-Off-By: Dave Chinner Signed-Off-By: Tim Shimmin commit faa63e9584df41020440756b8b90b7b63f95e4f6 Author: Michal Marek Date: Wed Jul 11 11:10:19 2007 +1000 [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode * 32bit struct xfs_fsop_bulkreq has different size and layout of members, no matter the alignment. Move the code out of the #else branch (why was it there in the first place?). Define _32 variants of the ioctl constants. * 32bit struct xfs_bstat is different because of time_t and on i386 because of different padding. Make xfs_bulkstat_one() accept a custom "output formatter" in the private_data argument which takes care of the xfs_bulkstat_one_compat() that takes care of the different layout in the compat case. * i386 struct xfs_inogrp has different padding. Add a similar "output formatter" mecanism to xfs_inumbers(). SGI-PV: 967354 SGI-Modid: xfs-linux-melb:xfs-kern:29102a Signed-off-by: Michal Marek Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 1fa503df66f7bffc0ff62662626897eec79446c2 Author: Michal Marek Date: Wed Jul 11 11:10:09 2007 +1000 [XFS] Compat ioctl handler for handle operations 32bit struct xfs_fsop_handlereq has different size and offsets (due to pointers). TODO: case XFS_IOC_{FSSETDM,ATTRLIST,ATTRMULTI}_BY_HANDLE still not handled. SGI-PV: 967354 SGI-Modid: xfs-linux-melb:xfs-kern:29101a Signed-off-by: Michal Marek Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 547e00c3c681265b1fe5e34c7643f3ddac748ba0 Author: Michal Marek Date: Wed Jul 11 11:09:57 2007 +1000 [XFS] Compat ioctl handler for XFS_IOC_FSGEOMETRY_V1. i386 struct xfs_fsop_geom_v1 has no padding after the last member, so the size is different. SGI-PV: 967354 SGI-Modid: xfs-linux-melb:xfs-kern:29100a Signed-off-by: Michal Marek Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 3a59c94c4b48878c6af047cdfc8c137d0fa7a0f0 Author: Eric Sandeen Date: Wed Jul 11 11:09:47 2007 +1000 [XFS] Clean up function name handling in tracing code Remove the hardcoded "fnames" for tracing, and just embed them in tracing macros via __FUNCTION__. Kills a lot of #ifdefs too. SGI-PV: 967353 SGI-Modid: xfs-linux-melb:xfs-kern:29099a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit b11f94d537e6b69f13770143fd7ded3d09fdbaab Author: David Chinner Date: Wed Jul 11 11:09:33 2007 +1000 [XFS] Quota inode has no parent. Avoid using a special "zero inode" as the parent of the quota inode as this can confuse the filestreams code into thinking the quota inode has a parent. We do not want the quota inode to follow filestreams allocation rules, so pass a NULL as the parent inode and detect this condition when doing stream associations. SGI-PV: 964469 SGI-Modid: xfs-linux-melb:xfs-kern:29098a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 2a82b8be8a8dacb48cb7371449a7a9daa558b4a8 Author: David Chinner Date: Wed Jul 11 11:09:12 2007 +1000 [XFS] Concurrent Multi-File Data Streams In media spaces, video is often stored in a frame-per-file format. When dealing with uncompressed realtime HD video streams in this format, it is crucial that files do not get fragmented and that multiple files a placed contiguously on disk. When multiple streams are being ingested and played out at the same time, it is critical that the filesystem does not cross the streams and interleave them together as this creates seek and readahead cache miss latency and prevents both ingest and playout from meeting frame rate targets. This patch set creates a "stream of files" concept into the allocator to place all the data from a single stream contiguously on disk so that RAID array readahead can be used effectively. Each additional stream gets placed in different allocation groups within the filesystem, thereby ensuring that we don't cross any streams. When an AG fills up, we select a new AG for the stream that is not in use. The core of the functionality is the stream tracking - each inode that we create in a directory needs to be associated with the directories' stream. Hence every time we create a file, we look up the directories' stream object and associate the new file with that object. Once we have a stream object for a file, we use the AG that the stream object point to for allocations. If we can't allocate in that AG (e.g. it is full) we move the entire stream to another AG. Other inodes in the same stream are moved to the new AG on their next allocation (i.e. lazy update). Stream objects are kept in a cache and hold a reference on the inode. Hence the inode cannot be reclaimed while there is an outstanding stream reference. This means that on unlink we need to remove the stream association and we also need to flush all the associations on certain events that want to reclaim all unreferenced inodes (e.g. filesystem freeze). SGI-PV: 964469 SGI-Modid: xfs-linux-melb:xfs-kern:29096a Signed-off-by: David Chinner Signed-off-by: Barry Naujok Signed-off-by: Donald Douwsma Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin Signed-off-by: Vlad Apostolov commit 0892ccd6fe13e08ad9e57007afbb78fe02d66005 Author: Andrew Morton Date: Thu Jun 28 16:46:56 2007 +1000 [XFS] Use uninitialized_var macro to stop warning about rtx Appease gcc in regards to "warning: 'rtx' is used uninitialized in this function". SGI-PV: 907752 SGI-Modid: xfs-linux-melb:xfs-kern:29007a Signed-off-by: Andrew Morton Signed-off-by: Tim Shimmin commit fbf3ce8d8ec508f6bd99b36de034d2ae3e1ae7ac Author: Christoph Hellwig Date: Thu Jun 28 16:46:47 2007 +1000 [XFS] XFS should not be looking at filp reference counts A check for file_count is always a bad idea. Linux has the ->release method to deal with cleanups on last close and ->flush is only for the very rare case where we want to perform an operation on every drop of a reference to a file struct. This patch gets rid of vop_close and surrounding code in favour of simply doing the page flushing from ->release. SGI-PV: 966562 SGI-Modid: xfs-linux-melb:xfs-kern:28952a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 16a087d8e1af9b974125870dceb9e4a35249ad1d Author: Vignesh Babu Date: Thu Jun 28 16:46:37 2007 +1000 [XFS] Use is_power_of_2 instead of open coding checks SGI-PV: 966576 SGI-Modid: xfs-linux-melb:xfs-kern:28950a Signed-off-by: Vignesh Babu Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit bbaaf53808c778bda24f8245a440c5ceacc1a37d Author: Christoph Hellwig Date: Thu Jun 28 16:43:50 2007 +1000 [XFS] Reduce shouting by removing unnecessary macros from dir2 code. SGI-PV: 966505 SGI-Modid: xfs-linux-melb:xfs-kern:28947a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 54aa8e26e90da882b145fcd33ed752431d6b318b Author: David Chinner Date: Thu Jun 28 16:43:39 2007 +1000 [XFS] Simplify XFS min/max macros. SGI-PV: 964547 SGI-Modid: xfs-linux-melb:xfs-kern:28945a Signed-off-by: David Chinner Signed-off-by: Nathan Scott Signed-off-by: Tim Shimmin commit 24ad33ff714bd117cab30e71e2ad41e4e1185108 Author: Eric Sandeen Date: Thu Jun 28 16:43:30 2007 +1000 [XFS] Kill off xfs_count_bits xfs_count_bits is only called once, and is then compared to 0. IOW, what it really wants to know is, is the bitmap empty. This can be done more simply, certainly. SGI-PV: 966503 SGI-Modid: xfs-linux-melb:xfs-kern:28944a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 87ae3c2411cfd280e8289e232b718fae9f63950b Author: Jesper Juhl Date: Thu Jun 28 16:43:14 2007 +1000 [XFS] Cancel transactions on xfs_itruncate_start error. SGI-PV: 966502 SGI-Modid: xfs-linux-melb:xfs-kern:28943a Signed-off-by: Jesper Juhl Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 39726be2a2e6e61f352852da2c3a807773e33346 Author: Christoph Hellwig Date: Mon Jun 18 17:57:45 2007 +1000 [XFS] Use do_div() on 64 bit types. SGI-PV: 966145 SGI-Modid: xfs-linux-melb:xfs-kern:28889a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 516b2e7c2661615ba5d5ad9fb584f068363502d3 Author: David Chinner Date: Mon Jun 18 16:50:48 2007 +1000 [XFS] Fix remount,readonly path to flush everything correctly. The remount readonly path can fail to writeback properly because we still have active transactions after calling xfs_quiesce_fs(). Further investigation shows that this path is broken in the same ways that the xfs freeze path was broken so fix it the same way. SGI-PV: 964464 SGI-Modid: xfs-linux-melb:xfs-kern:28869a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 957d0ebed04239b734552c7da3fae9094b6f090c Author: David Chinner Date: Mon Jun 18 16:50:37 2007 +1000 [XFS] Cleanup inode extent size hint extraction SGI-PV: 966004 SGI-Modid: xfs-linux-melb:xfs-kern:28866a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 84e1e99f112dead8f9ba036c02d24a9f5ce7f544 Author: David Chinner Date: Mon Jun 18 16:50:27 2007 +1000 [XFS] Prevent ENOSPC from aborting transactions that need to succeed During delayed allocation extent conversion or unwritten extent conversion, we need to reserve some blocks for transactions reservations. We need to reserve these blocks in case a btree split occurs and we need to allocate some blocks. Unfortunately, we've only ever reserved the number of data blocks we are allocating, so in both the unwritten and delalloc case we can get ENOSPC to the transaction reservation. This is bad because in both cases we cannot report the failure to the writing application. The fix is two-fold: 1 - leverage the reserved block infrastructure XFS already has to reserve a small pool of blocks by default to allow specially marked transactions to dip into when we are at ENOSPC. Default setting is min(5%, 1024 blocks). 2 - convert critical transaction reservations to be allowed to dip into this pool. Spots changed are delalloc conversion, unwritten extent conversion and growing a filesystem at ENOSPC. This also allows growing the filesytsem to succeed at ENOSPC. SGI-PV: 964468 SGI-Modid: xfs-linux-melb:xfs-kern:28865a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 641c56fbfeae85d5ec87fee90a752f7b7224f236 Author: David Chinner Date: Mon Jun 18 16:50:17 2007 +1000 [XFS] Prevent deadlock when flushing inodes on unmount When we are unmounting the filesystem, we flush all the inodes to disk. Unfortunately, if we have an inode cluster that has just been freed and marked stale sitting in an incore log buffer (i.e. hasn't been flushed to disk), it will be holding all the flush locks on the inodes in that cluster. xfs_iflush_all() which is called during unmount walks all the inodes trying to reclaim them, and it doing so calls xfs_finish_reclaim() on each inode. If the inode is dirty, if grabs the flush lock and flushes it. Unfortunately, find dirty inodes that already have their flush lock held and so we sleep. At this point in the unmount process, we are running single-threaded. There is nothing more that can push on the log to force the transaction holding the inode flush locks to disk and hence we deadlock. The fix is to issue a log force before flushing the inodes on unmount so that all the flush locks will be released before we start flushing the inodes. SGI-PV: 964538 SGI-Modid: xfs-linux-melb:xfs-kern:28862a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 0164af51cedf46e1d58fd53854373f544150c597 Author: Tim Shimmin Date: Mon Jun 18 16:50:08 2007 +1000 [XFS] Log the agf_length change in xfs_growfs_data_private(). SGI-PV: 963528 SGI-Modid: xfs-linux-melb:xfs-kern:28856a Signed-off-by: Tim Shimmin Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig commit effd120edb7609069cca9f3d1cb4bfae464b2f85 Author: David Chinner Date: Mon Jun 18 16:49:58 2007 +1000 [XFS] Map unwritten extents correctly for I/o completion processing If we have multiple unwritten extents within a single page, we fail to tell the I/o completion construction handlers we need a new handle for the second and subsequent blocks in the page. While we still issue the I/O correctly, we do not have the correct ranges recorded in the ioend structures and hence when we go to convert the unwritten extents we screw it up. Make sure we start a new ioend every time the mapping changes so that we convert the correct ranges on I/O completion. SGI-PV: 964647 SGI-Modid: xfs-linux-melb:xfs-kern:28797a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 45c34141126a89da07197d5b89c04c6847f1171a Author: David Chinner Date: Mon Jun 18 16:49:44 2007 +1000 [XFS] Apply transaction delta counts atomically to incore counters With the per-cpu superblock counters, batch updates are no longer atomic across the entire batch of changes. This is not an issue if each individual change in the batch is applied atomically. Unfortunately, free block count changes are not applied atomically, and they are applied in a manner guaranteed to cause problems. Essentially, the free block count reservation that the transaction took initially is returned to the in core counters before a second delta takes away what is used. because these two operations are not atomic, we can race with another thread that can use the returned transaction reservation before the transaction takes the space away again and we can then get ENOSPC being reported in a spot where we don't have an ENOSPC condition, nor should we ever see one there. Fix it up by rolling the two deltas into the one so it can be applied safely (i.e. atomically) to the incore counters. SGI-PV: 964465 SGI-Modid: xfs-linux-melb:xfs-kern:28796a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit b2826136a1fc3ea451bcbb73a75ca50b3231aa8f Author: David Chinner Date: Tue Jun 5 16:24:44 2007 +1000 [XFS] Handle null returned from xfs_vtoi() in xfs_setfilesize(). SGI-PV: 965636 SGI-Modid: xfs-linux-melb:xfs-kern:28777a Signed-off-by: David Chinner Signed-off-by: Olaf Weber Signed-off-by: Tim Shimmin commit e927af90aaa7d75543edbbd9c2810e6963d0443f Author: David Chinner Date: Tue Jun 5 16:24:36 2007 +1000 [XFS] Block on unwritten extent conversion during synchronous direct I/O. Currently we do not wait on extent conversion to occur, and hence we can return to userspace from a synchronous direct I/O write without having completed all the actions in the write. Hence a read after the write may see zeroes (unwritten extent) rather than the data that was written. Block the I/O completion by triggering a synchronous workqueue flush to ensure that the conversion has occurred before we return to userspace. SGI-PV: 964092 SGI-Modid: xfs-linux-melb:xfs-kern:28775a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit f4a9f28a909debe97cd3f6ca30e82e5811125bff Author: David Chinner Date: Tue Jun 5 16:24:27 2007 +1000 [XFS] Flush the block device before closing it on unmount. SGI-PV: 965630 SGI-Modid: xfs-linux-melb:xfs-kern:28774a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 4e5ae8386b55677bde05bbd38b8fc82c67ad4564 Author: David Chinner Date: Tue Jun 5 16:24:15 2007 +1000 [XFS] xfs_bmapi fails to update the previous extent pointer When processing multiple extent maps, xfs_bmapi needs to keep track of the extent behind the one it is currently working on to be able to trim extent ranges correctly. Failing to update the previous pointer can result in corrupted extent lists in memory and this will result in panics or assert failures. Update the previous pointer correctly when we move to the next extent to process. SGI-PV: 965631 SGI-Modid: xfs-linux-melb:xfs-kern:28773a Signed-off-by: David Chinner Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 210c6f1caa451623e14a7cd71000d2c2e0d9cc43 Author: David Chinner Date: Thu May 24 15:26:51 2007 +1000 [XFS] Fix the transaction flags to make lazy superblock counters work. SGI-PV: 964999 SGI-Modid: xfs-linux-melb:xfs-kern:28653a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 92821e2ba4ae26887223326fb0b95cdab963b768 Author: David Chinner Date: Thu May 24 15:26:31 2007 +1000 [XFS] Lazy Superblock Counters When we have a couple of hundred transactions on the fly at once, they all typically modify the on disk superblock in some way. create/unclink/mkdir/rmdir modify inode counts, allocation/freeing modify free block counts. When these counts are modified in a transaction, they must eventually lock the superblock buffer and apply the mods. The buffer then remains locked until the transaction is committed into the incore log buffer. The result of this is that with enough transactions on the fly the incore superblock buffer becomes a bottleneck. The result of contention on the incore superblock buffer is that transaction rates fall - the more pressure that is put on the superblock buffer, the slower things go. The key to removing the contention is to not require the superblock fields in question to be locked. We do that by not marking the superblock dirty in the transaction. IOWs, we modify the incore superblock but do not modify the cached superblock buffer. In short, we do not log superblock modifications to critical fields in the superblock on every transaction. In fact we only do it just before we write the superblock to disk every sync period or just before unmount. This creates an interesting problem - if we don't log or write out the fields in every transaction, then how do the values get recovered after a crash? the answer is simple - we keep enough duplicate, logged information in other structures that we can reconstruct the correct count after log recovery has been performed. It is the AGF and AGI structures that contain the duplicate information; after recovery, we walk every AGI and AGF and sum their individual counters to get the correct value, and we do a transaction into the log to correct them. An optimisation of this is that if we have a clean unmount record, we know the value in the superblock is correct, so we can avoid the summation walk under normal conditions and so mount/recovery times do not change under normal operation. One wrinkle that was discovered during development was that the blocks used in the freespace btrees are never accounted for in the AGF counters. This was once a valid optimisation to make; when the filesystem is full, the free space btrees are empty and consume no space. Hence when it matters, the "accounting" is correct. But that means the when we do the AGF summations, we would not have a correct count and xfs_check would complain. Hence a new counter was added to track the number of blocks used by the free space btrees. This is an *on-disk format change*. As a result of this, lazy superblock counters are a mkfs option and at the moment on linux there is no way to convert an old filesystem. This is possible - xfs_db can be used to twiddle the right bits and then xfs_repair will do the format conversion for you. Similarly, you can convert backwards as well. At some point we'll add functionality to xfs_admin to do the bit twiddling easily.... SGI-PV: 964999 SGI-Modid: xfs-linux-melb:xfs-kern:28652a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 3260f78ad6d5b788e78ea709d377f58e569bee41 Author: Andrew Morton Date: Thu May 24 15:25:42 2007 +1000 [XFS] Use generic shrinker interfaces in XFS. SGI-PV: 964986 SGI-Modid: xfs-linux-melb:xfs-kern:28642a Signed-Off-By: Andrew Morton Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 92dfe8d266eaf35a50607a0e0dcf525e1d367c80 Author: David Chinner Date: Thu May 24 15:22:19 2007 +1000 [XFS] Make hole punching at EOF atomic. If hole punching at EOF is done as two steps (i.e. truncate then extend) the file is in a transient state between the two steps where an application can see the incorrect file size. Punching a hole to EOF needs to be treated in teh same way as all other hole punching cases so that the file size is never seen to change. SGI-PV: 962012 SGI-Modid: xfs-linux-melb:xfs-kern:28641a Signed-off-by: David Chinner Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 511105b3d7c2440ee84fc3f90d200569aac88162 Author: David Chinner Date: Thu May 24 15:21:57 2007 +1000 [XFS] Fix vmalloc leak on mount/unmount. When setting the length of the iclogbuf to write out we should just be changing the desired byte count rather completely reassociating the buffer memory with the buffer. Reassociating the buffer memory changes the apparent length of the buffer and hence when we free the buffer, we don't free all the vmap()d space we originally allocated. SGI-PV: 964983 SGI-Modid: xfs-linux-melb:xfs-kern:28640a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit ca165b88927e41ad18908d7b37f08ef81eae0bf8 Author: Christoph Hellwig Date: Thu May 24 15:21:11 2007 +1000 [XFS] Fix double free in xfs_buf_get_noaddr error handling path SGI-PV: 964983 SGI-Modid: xfs-linux-melb:xfs-kern:28639a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 3db296f341b5902c4f9317022ae5d4da2d59d598 Author: David Chinner Date: Mon May 14 18:24:16 2007 +1000 [XFS] Fix use-after-free during log unmount. Don't reference the log buffer after running the callbacks as the callback can trigger the log buffers to be freed during unmount. SGI-PV: 964545 SGI-Modid: xfs-linux-melb:xfs-kern:28567a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 40095b64f5da601a8ab61fbe4b40feb46830052e Author: David Chinner Date: Mon May 14 18:24:09 2007 +1000 [XFS] Sleeping with the ilock waiting for I/O completion is Bad. Recent fixes to the filesystem freezing code introduced a vn_iowait call in the middle of the sync code. Unfortunately, at the point where this call was added we are holding the ilock. The ilock is needed by I/O completion for unwritten extent conversion and now updating the file size. Hence I/o cannot complete if we hold the ilock while waiting for I/O completion. Fix up the bug and clean the code up around it. SGI-PV: 963674 SGI-Modid: xfs-linux-melb:xfs-kern:28566a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 4cc929ee305c69573cb842aade059dbe2a93940c Author: Nathan Scott Date: Mon May 14 18:24:02 2007 +1000 [XFS] Don't grow filesystems past the size they can index. When growing a filesystem we don't check to see if the new size overflows the page cache index range, so we can do silly things like grow a filesystem page 16TB on a 32bit. Check new filesystem sizes against the limits the kernel can support. SGI-PV: 957886 SGI-Modid: xfs-linux-melb:xfs-kern:28563a Signed-Off-By: Nathan Scott Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 1fa40b01ae4d1b00e366d4949edcc230f5cd6d99 Author: Christoph Hellwig Date: Mon May 14 18:23:50 2007 +1000 [XFS] Only use refcounted pages for I/O Many block drivers (aoe, iscsi) really want refcountable pages in bios, which is what almost everyone send down. XFS unfortunately has a few places where it sends down buffers that may come from kmalloc, which breaks them. Fix the places that use kmalloc()d buffers. SGI-PV: 964546 SGI-Modid: xfs-linux-melb:xfs-kern:28562a Signed-Off-By: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 8d9107e8c50e1c4ff43c91c8841805833f3ecfb9 Author: Linus Torvalds Date: Fri Jul 13 16:53:18 2007 -0700 Revert "SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel" This reverts commit 9faf65fb6ee2b4e08325ba2d69e5ccf0c46453d0. It bit people like Michal Piotrowski: "My system is too secure, I can not login :)" because it changed how CONFIG_NETLABEL worked, and broke older SElinux policies. As a result, quoth James Morris: "Can you please revert this patch? We thought it only affected people running MLS, but it will affect others. Sorry for the hassle." Cc: James Morris Cc: Stephen Smalley Cc: Michal Piotrowski Cc: Paul Moore Signed-off-by: Linus Torvalds commit 4fbef206daead133085fe33905f5e842d38fb8da Author: Jens Axboe Date: Fri Jul 13 22:42:20 2007 +0200 nfsd: fix nfsd_vfs_read() splice actor setup When nfsd was transitioned to use splice instead of sendfile() for data transfers, a line setting the page index was lost. Restore it, so that nfsd is functional when that path is used. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 4fd885170bf13841ada921495b7b00c4b9971cf9 Author: Thomas Gleixner Date: Fri Jul 13 21:43:55 2007 +0200 CFS: Fix missing digit off in wmult table Roman Zippel noticed another inconsistency of the wmult table. wmult[16] has a missing digit. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 4f8de2745629330d78776282ea490fece22ee5e4 Author: Tony Luck Date: Fri Jul 13 16:31:54 2007 -0700 [IA64] Clean away some code inside some non-existent CONFIG ifdefs Robert P.J. Day has a script that finds places in the code that use non-existent CONFIG variables. It complained of two uses in ia64 specific code: CONFIG_IA64_SDV and CONFIG_KDB (both used in the hp/sim code). Signed-off-by: Tony Luck commit 829a9996259e4d0b20ce7b94c49b985d6ba6b760 Author: Hidetoshi Seto Date: Fri Jul 13 16:21:44 2007 -0700 [IA64] ar.itc access must really be after xtime_lock.sequence has been read The ".acq" semantics of the load only apply w.r.t. other data access. Reading the clock (ar.itc) isn't a data access so strange things can happen here. Specifically the read of ar.itc can be launched as soon as the read of xtime_lock.sequence is ISSUED. Since this may cache miss, and that might cause a thread switch, and there may be cache contention for the line containing xtime_lock, it may be a long time before the actual value is returned, so the ar.itc value may be very stale. Move the consumption of r28 up before the read of ar.itc to make sure that we really have got the current value of xtime_lock.sequence before look at ar.itc. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 83e12a076e3587d60cfbe65a761ef54e14a264e3 Author: Mark Goodwin Date: Fri Jul 13 11:59:37 2007 +1000 [IA64] correctly count CPU objects in the ia64/sn hwperf interface Correctly count CPU objects for SGI ia64/sn hwperf interface Signed-off-by: Mark Goodwin Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit 788b5f0834ea1566b931cf1ce8424027b3c4caf0 Author: Alan Cox Date: Mon Jul 9 11:42:24 2007 -0700 [IA64] arbitary speed tty ioctl support Add the needed constants and defines to activate this for the IA64 platform. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 8b69ad0e690eb5f38c23087247a12e5fde1baeff Author: Linus Torvalds Date: Fri Jul 13 10:43:52 2007 -0700 Revert "[CPUFREQ] powernow-k8: clarify number of cores." This reverts commit 904f7a3f042b5c6aa9e53ce83f2c9de5e33170ff. As noted by Peter Anvin: "It causes build failures on i386. Yet another case of unnecessary divergence between i386 and x86-64 I'm afraid..." Signed-off-by: Linus Torvalds commit f787a50306680c187cf2896a8017937c1bf6dc7e Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: small topology.h cleanup trivial cleanup: LOCAL_DISTANCE and REMOTE_DISTANCE are only used in topology.h and inside an #ifndef section - limit their existence to that #ifndef. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 4bd77321a833077c5c9ac7b9d284e261e4a8906e Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: fix show_task()/show_tasks() output fix show_task()/show_tasks() output: - there's no sibling info anymore - the fields were not aligned properly with the description - get rid of the lazy-TLB output: it's been quite some time since we last had a bug there, and when we had a bug it wasnt helped a bit by this debug output. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 45f384a64f0769bb9a3caf0516de88a629f48e61 Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: remove stale version info from kernel/sched_debug.c kernel/sched_debug.c referred to CFS -v20, but there's no CFS versioning needed within the upstream kernel. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit a5968df8737eda477d9d1038f5428ebd4d0884e1 Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: allow larger granularity Allow granularity up to 100 msecs, instead of 10 msecs. (needed on larger boxes) Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit e127031f4f76dc367c5d2f9d883715730dd82f7d Author: Mike Galbraith Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: fix prio_to_wmult[] for nice 1 There's a typo in the values in prio_to_wmult[] for nice level 1. While it did not cause bad CPU distribution, but caused more rescheduling between nice-0 and nice-1 tasks than necessary. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit f24ae12b3eeb1b956b752d4d5907e311cfa95a1a Author: Atsushi Nemoto Date: Sat Jul 14 00:06:44 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/mach-tx4927/ioremap.h include2/asm/mach-tx49xx/ioremap.h:39:52: warning: cast truncates bits from constant value (fff000000 becomes ff000000) Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e1bb828906e54ffb7e8b358516158ffdcf9581b8 Author: Atsushi Nemoto Date: Fri Jul 13 23:51:46 2007 +0900 [MIPS] Make show_code static and add __user tag Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 01bebc66793f2cc65104452dc319a8a99f005934 Author: Atsushi Nemoto Date: Fri Jul 13 23:51:38 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/compat.h Cast to a __user pointer via "unsigned long" to get rid of this warning: include2/asm/compat.h:135:10: warning: cast adds address space to expression () Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 5e0373b8e449b0c72495a6d8401c53f678b71988 Author: Atsushi Nemoto Date: Fri Jul 13 23:02:42 2007 +0900 [MIPS] Add some __user tags Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e70dfc10b99ebffa1f464b1b9290df2589284f70 Author: Atsushi Nemoto Date: Fri Jul 13 23:02:29 2007 +0900 [MIPS] math-emu minor cleanup Declaring emulpc and contpc as "unsigned long" can get rid of some casts. This also get rid of some sparse warnings. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e50e1c744df20e704441a99eef7c6414e6920712 Author: Atsushi Nemoto Date: Fri Jul 13 02:00:26 2007 +0900 [MIPS] Kill CONFIG_TX4927BUG_WORKAROUND Kill workarounds for very early chip (perhaps pre-TX4927A). Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b58f4b7aaf5ddaf2fdc13dfeb3ce6e61d51c3ac5 Author: Ralf Baechle Date: Fri Jul 13 10:40:23 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_FB_XPERT98 Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 85a882bc3553636930bef7773201955c0e2fcf99 Author: Ralf Baechle Date: Fri Jul 13 06:45:48 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_SRC_CLK Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 8f597acab2742b7ae9a556613c389ffa914cdbbd Author: Ralf Baechle Date: Fri Jul 13 06:42:36 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_USE32K Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 6fec2e1727049ce6a404f4af61461d860594d5db Author: Ralf Baechle Date: Fri Jul 13 06:33:09 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1XXX_PSC_SPI Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 33f60da0dad0884256f888c19303e16c95d2086d Author: Ralf Baechle Date: Fri Jul 13 17:39:59 2007 +0100 [CHAR] Delete leftovers of old Alchemy UART driver Signed-off-by: Ralf Baechle commit 51b58e3e26ebfb8cd56825c4b396ed251f51dec9 Author: Terry Loftin Date: Thu Jul 12 17:23:22 2007 -0600 [IA64] use machvec=dig on hpzx1 platforms On HP zx1 machines, the 'machvec=dig' parameter is needed for the kdump kernel to avoid problems with the HP sba iommu. The problem is that during the boot of the kdump kernel, the iommu is re-initialized, so in-flight DMA from improperly shutdown drivers causes an IOTLB miss which leads to an MCA. With kdump, the idea is to get into the kdump kernel with as little code as we can, so shutting down drivers properly is not an option. The workaround is to add 'machvec=dig' to the kdump kernel boot parameters. This makes the kdump kernel avoid using the sba iommu altogether, leaving the IOTLB intact. Any ongoing DMA falls harmlessly outside the kdump kernel. After the kdump kernel reboots, all devices will have been shutdown properly and DMA stopped. This patch pushes that functionality into the sba iommu initialization code, so that users won't have to find the obscure documentation telling them about 'machvec=dig'. This patch only affects HP platforms. It still includes one extern declaration in the file, because no applicable header file exists. Signed-off-by: Terry Loftin Signed-off-by: Alex Williamson Signed-off-by: Tony Luck commit 3039f0735a280b54c7364fbfe6a9287f7f0b510a Author: Dan Williams Date: Fri Jul 13 08:06:19 2007 -0700 ioatdma: add the unisys "i/oat" pci vendor/device id Cc: John Magolan Signed-off-by: Shannon Nelson Signed-off-by: Dan Williams commit 5816815f7850509ed51ab94eb4f644e405ccb865 Author: Dan Williams Date: Tue Jan 2 11:10:43 2007 -0700 ARM: Add drivers/dma to arch/arm/Kconfig Cc: Russell King Signed-off-by: Dan Williams commit 2492c845189a961a92d8537a44d233e8e1e45c6d Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver Adds the platform device definitions and the architecture specific support routines (i.e. register initialization and descriptor formats) for the iop-adma driver. Changelog: * add support for > 1k zero sum buffer sizes * added dma/aau platform devices to iq80321 and iq80332 setup * fixed the calculation in iop_desc_is_aligned * support xor buffer sizes larger than 16MB * fix places where software descriptors are assumed to be contiguous, only hardware descriptors are contiguous for up to a PAGE_SIZE buffer size * convert to async_tx * add interrupt support * add platform devices for 80219 boards * do not call platform register macros in driver code * remove switch() statements for compatible register offsets/layouts * change over to bitmap based capabilities * remove unnecessary ARM assembly statement * checkpatch.pl fixes * gpl v2 only correction * phys move to dma_async_tx_descriptor Cc: Russell King Signed-off-by: Dan Williams commit 39a8d7d13c113e4a98bfdfc45c7233188e4d715f Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 iop13xx: surface the iop13xx adma units to the iop-adma driver Adds the platform device definitions and the architecture specific support routines (i.e. register initialization and descriptor formats) for the iop-adma driver. Changelog: * added 'descriptor pool size' to the platform data * add base support for buffer sizes larger than 16MB (hw max) * build error fix from Kirill A. Shutemov * rebase for async_tx changes * add interrupt support * do not call platform register macros in driver code * remove unnecessary ARM assembly statement * checkpatch.pl fixes * gpl v2 only correction Cc: Russell King Signed-off-by: Dan Williams commit c211092313b90f898dec61f35207fc282d1eadc3 Author: Dan Williams Date: Tue Jan 2 13:52:26 2007 -0700 dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines The Intel(R) IOP series of i/o processors integrate an Xscale core with raid acceleration engines. The capabilities per platform are: iop219: (2) copy engines iop321: (2) copy engines (1) xor and block fill engine iop33x: (2) copy and crc32c engines (1) xor, xor zero sum, pq, pq zero sum, and block fill engine iop34x (iop13xx): (2) copy, crc32c, xor, xor zero sum, and block fill engines (1) copy, crc32c, xor, xor zero sum, pq, pq zero sum, and block fill engine The driver supports the features of the async_tx api: * asynchronous notification of operation completion * implicit (interupt triggered) handling of inter-channel transaction dependencies The driver adapts to the platform it is running by two methods. 1/ #include which defines the hardware specific iop_chan_* and iop_desc_* routines as a series of static inline functions 2/ The private platform data attached to the platform_device defines the capabilities of the channels 20070626: Callbacks are run in a tasklet. Given the recent discussion on LKML about killing tasklets in favor of workqueues I did a quick conversion of the driver. Raid5 resync performance dropped from 50MB/s to 30MB/s, so the tasklet implementation remains until a generic softirq interface is available. Changelog: * fixed a slot allocation bug in do_iop13xx_adma_xor that caused too few slots to be requested eventually leading to data corruption * enabled the slot allocation routine to attempt to free slots before returning -ENOMEM * switched the cleanup routine to solely use the software chain and the status register to determine if a descriptor is complete. This is necessary to support other IOP engines that do not have status writeback capability * make the driver iop generic * modified the allocation routines to understand allocating a group of slots for a single operation * added a null xor initialization operation for the xor only channel on iop3xx * support xor operations on buffers larger than the hardware maximum * split the do_* routines into separate prep, src/dest set, submit stages * added async_tx support (dependent operations initiation at cleanup time) * simplified group handling * added interrupt support (callbacks via tasklets) * brought the pending depth inline with ioat (i.e. 4 descriptors) * drop dma mapping methods, suggested by Chris Leech * don't use inline in C files, Adrian Bunk * remove static tasklet declarations * make iop_adma_alloc_slots easier to read and remove chances for a corrupted descriptor chain * fix locking bug in iop_adma_alloc_chan_resources, Benjamin Herrenschmidt * convert capabilities over to dma_cap_mask_t * fixup sparse warnings * add descriptor flush before iop_chan_enable * checkpatch.pl fixes * gpl v2 only correction * move set_src, set_dest, submit to async_tx methods * move group_list and phys to async_tx Cc: Russell King Signed-off-by: Dan Williams commit f6dff381af01006ffae3c23cd2e07e30584de0ec Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: remove raid5 compute_block and compute_parity5 replaced by raid5_run_ops Signed-off-by: Dan Williams Acked-By: NeilBrown commit 830ea01673a397798d1281d2022615559f5001bb Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - request io processing in raid5_run_ops I/O submission requests were already handled outside of the stripe lock in handle_stripe. Now that handle_stripe is only tasked with finding work, this logic belongs in raid5_run_ops. Signed-off-by: Dan Williams Acked-By: NeilBrown commit f0a50d3754c7f1b7f05f45b1c0b35d20445316b5 Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - add request/completion logic for async expand ops When a stripe is being expanded bulk copying takes place to move the data from the old stripe to the new. Since raid5_run_ops only operates on one stripe at a time these bulk copies are handled in-line under the stripe lock. In the dma offload case we poll for the completion of the operation. After the data has been copied into the new stripe the parity needs to be recalculated across the new disks. We reuse the existing postxor functionality to carry out this calculation. By setting STRIPE_OP_POSTXOR without setting STRIPE_OP_BIODRAIN the completion path in handle stripe can differentiate expand operations from normal write operations. Signed-off-by: Dan Williams Acked-By: NeilBrown commit b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8 Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - add request/completion logic for async read ops When a read bio is attached to the stripe and the corresponding block is marked R5_UPTODATE, then a read (biofill) operation is scheduled to copy the data from the stripe cache to the bio buffer. handle_stripe flags the blocks to be operated on with the R5_Wantfill flag. If new read requests arrive while raid5_run_ops is running they will not be handled until handle_stripe is scheduled to run again. Changelog: * cleanup to_read and to_fill accounting * do not fail reads that have reached the cache Signed-off-by: Dan Williams Acked-By: NeilBrown commit e89f89629b5de76e504d1be75c82c4a6b2419583 Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - add request/completion logic for async check ops Check operations are scheduled when the array is being resynced or an explicit 'check/repair' command was sent to the array. Previously check operations would destroy the parity block in the cache such that even if parity turned out to be correct the parity block would be marked !R5_UPTODATE at the completion of the check. When the operation can be carried out by a dma engine the assumption is that it can check parity as a read-only operation. If raid5_run_ops notices that the check was handled by hardware it will preserve the R5_UPTODATE status of the parity disk. When a check operation determines that the parity needs to be repaired we reuse the existing compute block infrastructure to carry out the operation. Repair operations imply an immediate write back of the data, so to differentiate a repair from a normal compute operation the STRIPE_OP_MOD_REPAIR_PD flag is added. Changelog: * remove test_and_set/test_and_clear BUG_ONs, Neil Brown Signed-off-by: Dan Williams Acked-By: NeilBrown commit f38e12199a94ca458e4f03c5a2c984fb80adadc5 Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: handle_stripe5 - add request/completion logic for async compute ops handle_stripe will compute a block when a backing disk has failed, or when it determines it can save a disk read by computing the block from all the other up-to-date blocks. Previously a block would be computed under the lock and subsequent logic in handle_stripe could use the newly up-to-date block. With the raid5_run_ops implementation the compute operation is carried out a later time outside the lock. To preserve the old functionality we take advantage of the dependency chain feature of async_tx to flag the block as R5_Wantcompute and then let other parts of handle_stripe operate on the block as if it were up-to-date. raid5_run_ops guarantees that the block will be ready before it is used in another operation. However, this only works in cases where the compute and the dependent operation are scheduled at the same time. If a previous call to handle_stripe sets the R5_Wantcompute flag there is no facility to pass the async_tx dependency chain across successive calls to raid5_run_ops. The req_compute variable protects against this case. Changelog: * remove the req_compute BUG_ON Signed-off-by: Dan Williams Acked-By: NeilBrown commit e33129d84130459dbb764a1a52a4bfceab3da978 Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: handle_stripe5 - add request/completion logic for async write ops After handle_stripe5 decides whether it wants to perform a read-modify-write, or a reconstruct write it calls handle_write_operations5. A read-modify-write operation will perform an xor subtraction of the blocks marked with the R5_Wantprexor flag, copy the new data into the stripe (biodrain) and perform a postxor operation across all up-to-date blocks to generate the new parity. A reconstruct write is run when all blocks are already up-to-date in the cache so all that is needed is a biodrain and postxor. On the completion path STRIPE_OP_PREXOR will be set if the operation was a read-modify-write. The STRIPE_OP_BIODRAIN flag is used in the completion path to differentiate write-initiated postxor operations versus expansion-initiated postxor operations. Completion of a write triggers i/o to the drives. Changelog: * make the 'rcw' parameter to handle_write_operations5 a simple flag, Neil Brown * remove test_and_set/test_and_clear BUG_ONs, Neil Brown Signed-off-by: Dan Williams Acked-By: NeilBrown commit d84e0f10d38393f617227f0c831a99c69294651f Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: common infrastructure for running operations with raid5_run_ops All the handle_stripe operations that are to be transitioned to use raid5_run_ops need a method to coherently gather work under the stripe-lock and hand that work off to raid5_run_ops. The 'get_stripe_work' routine runs under the lock to read all the bits in sh->ops.pending that do not have the corresponding bit set in sh->ops.ack. This modified 'pending' bitmap is then passed to raid5_run_ops for processing. The transition from 'ack' to 'completion' does not need similar protection as the existing release_stripe infrastructure will guarantee that handle_stripe will run again after a completion bit is set, and handle_stripe can tolerate a sh->ops.completed bit being set while the lock is held. A call to async_tx_issue_pending_all() is added to raid5d to kick the offload engines once all pending stripe operations work has been submitted. This enables batching of the submission and completion of operations. Signed-off-by: Dan Williams Acked-By: NeilBrown commit 91c00924846a0034020451c280c76baa4299f9dc Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: raid5_run_ops - run stripe operations outside sh->lock When the raid acceleration work was proposed, Neil laid out the following attack plan: 1/ move the xor and copy operations outside spin_lock(&sh->lock) 2/ find/implement an asynchronous offload api The raid5_run_ops routine uses the asynchronous offload api (async_tx) and the stripe_operations member of a stripe_head to carry out xor+copy operations asynchronously, outside the lock. To perform operations outside the lock a new set of state flags is needed to track new requests, in-flight requests, and completed requests. In this new model handle_stripe is tasked with scanning the stripe_head for work, updating the stripe_operations structure, and finally dropping the lock and calling raid5_run_ops for processing. The following flags outline the requests that handle_stripe can make of raid5_run_ops: STRIPE_OP_BIOFILL - copy data into request buffers to satisfy a read request STRIPE_OP_COMPUTE_BLK - generate a missing block in the cache from the other blocks STRIPE_OP_PREXOR - subtract existing data as part of the read-modify-write process STRIPE_OP_BIODRAIN - copy data out of request buffers to satisfy a write request STRIPE_OP_POSTXOR - recalculate parity for new data that has entered the cache STRIPE_OP_CHECK - verify that the parity is correct STRIPE_OP_IO - submit i/o to the member disks (note this was already performed outside the stripe lock, but it made sense to add it as an operation type The flow is: 1/ handle_stripe sets STRIPE_OP_* in sh->ops.pending 2/ raid5_run_ops reads sh->ops.pending, sets sh->ops.ack, and submits the operation to the async_tx api 3/ async_tx triggers the completion callback routine to set sh->ops.complete and release the stripe 4/ handle_stripe runs again to finish the operation and optionally submit new operations that were previously blocked Note this patch just defines raid5_run_ops, subsequent commits (one per major operation type) modify handle_stripe to take advantage of this routine. Changelog: * removed ops_complete_biodrain in favor of ops_complete_postxor and ops_complete_write. * removed the raid5_run_ops workqueue * call bi_end_io for reads in ops_complete_biofill, saves a call to handle_stripe * explicitly handle the 2-disk raid5 case (xor becomes memcpy), Neil Brown * fix race between async engines and bi_end_io call for reads, Neil Brown * remove unnecessary spin_lock from ops_complete_biofill * remove test_and_set/test_and_clear BUG_ONs, Neil Brown * remove explicit interrupt handling for channel switching, this feature was absorbed (i.e. it is now implicit) by the async_tx api * use return_io in ops_complete_biofill Signed-off-by: Dan Williams Acked-By: NeilBrown commit 45b4233caac05da0118b608a9fc2a40a9fc580cd Author: Dan Williams Date: Mon Jul 9 11:56:43 2007 -0700 raid5: replace custom debug PRINTKs with standard pr_debug Replaces PRINTK with pr_debug, and kills the RAID5_DEBUG definition in favor of the global DEBUG definition. To get local debug messages just add '#define DEBUG' to the top of the file. Signed-off-by: Dan Williams Acked-By: NeilBrown commit a445685647e825c713175d180ffc8dd54d90589b Author: Dan Williams Date: Mon Jul 9 11:56:43 2007 -0700 raid5: refactor handle_stripe5 and handle_stripe6 (v3) handle_stripe5 and handle_stripe6 have very deep logic paths handling the various states of a stripe_head. By introducing the 'stripe_head_state' and 'r6_state' objects, large portions of the logic can be moved to sub-routines. 'struct stripe_head_state' consumes all of the automatic variables that previously stood alone in handle_stripe5,6. 'struct r6_state' contains the handle_stripe6 specific variables like p_failed and q_failed. One of the nice side effects of the 'stripe_head_state' change is that it allows for further reductions in code duplication between raid5 and raid6. The following new routines are shared between raid5 and raid6: handle_completed_write_requests handle_requests_to_failed_array handle_stripe_expansion Changes: * v2: fixed 'conf->raid_disk-1' for the raid6 'handle_stripe_expansion' path * v3: removed the unused 'dirty' field from struct stripe_head_state * v3: coalesced open coded bi_end_io routines into return_io() Signed-off-by: Dan Williams Acked-By: NeilBrown commit 9bc89cd82d6f88fb0ca39b30445c329a430fd66b Author: Dan Williams Date: Tue Jan 2 11:10:44 2007 -0700 async_tx: add the async_tx api The async_tx api provides methods for describing a chain of asynchronous bulk memory transfers/transforms with support for inter-transactional dependencies. It is implemented as a dmaengine client that smooths over the details of different hardware offload engine implementations. Code that is written to the api can optimize for asynchronous operation and the api will fit the chain of operations to the available offload resources. I imagine that any piece of ADMA hardware would register with the 'async_*' subsystem, and a call to async_X would be routed as appropriate, or be run in-line. - Neil Brown async_tx exploits the capabilities of struct dma_async_tx_descriptor to provide an api of the following general format: struct dma_async_tx_descriptor * async_(..., struct dma_async_tx_descriptor *depend_tx, dma_async_tx_callback cb_fn, void *cb_param) { struct dma_chan *chan = async_tx_find_channel(depend_tx, ); struct dma_device *device = chan ? chan->device : NULL; int int_en = cb_fn ? 1 : 0; struct dma_async_tx_descriptor *tx = device ? device->device_prep_dma_(chan, len, int_en) : NULL; if (tx) { /* run asynchronously */ ... tx->tx_set_dest(addr, tx, index); ... tx->tx_set_src(addr, tx, index); ... async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); } else { /* run synchronously */ ... ... async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param); } return tx; } async_tx_find_channel() returns a capable channel from its pool. The channel pool is organized as a per-cpu array of channel pointers. The async_tx_rebalance() routine is tasked with managing these arrays. In the uniprocessor case async_tx_rebalance() tries to spread responsibility evenly over channels of similar capabilities. For example if there are two copy+xor channels, one will handle copy operations and the other will handle xor. In the SMP case async_tx_rebalance() attempts to spread the operations evenly over the cpus, e.g. cpu0 gets copy channel0 and xor channel0 while cpu1 gets copy channel 1 and xor channel 1. When a dependency is specified async_tx_find_channel defaults to keeping the operation on the same channel. A xor->copy->xor chain will stay on one channel if it supports both operation types, otherwise the transaction will transition between a copy and a xor resource. Currently the raid5 implementation in the MD raid456 driver has been converted to the async_tx api. A driver for the offload engines on the Intel Xscale series of I/O processors, iop-adma, is provided in a later commit. With the iop-adma driver and async_tx, raid456 is able to offload copy, xor, and xor-zero-sum operations to hardware engines. On iop342 tiobench showed higher throughput for sequential writes (20 - 30% improvement) and sequential reads to a degraded array (40 - 55% improvement). For the other cases performance was roughly equal, +/- a few percentage points. On a x86-smp platform the performance of the async_tx implementation (in synchronous mode) was also +/- a few percentage points of the original implementation. According to 'top' on iop342 CPU utilization drops from ~50% to ~15% during a 'resync' while the speed according to /proc/mdstat doubles from ~25 MB/s to ~50 MB/s. The tiobench command line used for testing was: tiobench --size 2048 --block 4096 --block 131072 --dir /mnt/raid --numruns 5 * iop342 had 1GB of memory available Details: * if CONFIG_DMA_ENGINE=n the asynchronous path is compiled away by making async_tx_find_channel a static inline routine that always returns NULL * when a callback is specified for a given transaction an interrupt will fire at operation completion time and the callback will occur in a tasklet. if the the channel does not support interrupts then a live polling wait will be performed * the api is written as a dmaengine client that requests all available channels * In support of dependencies the api implicitly schedules channel-switch interrupts. The interrupt triggers the cleanup tasklet which causes pending operations to be scheduled on the next channel * Xor engines treat an xor destination address differently than a software xor routine. To the software routine the destination address is an implied source, whereas engines treat it as a write-only destination. This patch modifies the xor_blocks routine to take a an explicit destination address to mirror the hardware. Changelog: * fixed a leftover debug print * don't allow callbacks in async_interrupt_cond * fixed xor_block changes * fixed usage of ASYNC_TX_XOR_DROP_DEST * drop dma mapping methods, suggested by Chris Leech * printk warning fixups from Andrew Morton * don't use inline in C files, Adrian Bunk * select the API when MD is enabled * BUG_ON xor source counts <= 1 * implicitly handle hardware concerns like channel switching and interrupts, Neil Brown * remove the per operation type list, and distribute operation capabilities evenly amongst the available channels * simplify async_tx_find_channel to optimize the fast path * introduce the channel_table_initialized flag to prevent early calls to the api * reorganize the code to mimic crypto * include mm.h as not all archs include it in dma-mapping.h * make the Kconfig options non-user visible, Adrian Bunk * move async_tx under crypto since it is meant as 'core' functionality, and the two may share algorithms in the future * move large inline functions into c files * checkpatch.pl fixes * gpl v2 only correction Cc: Herbert Xu Signed-off-by: Dan Williams Acked-By: NeilBrown commit 685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73 Author: Dan Williams Date: Mon Jul 9 11:56:42 2007 -0700 xor: make 'xor_blocks' a library routine for use with async_tx The async_tx api tries to use a dma engine for an operation, but will fall back to an optimized software routine otherwise. Xor support is implemented using the raid5 xor routines. For organizational purposes this routine is moved to a common area. The following fixes are also made: * rename xor_block => xor_blocks, suggested by Adrian Bunk * ensure that xor.o initializes before md.o in the built-in case * checkpatch.pl fixes * mark calibrate_xor_blocks __init, Adrian Bunk Cc: Adrian Bunk Cc: NeilBrown Cc: Herbert Xu Signed-off-by: Dan Williams commit d379b01e9087a582d58f4b678208a4f8d8376fe7 Author: Dan Williams Date: Mon Jul 9 11:56:42 2007 -0700 dmaengine: make clients responsible for managing channels The current implementation assumes that a channel will only be used by one client at a time. In order to enable channel sharing the dmaengine core is changed to a model where clients subscribe to channel-available-events. Instead of tracking how many channels a client wants and how many it has received the core just broadcasts the available channels and lets the clients optionally take a reference. The core learns about the clients' needs at dma_event_callback time. In support of multiple operation types, clients can specify a capability mask to only be notified of channels that satisfy a certain set of capabilities. Changelog: * removed DMA_TX_ARRAY_INIT, no longer needed * dma_client_chan_free -> dma_chan_release: switch to global reference counting only at device unregistration time, before it was also happening at client unregistration time * clients now return dma_state_client to dmaengine (ack, dup, nak) * checkpatch.pl fixes * fixup merge with git-ioat Cc: Chris Leech Signed-off-by: Shannon Nelson Signed-off-by: Dan Williams Acked-by: David S. Miller commit 7405f74badf46b5d023c5d2b670b4471525f6c91 Author: Dan Williams Date: Tue Jan 2 11:10:43 2007 -0700 dmaengine: refactor dmaengine around dma_async_tx_descriptor The current dmaengine interface defines mutliple routines per operation, i.e. dma_async_memcpy_buf_to_buf, dma_async_memcpy_buf_to_page etc. Adding more operation types (xor, crc, etc) to this model would result in an unmanageable number of method permutations. Are we really going to add a set of hooks for each DMA engine whizbang feature? - Jeff Garzik The descriptor creation process is refactored using the new common dma_async_tx_descriptor structure. Instead of per driver do___to_ methods, drivers integrate dma_async_tx_descriptor into their private software descriptor and then define a 'prep' routine per operation. The prep routine allocates a descriptor and ensures that the tx_set_src, tx_set_dest, tx_submit routines are valid. Descriptor creation and submission becomes: struct dma_device *dev; struct dma_chan *chan; struct dma_async_tx_descriptor *tx; tx = dev->device_prep_dma_(chan, len, int_flag) tx->tx_set_src(dma_addr_t, tx, index /* for multi-source ops */) tx->tx_set_dest(dma_addr_t, tx, index) tx->tx_submit(tx) In addition to the refactoring, dma_async_tx_descriptor also lays the groundwork for definining cross-channel-operation dependencies, and a callback facility for asynchronous notification of operation completion. Changelog: * drop dma mapping methods, suggested by Chris Leech * fix ioat_dma_dependency_added, also caught by Andrew Morton * fix dma_sync_wait, change from Andrew Morton * uninline large functions, change from Andrew Morton * add tx->callback = NULL to dmaengine calls to interoperate with async_tx calls * hookup ioat_tx_submit * convert channel capabilities to a 'cpumask_t like' bitmap * removed DMA_TX_ARRAY_INIT, no longer needed * checkpatch.pl fixes * make set_src, set_dest, and tx_submit descriptor specific methods * fixup git-ioat merge * move group_list and phys to dma_async_tx_descriptor Cc: Jeff Garzik Cc: Chris Leech Signed-off-by: Shannon Nelson Signed-off-by: Dan Williams Acked-by: David S. Miller commit 51a92c0f6ce8fa85fa0e18ecda1d847e606e8066 Author: Jens Axboe Date: Fri Jul 13 14:11:43 2007 +0200 splice: fix offset mangling with direct splicing (sendfile) If the output actor doesn't transfer the full amount of data, we will increment ppos too much. Two related bugs in there: - We need to break out and return actor() retval if it is shorted than what we spliced into the pipe. - Adjust ppos only according to actor() return. Also fix loop problem in generic_file_splice_read(), it should not keep going when data has already been transferred. Signed-off-by: Jens Axboe commit 29ce20586be54ceba49c55ae049541398cd2c416 Author: James Morris Date: Fri Jul 13 11:44:32 2007 +0200 security: revalidate rw permissions for sys_splice and sys_vmsplice Revalidate read/write permissions for splice(2) and vmslice(2), in case security policy has changed since the files were opened. Acked-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Jens Axboe commit d3f35d98b3b87d2506289320375687c6e9bc53ed Author: Tom Zanussi Date: Thu Jul 12 08:12:05 2007 +0200 relay: fixup kerneldoc comment Change comment from kerneldoc to normal. Signed-off-by: Tom Zanussi Signed-off-by: Jens Axboe commit 24da24de2eae0c277b85836e2b4b09cfafeea995 Author: Tom Zanussi Date: Thu Jul 12 08:12:04 2007 +0200 relay: fix bogus cast in subbuf_splice_actor() The current code that sets the read position in subbuf_splice_actor may give erroneous results if the buffer size isn't a power of 2. This patch fixes the problem. Signed-off-by: Tom Zanussi Signed-off-by: Jens Axboe commit 9a60ddbcb710ff78cd8c772681723a04e3f5aba3 Author: Dave Jones Date: Fri Jul 13 01:34:10 2007 -0400 [CPUFREQ] Fix typos in powernow-k8 printk's. Based on a patch from Joachim which didn't apply, so I fixed it up by hand, and also corrected the surrounding indentation a little. Signed-off-by: Joachim.Deguara Acked-by: Mark Langsdorf Signed-off-by: Dave Jones commit 084f34939424161669467c19280dbcf637730314 Author: Thomas Renninger Date: Mon Jul 9 11:35:28 2007 -0700 [CPUFREQ] Restore previously used governor on a hot-replugged CPU Negative side effect: needs NR_CPUs pointer array of memory in CONFIG_HOTPLUG_CPU case. Still needs userspace track keeping and rewriting of governors if governors change while a CPU is not active (always the governor at CPU remove time is restored). Move of policy->user_policy.governor assignment is just a minor cleanup. http://bugzilla.kernel.org/show_bug.cgi?id=8671 Signed-off-by: Thomas Renninger Signed-off-by: Mattia Dongili Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 91973de736bc97dc04156242c5a4b00993b6c902 Author: Peter Oruba Date: Mon Jul 9 11:35:27 2007 -0700 [CPUFREQ] bugfix cpufreq in combination with performance governor There is a frequency scaling issue that I encountered with the performance governor in combination with CPU hotplug. In cpufreq.c CPU frequency is reduced to its minimum before the CPU gets unregistered and set offline. Does that have a particular reason? Since the (k8-)governor does not monitor CPU frequency that setting also applies then to the remaining CPU as well and lets the system run on the lowest frequency although performance is chose as the policy. Signed-off-by: Peter Oruba Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit aac22d0a79f51d7bd93145be36322baaa4b423f8 Author: Andrew Morton Date: Mon Jul 9 11:35:27 2007 -0700 [CPUFREQ] powernow-k8 compile fix. Make it compile on UP. Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 68485695e5a84399da7b48b208ac42623fe22963 Author: Adrian Bunk Date: Sun Jul 8 23:39:14 2007 +0200 [CPUFREQ] the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI This patch contains the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI. Signed-off-by: Adrian Bunk Acked-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 905497c4b2e6715eebde97cbcb313354e14c2489 Author: Rafał Bilski Date: Sun Jul 8 21:51:26 2007 +0200 [CPUFREQ] Longhaul - Option to disable ACPI C3 support On some motherboards ACPI C3 is available, but it isn't causing frequency transition on VIA Nehemiah. Longhaul wasn't working at all earlier, but due to scaling_cur_speed returning true CPU frequency now, it looks like CPU is getting stuck at highest frequency since 2.6.21. I didn't find a reason. Halt is causing frequency transition. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 075fc19bdea9120989142fa2179abd958b3a5c72 Author: Paul Mundt Date: Fri Jul 13 12:27:13 2007 +0900 sh: Revert __xdiv64_32 size change. It's only __div64_32 that needs the fix, __xdiv64_32 behaves as expected with the original size. Signed-off-by: Paul Mundt commit 50c2f75388727018c3c357454a247072915a9e3f Author: Steve French Date: Fri Jul 13 00:33:32 2007 +0000 [CIFS] whitespace/formatting fixes This should be the last big batch of whitespace/formatting fixes. checkpatch warnings for the cifs directory are down about 90% and many of the remaining ones are harder to remove or make the code harder to read. Signed-off-by: Steve French commit 2f5a5dc0c1a9e970ceb9b47d778732962d6dd9f6 Author: Paul Mundt Date: Fri Jul 13 09:30:57 2007 +0900 sh: Update r7785rp defconfig. Signed-off-by: Paul Mundt commit 2414b86d21dbacc53826d375c6001d31d8ebbee2 Author: Paul Mundt Date: Fri Jul 13 09:30:31 2007 +0900 sh: Export div symbols for GCC 4.2 and ST GCC. GCC 4.2 can emit integer variants of the FP division routines, so these need to be exported in order to keep the modules happy. 4.1.x versions of the ST compiler have these things backported, and so also generate these symbols (whereas vanilla gcc 4.1.x does not), so handle the __GNUC_STM_RELEASE__ case to accomodate updated versions of the 4.1.x toolchain. Signed-off-by: Paul Mundt commit 773208946a132fb733ba273ee8562814f828cc28 Author: Linus Torvalds Date: Thu Jul 12 17:06:50 2007 -0700 Revert "USB: fix gregkh-usb-usb-use-menuconfig-objects" This reverts commit acb11c8b8020f1f1b2545152020675ef32d09a58. It was broken. We most certainly *do* want the default to be the old behaviour (and the common case!), instead of breaking everybodys configuration and making 99% of all people have to override the default. What were you guys thinking? Signed-off-by: Linus Torvalds commit de081fa517fed81b0369f2e90ca87c30182879c8 Author: Linus Torvalds Date: Thu Jul 12 16:40:08 2007 -0700 Revert "[BNX2]: Seems to not need net/tcp.h" This reverts commit 963bd949b12158d9b5380b718b31c4b33372ed73. The driver _does_ need the networking header files; CC [M] drivers/net/bnx2.o drivers/net/bnx2.c: In function 'bnx2_start_xmit': drivers/net/bnx2.c:5177: warning: implicit declaration of function 'tcp_optlen' drivers/net/bnx2.c:5181: error: invalid application of 'sizeof' to incomplete type 'struct ipv6hdr' drivers/net/bnx2.c:5202: error: invalid application of 'sizeof' to incomplete type 'struct tcphdr' drivers/net/bnx2.c:5207: warning: implicit declaration of function 'tcp_hdr' drivers/net/bnx2.c:5207: error: invalid type argument of '->' make[2]: *** [drivers/net/bnx2.o] Error 1 make[1]: *** [drivers/net] Error 2 make: *** [drivers] Error 2 Cc: Ilpo Jävinen Cc: David Miller Signed-off-by: Linus Torvalds commit 13f9966b3ba5b45f47f2ea0eb0a90afceedfbb1f Author: Suresh Jayaraman Date: Thu Jun 28 11:16:30 2007 -0600 USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc Remove unnecessary cast of return value of kzalloc() in usb/host/ohci-pnx4008.c Signed-off-by: Suresh Jayaraman Signed-off-by: Greg Kroah-Hartman commit 6c59649d49df4b9084bf407890734b5965d77b41 Author: Oliver Neukum Date: Tue Jul 10 14:12:08 2007 +0200 USB: additions to the quirk list this adds some scanners reported to be crashed by autosuspend to the quirk list. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 8dfe4b14869fd185ca25ee88b02ada58a3005eaf Author: Alan Stern Date: Fri Jul 6 14:24:27 2007 -0400 usb-storage: implement autosuspend This patch (as930) implements autosuspend for usb-storage. It is adapted from a patch by Oliver Neukum. Autosuspend is allowed except during LUN scanning, resets, and command execution. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b0e2a705bffbfb70d9bed8b5f9094901f28d9563 Author: Andrey Arapov Date: Wed Jul 4 17:11:42 2007 +0200 USB: cdc-acm: add new device id to option driver USB: add new device id to option driver device is Samsung X180 China cellphone Signed-off-by: Andrey Arapov Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 2d70c99b9340fa6c834fa6e32209e153f35a3e20 Author: David Brownell Date: Sun Jul 1 17:55:50 2007 -0700 USB: goku_udc trivial cleanups Minor fixes to goku_udc ... whitespace, let -DDEBUG do its thing, check the return value of device_register(), sparse tweaks. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 70790f6339a868e2a0d643f44899418f64a95943 Author: David Brownell Date: Sun Jul 1 17:35:28 2007 -0700 USB: usb gadget stack can now -DDEBUG with Kconfig Although the other USB driver directories got taught how use Kconfig and the Makefile to enable the debugging messages enabled by -DDEBUG, the gadget stack was overlooked. This patch remedies that omission, but doesn't update any drivers to remove previous idiosyncracies in this area ... other than the RNDIS code, which defined its own DEBUG() macro in a broken way. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c67ab134ba9f83f9de86e58adfeaa14a9efa6e00 Author: David Brownell Date: Sun Jul 1 12:21:00 2007 -0700 usb gadget stack: remove usb_ep_*_buffer(), part 2 This patch removes controller driver infrastructure which supported the now-removed usb_ep_{alloc,free}_buffer() calls. As can be seen, many of the implementations of this were broken to various degrees. Many didn't properly return dma-coherent mappings; those which did so were necessarily ugly because of bogosity in the underlying dma_free_coherent() calls ... which on many platforms can't be called from the same contexts (notably in_irq) from which their dma_alloc_coherent() sibling can be called. The main potential downside of removing this is that gadget drivers wouldn't have specific knowledge that the controller drivers have: endpoints that aren't dma-capable don't need any dma mappings at all. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9d8bab58b758cd5a96d368a8cc64111c9ab50407 Author: David Brownell Date: Sun Jul 1 11:04:54 2007 -0700 usb gadget stack: remove usb_ep_*_buffer(), part 1 Remove usb_ep_{alloc,free}_buffer() calls, for small dma-coherent buffers. This patch just removes the interface and its users; later patches will remove controller driver support. - This interface is invariably not implemented correctly in the controller drivers (e.g. using dma pools, a mechanism which post-dates the interface by several years). - At this point no gadget driver really *needs* to use it. In current kernels, any driver that needs such a mechanism could allocate a dma pool themselves. Removing this interface is thus a simplification and improvement. Note that the gmidi.c driver had a bug in this area; fixed. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ad8c623f4f48085edd51c7f4cdfd10295547bf45 Author: David Brownell Date: Sat Jun 30 06:30:04 2007 -0700 USB: pxa2xx_udc -- cleanups, mostly removing dma hooks Cleanups to the pxa2xx_udc code: - Primarily removing unused DMA hooks. - One "sparse" warning removed - Remove some Lubbock-only LED hooks (for debugging) That DMA code was never really completed. It worked, mostly, for IN transfers (to the host) if they were fortuitously aligned, but that code was never fully tested. And it was never coded for OUT transfers (which is where DMA would really help) ... because of chip errata on essentially every chip other than the pxa255, and because of design botches (nothing automated data toggle). So it's effectively been dead code for several years now ... no point in keeping it around. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9068a4c6467986e8fda5bdb29bd5f10c6788e2ff Author: Milan Svoboda Date: Sat Jun 30 06:25:35 2007 -0700 USB: pxa2xx_udc: use generic gpio layer This patch lets the pxa2xx_udc use the generic gpio layer, on the relevant PXA and IXP systems. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e4f747373cd96c86db3c64c21710748c6889c03c Author: Oliver Neukum Date: Fri Jun 29 08:44:37 2007 +0200 USB: quirk for samsung printer this printer does not survive suspension. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit fbf54dd32001359ccda6a9d8577f7b00e67357c7 Author: David Brownell Date: Sun Jul 1 23:33:12 2007 -0700 USB: usb/dma doc updates This patch updates some of the documentation about DMA buffer management for USB, and ways to avoid extra copying. Our understanding of the issues has improved over time. - Most drivers should *avoid* the dma-coherent allocators. There are a few exceptions (like the HID driver). - Some methods are currently commented out; it seems folk writing USB drivers aren't doing performance tuning at that level yet. - Just avoid highmem; there's no good way to pass an "I can do highmem DMA" capability through a driver stack. This is easy, everything already avoids highmem. But it'd be nice if x86_32 systems with much physical memory could use it directly with network adapters and mass storage devices. (Patch, anyone?) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c0e0c19cc9d899da0ee15104907ac158eb94365b Author: S.Caglar Onur Date: Wed Jul 4 13:52:47 2007 -0700 USB: drivers/usb/storage/unusual_devs.h whitespace cleanup Following patch removes trailing whitespaces at the ends of lines and converts smarttabs/whitespaces into real tabs. Signed-off-by: S.Caglar Onur Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit a603c665516a3cb9df6abafad491bef24cc87aa5 Author: Robert P. J. Day Date: Mon Jul 9 12:03:13 2007 -0700 USB: remove Makefile reference to obsolete OHCI_AT91 Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6dc731024347ab499c3fc0347ab90d972771b8a1 Author: Alan Cox Date: Mon Jul 9 12:03:12 2007 -0700 USB: io_*: remove bogus termios no change checks Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit eb58c0c5f2b3cf6306a184cdf1c751155b7ddb3b Author: Alan Cox Date: Mon Jul 9 12:03:12 2007 -0700 USB: mos7720: remove bogus no termios change check Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9a64f251326154dcd40b21a6980fe2ab9537dde7 Author: Alan Cox Date: Mon Jul 9 12:03:11 2007 -0700 USB: visor and whiteheat: remove bogus termios change checks Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e0c79f512cf469bc11fe9d53a4dcc5d0c39a3b79 Author: Alan Cox Date: Mon Jul 9 12:03:10 2007 -0700 USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate() Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 31473aae5afb11f0c5217dafdbc9df8a470071aa Author: Alan Cox Date: Mon Jul 9 12:03:10 2007 -0700 USB: mos7840.c: turn this into a serial driver The MOS driver is "interesting", in a bad kind of 'how the hell did this get merged' kind of way - Remove the bogus termios change check - Remove the duplicate code for half the ioctls - Remove the supporting code to duplicate the ioctl code Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 70f458f668aa09cc45384728dec434f2975a3947 Author: Yinghai Lu Date: Mon Jul 9 12:03:09 2007 -0700 USB: make the usb_device numa_node get assigned from controller So we can use dev_to_node(&usb_dev->dev) later in kmalloc_node to dma buffer Signed-off-by: Yinghai Lu Cc: Andi Kleen Acked-by: Christoph Lameter Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0ffbbe25a73db12792a05f725aa39f8a5de2c882 Author: Oliver Neukum Date: Mon Jul 9 12:03:08 2007 -0700 USB: ftdi_sio: fix oops due to processing workarounds too early Fix an oops that happens in relation with applying work arounds for buggy ftdi_sio devices. The quirks were handled too early because due to changes in the initialisation of usb serial devices the device was not fully initialised when the old hook was called. Addresses bug 8564 Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a69228deefea57ca27c17a196e5727b091c6d323 Author: Matthias Kaehlcke Date: Mon Jul 9 12:03:07 2007 -0700 USB: drivers/block/ub.c: use list_for_each_entry() Low performance USB storage driver: Use list_for_each_entry() instead of list_for_each() Signed-off-by: Matthias Kaehlcke Cc: Pete Zaitcev Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit acb11c8b8020f1f1b2545152020675ef32d09a58 Author: Jan Engelhardt Date: Mon Jul 9 12:03:06 2007 -0700 USB: fix gregkh-usb-usb-use-menuconfig-objects Generally, Jens Axboe was against 'default y', so I'll have some patches to remove it. Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8d6d5fd05088c023bb8b22a4bd0067c21f9c5f18 Author: Venki Pallipadi Date: Mon Jul 9 12:03:06 2007 -0700 USB: Make usb-autosuspend timer 1 sec jiffy aligned Make usb autosuspend timers 1sec jiffy aligned. This helps to reduce the frequency at which the CPU must be taken out of a lower-power state. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8e80e753ea654ae0a66b33e404c0a517b34cb6e1 Author: Jeremy Katz Date: Tue Jun 19 17:16:10 2007 -0400 USB: Don't autosuspend Blackberry devices. Blackberry devices charge over USB. By autosuspending the port, they are not able to charge reliably. Signed-off-by: Jeremy Katz Signed-off-by: Greg Kroah-Hartman commit 49bb607fa0bd94e4855ee695f9ed3ecee7579cc6 Author: Jeremy Katz Date: Tue Jun 19 17:15:38 2007 -0400 USB: Support Blackberry Pearl with berry_charge The Blackberry Pearl (8100) needs similar tweaks as older Blackberry models to be able to charge when connected via USB. The Pearl also adds an additional need to go into a separate mode for fully accessing the device; do that by default as well. Changes based on the changes from bcharge in the barry project (http://barry.sf.net) Signed-off-by: Jeremy Katz Signed-off-by: Greg Kroah-Hartman commit 165fe97ed6107d3cde63592d5ac36400a5eb9f6f Author: Craig W. Nadler Date: Fri Jun 15 23:14:35 2007 -0400 USB: add IAD support to usbfs and sysfs USB_IAD: Adds support for USB Interface Association Descriptors. This patch adds support to the USB host stack for parsing, storing, and displaying Interface Association Descriptors. In /proc/bus/usb/devices lines starting with A: show the fields in an IAD. In sysfs if an interface on a USB device is referenced by an IAD the following files will be added to the sysfs directory for that interface: iad_bFirstInterface, iad_bInterfaceCount, iad_bFunctionClass, and iad_bFunctionSubClass, iad_bFunctionProtocol Signed-off-by: Craig W. Nadler Signed-off-by: Greg Kroah-Hartman commit 50d2dc7266573dfbdc84fc207494dd21315782ef Author: Greg Kroah-Hartman Date: Mon Jun 25 01:08:01 2007 -0700 USB: mos7720: change developer email addresses Update the original developer's email addresses at their request. Cc: Vijaya Kumar Cc: Ajay Kumar Cc: Gurudeva Signed-off-by: Greg Kroah-Hartman commit 8ccef0df54642f0f72f922d8aa57e8b290e31671 Author: Alan Stern Date: Thu Jun 21 16:26:46 2007 -0400 USB: Fix off-by-1 error in the scatter-gather library The loop in usb_sg_wait() is structured in a way that makes it hard to tell, when the loop exits, whether or not the last URB submission succeeded. This patch (as928) changes it from a "for" loop to a "while" loop and keeps "i" always equal to the number of successful submissions. This fixes an off-by-one error which can show up when the first URB submission fails. The patch also removes a couple of lines that initialize fields which don't need to be initialized. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit cfa59dab27d1b282886e7772a8f9548236883892 Author: Alan Stern Date: Thu Jun 21 16:25:35 2007 -0400 USB: Don't resume root hub if the controller is suspended Root hubs can't be resumed if their parent controller device is still suspended. This patch (as925) adds a check for that condition in hcd_bus_resume() and prevents it from being treated as a fatal controller failure. ehci-hcd is updated to add the corresponding test. Unnecessary debugging messages are removed from uhci-hcd and dummy-hcd. The error return code from dummy-hcd is changed to -ESHUTDOWN, the same as the others. ohci-hcd doesn't need any changes. Suspend handling in the non-PCI host drivers is somewhat hit-and-miss. This patch shouldn't have any effect on them. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e7e6da9eb189dfa221e3bf9c21d58f02adc8983c Author: Alan Stern Date: Thu Jun 21 16:25:17 2007 -0400 USB: Remove usages of dev->power.power_state This patch (as922) removes all but one of the remaining vestiges of dev->power.power_state from usbcore. The only usage left must remain until the deprecated "power/state" sysfs attribute is gone. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 317c67b8f7092db325a3df825646eb26982908c6 Author: Pete Zaitcev Date: Thu Jun 21 12:44:56 2007 -0700 USB: usblp: add dynamic URBs, fix races This patch's main bulk aims to make usblp the premier driver for code pillaging once again. The code is as streamlined as possible and is bug-free as possible. The usb-skeleton performs the same function, but is somewhat abstract. The usblp is usb-skeleton which is actually used by many. Since I combed a few small bugs away, this also fixes the small races we had in usblp for a while. For example, now it's possible for several threads to make write(2) calls (sounds silly, but consider a printer for paper record, where every line of text is self-contained and thus it's all right to have them interleaved). Also gone are issues with interrupts using barriers dangerously. This patch makes use of Oliver's anchor, and so it must trail the anchor patch on the way to Linus. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 73e4fb3f70987b36fd0f16b5f762b2018ab84e4f Author: Pete Zaitcev Date: Thu Jun 21 15:18:35 2007 -0700 USB: Pete's taking over usblp Vojtech agreed to pass usblp over to me, so if you find bugs don't bug him. Signed-off-by: Pete Zaitcev Signed-off-by: Vojtech Pavlik Signed-off-by: Greg Kroah-Hartman commit 7542548fd843f3d49068f17a082069319f19992a Author: Li Yang Date: Tue Jun 19 17:33:48 2007 +0800 USB: fsl_usb2_udc: fix bug for portsc bit masking Fix a bug that PORT_TYPE and PORT_WIDTH aren't masked correctly in portsc. Signed-off-by: Christopher Cason Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 7bbe990c989ee16f2c1be3e4ae28f8004bec788c Author: Oliver Neukum Date: Wed Jun 13 17:13:31 2007 +0200 USB: autosuspend for usblcd this patch implements autosuspend for the usblcd driver. It uses the new usb_anchor infrastructure. Many thanks to Georges for testing. Signed-off-by: Oliver Neukum Cc: Georges Toth Signed-off-by: Greg Kroah-Hartman commit 55b3fd41b0846929f68b5fb1058ad8077289f584 Author: Haavard Skinnemoen Date: Thu Jun 14 18:01:45 2007 +0200 usb gadget: Rename husb2dev -> usba husb2dev was the internal name of the USB Device Controller on AT32AP7000. Rename it to "atmel_usba", which is closer to the official name used in documentation and marketing material. Signed-off-by: Haavard Skinnemoen Signed-off-by: Greg Kroah-Hartman commit 8b3b01c898a44c2fc7217eb579982b9d132113f5 Author: Marcel Holtmann Date: Wed Jun 13 08:02:11 2007 +0200 USB: Add URB_FREE_BUFFER flag and the logic behind it USB: Add URB_FREE_BUFFER flag for freeing the transfer buffer In some cases it is not needed that the driver keeps track of the transfer buffer of an URB. It can be simply freed along with the URB itself when the reference count goes down to zero. The new flag URB_FREE_BUFFER enables this behavior. Signed-off-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit 300871cd963e24a68aaa9b762f4a10403697d9be Author: Laurent Pinchart Date: Tue Jun 12 21:47:17 2007 +0200 USB: Fix up full-speed bInterval values in high-speed interrupt descriptor Many device manufacturers are using full-speed bInterval values in high-speed interrupt endpoint descriptors. If the bInterval value is greater than 16, assume the device uses full-speed descriptors and fix the value accordingly. Signed-off-by: Laurent Pinchart Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 87d093e25d73249ae92b28ae88db92eaea7df70f Author: Oliver Neukum Date: Mon Jun 11 14:55:51 2007 +0200 USB: usb-skeleton: use anchors in pre/post reset use anchors in pre/post_reset Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 758f7e161b1da3039368bf7180b9d9f4c33453da Author: Oliver Neukum Date: Mon Jun 11 14:55:08 2007 +0200 USB: usb-skeleton" use anchors in suspend/resume handling use anchors in suspend/resume handling Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e73c7247b8e10a74cbf6b7430585e02c7cc05444 Author: Oliver Neukum Date: Mon Jun 11 14:54:02 2007 +0200 USB: usb-skeleton: use anchors in disconnect handling use anchors in disconnect handling Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a6ea438b6d38689b7f876093bcba4505fe1995d1 Author: Alan Cox Date: Fri Jun 22 14:44:54 2007 +0100 USB: serial: ir_usb: Clean up the worst of it, remove exciting 'crash on open' feature - Drivers don't call ldisc termios methods. They certainly don't call them the way this one does - remove wrong call - The tty buffer code isn't designed to be abused from IRQ handlers and the new buffering removes the need for the uglies involved - fix them - Style - Remove incorrect baud and change handling for termios changes The driver now has some style, but not a lot - it goes insane if you have two dongles for example as it continues to use global variables for per dongle state. That bit isn't my problem. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9a8baec77205dfe14f98a4e291c830a311125a8b Author: Alan Cox Date: Fri Jun 22 14:40:18 2007 +0100 USB: serial: belkin_sa: Various needed fixes Use the baud rate stuff from the kernel don't parse CBAUD directly Remove pointless and wrong 'no change' check Could do with some good testing as well but again better than adding && BROKEN (The use of BELKIN_SA_BAUD() might seem a bit odd but x/a = b and x/b = a (rounded for integers)). Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 568c24adeaa4d9ec2fd04c6ae226eeb673a385db Author: Alan Cox Date: Fri Jun 22 14:36:29 2007 +0100 USB: serial: ark3116.c: Mixed fixups o Don't parse the cflag for baud rates, its not valid to do so any more and this driver got it wrong anyway o Don't do clever termios change checks in drivers and get them wrong (arguably we should do some smart ones in the tty core but stty to change nothing is *not* a common or critical path I don't have the hardware so if you can test this carefully please do. I thought fixing it up this far was better than marking it and other bits of USB serial && BROKEN Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9e85c5f63268a5700860f53e52b090973652a5b2 Author: Greg Kroah-Hartman Date: Wed Jun 20 14:22:23 2007 +0900 USB: sierra: cleanup the startup and shutdown path This removes the ugly code that was copied from the keyspan driver and allocates the in urbs in a much shorter code path that can be understood easier. Also turned off the interrupt urb when no port was open as it's not nice to keep the bus busy for no good reason at all (this should be a power savings.) All in all, this saved over 40 lines of code and cleaned things up better. Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 17c2327419a889293fb955baf0c69a7d38c5809c Author: Greg Kroah-Hartman Date: Wed Jun 20 14:22:23 2007 +0900 USB: sierra: remove incorrect usage of the urb status field You can't rely on the fact that the status really is correct like it was. Also simplified the write path and now we allocate the urb and data on the fly, instead of trying to do that really odd timeout check which I am guessing doesn't really work properly. This should speed up the device by keeping the hardware queue full easier. As a benefit, this reduces the size of the driver. Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 05400013698776a71b1e401ceacf709bda3d1517 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: whiteheat: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 38e8c910ff7a1aafe2923f085df0f74a60f9de3c Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: visor: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 52171b480865985c060a58fa3cbcd31ba6e13f75 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ti_usb_3410_5052: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit 17dd2215adee8c988b88308671cc20a69839a850 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: sierra: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 3a75ab943688d765cdb60b33f3f9db72c752c521 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: safe_serial: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Stuart Lynne Cc: Tom Rushworth Signed-off-by: Greg Kroah-Hartman commit 461d696aeeae294ad22dfcaae462d1757f955778 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: pl2303: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 78c26aebd9f4d29f9bd163c7c47f2c89991fcdb1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: oti6858: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit d6977b51d5faa8649bbab0e53455e8421d425ce1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: option: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit fdc2deb3892e802e916d1df7b1587aa0dbf3b271 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: omninet: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 9965d612631c62c2018973080fa03396f49fce59 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: navman: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 0643c72435bcd36980314de825773989d4dca97f Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mos7840: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Paul Schroeder Signed-off-by: Greg Kroah-Hartman commit 81105984848481d8876e454e3c503dbd0e8e4dce Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mos7720: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: VijayaKumar G.N. Cc: AjayKumar Cc: Gurudeva N. Signed-off-by: Greg Kroah-Hartman commit e96da398ce32c0e2af5eee772feb112323f027b4 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mct_u232: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Wolfgang Grandegger Signed-off-by: Greg Kroah-Hartman commit 6fcdcf04e391c033eb9a558a744d8729d52e646e Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: kobil_sct: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Thomas Wahrenbruch Signed-off-by: Greg Kroah-Hartman commit 17c1b35a469b5e518b88cc509562ccfb44950145 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: kl5kusb105: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Utz-Uwe Haus Signed-off-by: Greg Kroah-Hartman commit 23189aee76c3297c7ff797ca8bc8e314783039ef Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: keyspan_pda: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 95b934548049e2fd6a67853c6b5055c073bf6961 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: keyspan: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 3152b74f92048223263c54383b3639a2939d853a Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ir-usb: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Gary Brubaker Signed-off-by: Greg Kroah-Hartman commit b4a1579772667f9ebc0c9e26ed0b674966085e85 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ipw: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Roelf Diedericks Signed-off-by: Greg Kroah-Hartman commit 2362deb5782d9861a0dade72e2e29114652c69a3 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ipaq: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Ganesh Varadarajan Signed-off-by: Greg Kroah-Hartman commit ee337c212ad5d61fd58cfa6a4e48a84497495ebc Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: io_ti: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit 2a393f5fd872fad99d639812087383111074cfeb Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: io_edgeport: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit fbd272254b034e22a5157af51c8c5907a8f69614 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: generic: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit f9feb517faf03ee85de6e2467f7fcb87c1af2258 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: garmin_gps: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Hermann Kneissel Signed-off-by: Greg Kroah-Hartman commit 0fb0aa188d0e61d58485288071e73d3766513f2a Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ftdi_sio: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Kuba Ober Signed-off-by: Greg Kroah-Hartman commit 335202f44a9a68902a80e09ba33aa4eaddc9c8ed Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: empeg: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Gary Brubaker Signed-off-by: Greg Kroah-Hartman commit 85d75107117eca0e29ac3da8cb82b45f9cd3a7fa Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: digi_acceleport: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Peter Berger Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 8d7bc55ecf86d1488996c4619642b4557e5e42f1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: cypress_m8: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Lonnie Mendez Cc: Neil Whelchel Signed-off-by: Greg Kroah-Hartman commit 7dcc85cd9b7134bbcdc50dc14ccfc7c49f092506 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: cyberjack: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Signed-off-by: Greg Kroah-Hartman commit f26aad25d2c336a1efd393aff17bfe975b04fed5 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: belkin_sa: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit d3434cf6916d9014d7906b3b2513f8fe325a6d5c Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: airprime: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 1373dbbca55503804ed191ba3914af68ce01e4bc Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: aircable: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 4d0dce3e0b794942407391c52f8dd2760802f391 Author: Greg Kroah-Hartman Date: Tue Jun 12 11:43:37 2007 -0700 USB: fix up license wording on some of my usb-serial drivers Also update the copyright date on the pl2303 driver, as it was out of date. Signed-off-by: Greg Kroah-Hartman commit 9f6a93f7bbb6d73ca0e43c000f3bbf521cd4f782 Author: Pete Zaitcev Date: Fri Jun 8 13:37:49 2007 -0700 usb: free DMA mappings if enqueue fails This patch releases DMA resources if enqueue fails in the HCD. Linux had this bug ever since we converted from virt_to_bus for 2.4. It is difficult to hit. A user would need a significant memory pressure or some other unusual condition. It was reported to me by IBM. They ran a management application for RSA II adapters which sent Bulk requests to an Interrupt endpoint. Submissions got rejected by HCD due to an invalid interval value and the swiotlb pool became depleted in the matter of hours. We fixed the invalid interval issue in devio.c separately, but this seems to be a bug worth fixing as well. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 60aac1ec26b960fe77bf600457bc6c06f8aa7db4 Author: Alan Stern Date: Fri Jun 8 15:25:02 2007 -0400 USB: Handle bogus low-speed Bulk endpoints A noticeable number of low-speed devices mistakenly include descriptors for Bulk endpoints, which is forbidden by the USB spec. In an attempt to make such devices more usable, this patch (as924) converts the descriptors to Interrupt with an interval of 1 ms. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 52f6b5e1f15fa8c06efa69a4b5faa69c04707c92 Author: Benny Halevy Date: Tue May 15 11:15:27 2007 +0300 synchronization in usb_serial_put I think there is a race between usb_serial_put() and usb_serial_get_by_index() (and get_free_serial()) with regards to handling the serial port refcount. usb_serial_get_by_index() gets a reference on the serial port under table_lock while return_serial releases all the returned ports from the table under the same lock. However, the table_lock is not taken around the call to kref_put, theoretically allowing to sneak in and grab a reference after kref_put has already determined that the reference count is zero (and before calling destroy_serial) causing use after free. Signed-off-by: Benny Halevy Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit efdff60885e36b5091cdc47742dd5768ff4119be Author: Oliver Neukum Date: Tue Jun 5 10:50:48 2007 +0200 USB: io_ti: sleep with spinlock held detected by automatic tool this fixes the sleep found with the automatic tool. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 756aa6b3d536afe85e151138cb03a293998887b3 Author: Christian Engelmayer Date: Wed May 30 11:04:48 2007 -0700 ehci-hub: improved over-current recovery According to the USB Specification Revision 2.0 chapter 11.12.5 a hub experiencing an over-current condition must place all affected ports in the powered-off state. It seems that some root hubs need port power to be cycled by software in order to get back to normal functionality after an over-current condition ... like the EHCI implementation on an MPC8343E. Signed-off-by: Christian Engelmayer Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 648dcfc805ea1308552225e96113dc60e054f2f0 Author: David Brownell Date: Thu Jun 7 14:13:26 2007 -0700 USB: usb host side can be configured given PCMCIA Platforms with PCMCIA support can implement host-side USB with "sl811_cs", so make sure this menu shows up on platforms with PCMCIA. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ed76cacbea08ebfdb678c8687f98237cb7c67bb6 Author: Alan Stern Date: Thu Jun 7 17:12:25 2007 -0400 USB: usb-storage: use kthread_stop() for the control thread This patch (as923) makes usb-storage's control thread use kthread_should_stop()/kthread_stop(). The scanning thread can't be similarly converted until the core kthread implementation allows threads to call do_exit(). The advantage of this change is that we can now be certain the control thread has terminated before storage_disconnect() returns. This will simplify the locking requirements when autosuspend support is added. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 3fc154b6b8134b98bb94d60cad9a46ec1ffbe372 Author: Arnaud Patard Date: Wed Jun 6 21:05:49 2007 -0700 USB Gadget driver for Samsung s3c2410 ARM SoC This patch adds the support for the Usb Device Controller on Samsung S3C24xx SoCs. This driver passes all tests from testusb (including #13) and has been tested on S3C2410, S3C24212, and S3C2440 SoCs. Whitespace updates, minor cleanups by David Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks Cc: Herbert Pötzl Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7a4eb7fd50d4df99fc1f623e6d90680d9fca3d82 Author: Geoff Levand Date: Tue Jun 5 20:04:35 2007 -0700 USB: PS3: USB system-bus rework USB HCD glue updates to reflect the new PS3 unifed device support. - Fixed remove() routine. - Added shutdown() routine. - Added request_mem_region() call. - Fixed MODULE_ALIAS(). - Made a proper fix for the hack done to support muti-platform in commit 48fda45120a819ca40cadc50144b55bff1c4c78d. Signed-off-by: Geoff Levand Cc: Paul Mackerras Signed-off-by: Greg Kroah-Hartman commit 59c2afa072506aae10ef93126aab651142e0c908 Author: Alan Stern Date: Tue Jun 5 16:46:26 2007 -0700 USB: option: fix usage of urb->status abuse Might fix bug 8561 On Mon, 4 Jun 2007, Paulo Pereira wrote: > The patch that you send is not resolving the problem... :( > I stil have Kernel panic after 45/60 min of work with Ktorrent/Amule... > > The Drump is: > > Call Trace: > [] usb_hcd_submit+0xb1/0x763 > [] ipt_do_table+0x2c7/0x2ef [ip_tables] > [] nf_ct_deliver_cached_events+0x41/0x96 [nf_conntrak] > [] ipv4_confirm+0x36/0c3b [nf_conntrack_ipv4] > [] tcp_v4_rcv+0x827/0x899 > [] nf_hook_slow+0x4d/0xb5 > [] irq_enter+0x19/0x23 > [] irq_enter+0x19/0x23 > [] do_IRQ+0xbd/0xd1 > [] option_write+0xa7/0xef [option] Okay, from this it looks like there's a problem in the option.c serial driver. Glancing at the code, it's obvious why: The thing totally abuses the USB API. Try applying this patch; it should help. From: Alan Stern Cc: Paulo Pereira Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4365831dadfeeeb4c9f8c4944e48ccf78c27f845 Author: Li Yang Date: Wed Jun 6 21:13:44 2007 -0700 USB: fsl_usb2_udc: Get max ep number from DCCPARAMS register Currently the driver is expecting max ep number in platform data which isn't passing this information. This patch fix the problem by reading it from DCCPARAMS(Device Controller Capability Parameters) register. The change also need some reordering of the probe code. Signed-off-by: Li Yang Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 37b5453dd4dafccec3fad636c28f1c3e3e14354f Author: Li Yang Date: Thu Jun 7 16:07:18 2007 +0800 USB: fsl_usb2_udc: replace deprecated irq flag Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit b41a60eca833d76593d4dac8a59f5c38714194ee Author: Alan Stern Date: Wed May 30 15:39:33 2007 -0400 USB: add power/persist device attribute This patch (as920) adds an extra level of protection to the USB-Persist facility. Now it will apply by default only to hubs; for all other devices the user must enable it explicitly by setting the power/persist device attribute. The disconnect_all_children() routine in hub.c has been removed and its code placed inline. This is the way it was originally as part of hub_pre_reset(); the revised usage in hub_reset_resume() is sufficiently different that the code can no longer be shared. Likewise, mark_children_for_reset() is now inline as part of hub_reset_resume(). The end result looks much cleaner than before. The sysfs interface is updated to add the new attribute file, and there are corresponding documentation updates. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 54515fe528d8c6f9bfaf7d0b9fffb908deecad78 Author: Alan Stern Date: Wed May 30 15:38:58 2007 -0400 USB: unify reset_resume and normal resume This patch (as919) unifies the code paths used for normal resume and for reset-resume. Earlier I had failed to note a section in the USB spec which requires the host to resume a suspended port before resetting it if the attached device is enabled for remote wakeup. Since the port has to be resumed anyway, we might as well reuse the existing code. The main changes are: usb_reset_suspended_device() is eliminated. usb_root_hub_lost_power() is moved down next to the hub_reset_resume() routine, to which it is logically related. finish_port_resume() does a port reset() if the device's reset_resume flag is set. usb_port_resume() doesn't check whether the port is initially enabled if this is a USB-Persist sort of resume. Code to perform the port reset is added to the resume pathway for the non-CONFIG_USB_SUSPEND case. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f07600cf9eb3ee92777b2001e564faa413144a99 Author: Alan Stern Date: Wed May 30 15:38:16 2007 -0400 USB: add reset_resume method This patch (as918) introduces a new USB driver method: reset_resume. It is called when a device needs to be reset as part of a resume procedure (whether because of a device quirk or because of the USB-Persist facility), thereby taking over a role formerly assigned to the post_reset method. As a consequence, post_reset no longer needs an argument indicating whether it is being called as part of a reset-resume. This separation of functions makes the code clearer. In addition, the pre_reset and post_reset method return types are changed; they now must return an error code. The return value is unused at present, but at some later time we may unbind drivers and re-probe if they encounter an error during reset handling. The existing pre_reset and post_reset methods in the usbhid, usb-storage, and hub drivers are updated to match the new requirements. For usbhid the post_reset routine is also used for reset_resume (duplicate method pointers); for the other drivers a new reset_resume routine is added. The change to hub.c looks bigger than it really is, because mark_children_for_reset_resume() gets moved down next to the new hub_reset_resume() routine. A minor change to usb-storage makes the usb_stor_report_bus_reset() routine acquire the host lock instead of requiring the caller to hold it already. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina CC: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 624d6c0732d2c4ac00945ad79dbb6ff39ba90ee3 Author: Alan Stern Date: Wed May 30 15:35:16 2007 -0400 USB: remove excess code from hub.c This patch (as917) removes a now-unnecessary level of subroutine nesting from hub.c. Since usb_port_suspend() does nothing but call hub_port_suspend(), and usb_port_resume() does nothing but call hub_port_resume(), there's no reason to keep the routines separate. Also included in the patch are a few cosmetic changes involving whitespace and use of braces. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 686314cfbdac21c9019c0e04487b5d940db62406 Author: Alan Stern Date: Wed May 30 15:34:36 2007 -0400 USB: separate root and non-root suspend/resume This patch (as916) completes the separation of code paths for suspend and resume of root hubs as opposed to non-root devices. Root hubs will be power-managed through their bus_suspend and bus_resume methods, whereas normal devices will use usb_port_suspend() and usb_port_resume(). Changes to the hcd_bus_{suspend,resume} routines mostly represent motion of code that was already present elsewhere. They include: Adding debugging log messages, Setting the device state appropriately, and Adding a resume recovery time delay. Changes to the port-suspend and port-resume routines in hub.c include: Removal of checks for root devices (since they will never be triggered), and Removal of checks for NULL or invalid device pointers (these were left over from earlier kernel versions and aren't needed at all). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4956eccdd6101c5abb71966079e8183d12796d6c Author: Alan Stern Date: Wed May 30 16:51:28 2007 -0400 USB: remove __usb_port_suspend This patch (as915b) combines the public routine usb_port_suspend() and the private routine __usb_port_suspend() into a single function. By removing the explicit mention of otg_port in the call to __usb_port_suspend(), we prevent a possible error in which the system tries to perform HNP on the wrong port when a non-targeted device is plugged into a non-OTG port. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d576bb9f2769b315a795f77f0c33322a976add7a Author: Michael Hanselmann Date: Thu May 31 23:34:27 2007 +0200 USB: Fix NEC OHCI chip silicon bug This patch fixes a silicon bug in some NEC OHCI chips. The bug appears at random times and is very, very difficult to reproduce. Without the following patch, Linux would shut the chip and its associated devices down. In Apple PowerBooks this leads to an unusable keyboard and mouse (SSH still working). The idea of restarting the chip is taken from public Darwin code. Signed-off-by: Michael Hanselmann Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 020363384adfb02f26c1c038a127ed3da3d5cf37 Author: Tony Lindgren Date: Tue May 29 09:57:41 2007 -0700 USB: Disable file_storage USB_CONFIG_ATT_WAKEUP Disable file_storage USB_CONFIG_ATT_WAKEUP as it requires user interaction during Chapter 9 tests. Signed-off-by: Tony Lindgren Acked-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d23a13779f14808b54181d31222e6c44532abd80 Author: Vladimir Barinov Date: Wed May 23 20:07:48 2007 +0400 USB: EHCI: Safe endianness for transfer buffers after reset in case of HUB with TT This patch fixes the endianness select for transfer buffers in EHCI controllers that have Transaction Translator built in the hub. Also I cleaned it up to make rid of magic numbers. Signed-off-by: Vladimir Barinov Cc: Signed-off-by: Greg Kroah-Hartman commit 5fea2a4dabdfa1ad59845c42ea770ee8cb41ecad Author: Al Borchers Date: Wed May 23 12:24:53 2007 -0700 USB: digi_acceleport further buffer clean up Some further cleanup after Oliver's patch to update the tty buffering. The input buffer is not used at all anymore, so I removed it. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 08a2b3b610a734a6d6e4ff0455eec1241966fcb3 Author: Oliver Neukum Date: Thu May 24 13:52:51 2007 +0200 USB: whiteheat driver update this is an update of the whiteheat driver. It fixes: - switch from spinlocks to mutexes to prevent sleeping with a spinlock held - locking to stop races with disconnect - error handling for commands that time out Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 403dfb58c3134a339e415fba9f6d45b51c6ee357 Author: Oliver Neukum Date: Fri May 25 13:42:56 2007 +0200 USB: usb-skeleton: usb anchor to implement flush This patch set introduces usb_anchor and uses it to implement all modern APIs in the skeleton driver. - proper error reporting in the skeleton driver - implementation of flush() Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 51a2f077c44e559841b09de6da605b4d3ae40dad Author: Oliver Neukum Date: Fri May 25 13:40:56 2007 +0200 USB: introduce usb_anchor - introduction of usb_anchor and its methods Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit ffcdc18d64d73ecce49c182f969977ae88ff4384 Author: Vikram Pandita Date: Fri May 25 21:31:07 2007 -0700 USB Core: hub.c: prevent re-enumeration on HNP Patch is to prevent the OTG host of doing 3 times enumeration of device when the Host suspends for HNP. The error code used in this case is ENOTSUPP. Signed-off-by: Vikram Pandita Acked-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b29dbbd811b006deea85275e37fc1a09e8983d48 Author: David Brownell Date: Fri May 25 20:40:31 2007 -0700 USB: usb serial gadget, sparse fixes Fix a few serial gadget issues reported by the latest "sparse": some functions should have been defined as static, not just declared that way. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 715f9527c1c1edd1a9c7a55ab4535211279c9374 Author: t.sefzick Date: Wed Apr 25 15:05:22 2007 +0200 USB: flow control fix for pl2303 in order to be able to switch back to 'flow-control none' after having activated 'flow-control rts/cts', I made a small change to 'pl2303.c'. Signed-off-by: Greg Kroah-Hartman commit 1abdeeb1d566f74bc5b3e68447d91c8c37d47942 Author: Oliver Neukum Date: Mon May 7 12:09:33 2007 +0200 USB: generic usb serial to new buffering scheme the generic driver also had its own buffering. Signed-off-by: Oliver Neukum commit 39892da44b21b5362eb848ca424d73a25ccc488f Author: Oliver Neukum Date: Mon May 7 13:16:58 2007 +0200 USB: Digi AccelePort adapted to new tty buffering this fixes the flushing trouble due to its own buffering for this driver. Signed-off-by: Oliver Neukum Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit b308e74d9c708ee2a9af14fbe235e0a41216f4ed Author: Oliver Neukum Date: Mon May 7 10:37:08 2007 +0200 USB: visor driver adapted to new tty buffering the new tty buffering code allows usb drivers to stop private buffering. In fact we must do so to allow flushing to work correctly. This does so for the visor driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a5262dcfda9163ca1f8a64349a6f7ba640ac1dc2 Author: David Brownell Date: Mon May 14 19:36:41 2007 -0700 USB: export as Make sure gadgetfs userspace interface is properly exported: - Move to ; - Export it using Kbuild; - Add an #include guard; - Correct some internal documentation; - Update struct layout so it's the same on 32/64 bit kernels. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8234509c3968a87faa301a8a9d7f8b987cd9181c Author: David Rientjes Date: Fri May 11 14:39:44 2007 -0700 USB: use function attribute __maybe_unused Substitute USB instances of __attribute__ ((unused)) functions with the newly introduced __maybe_unused. Signed-off-by: David Rientjes Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ba02978a48f0117b3d0aced97a30615a5d7412e2 Author: Li Yang Date: Fri May 11 17:09:55 2007 +0800 USB: ehci_fsl update for MPC831x support For MPC831x support, change the ehci-fsl driver to preserve bits set in platform code. Add a common CONFIG_USB_EHCI_FSL to indicate presence of Freescale EHCI SOC. Add FSL_USB2_DR_OTG operating mode support, thus both host and device can work for the mini-ab receptacle. Note: this doesn't enable OTG protocol support. Signed-off-by: Li Yang Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4d68c0be69b65aa260448cea9fb1c555ae90d268 Author: Stefan Roese Date: Fri May 4 11:39:37 2007 -0700 USB: Set CONFIG_USB_EHCI_BIG_ENDIAN_MMIO/_DESC in usb/host/Kconfig Now select the big-endian configuration options CONFIG_USB_EHCI_BIG_ENDIAN_MMIO and CONFIG_USB_EHCI_BIG_ENDIAN_DESC in the usb host Kconfig file and not in the platform Kconfig files. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit fc65a15f1fc0fc95c319c9bfaeb7636fef9987cc Author: Stefan Roese Date: Fri May 4 11:38:17 2007 -0700 USB: EHCI big endian data structures support (for 440EPx) This patch adds support for the AMCC 440EPx EHCI controller whose in-memory data structures and the registers are represented in big- endian format. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 97cd49ebf74e3bee49d541a47ef085df1fbfac7d Author: Stepan Moskovchenko Date: Wed May 9 14:53:04 2007 -0400 USB: ftdi_sio.c: Allow setting latency timer on FT232RL The new FT232RL allows setting and getting the value of the latency timer, like on the FT232BM. However, the driver will not create the sysfs entries for the RL without this one-line patch. I have tested it on two systems with successful results. From: Stepan Moskovchenko Signed-off-by: Greg Kroah-Hartman commit 20dfdad74a2baabeecc2896c770efcbf698b9b8d Author: Alan Stern Date: Tue May 22 11:50:17 2007 -0400 USB: rework C++-style comments This patch (as911) replaces some C++-style commented-out debugging lines in driver.c with a new "verbose debugging" macro. It makes the code look cleaner, and it's easier to turn the debugging on or off. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d4ead16f50f9ad30bdc7276ec8fee7a24c72f294 Author: Alan Stern Date: Tue May 22 11:46:41 2007 -0400 USB: prevent char device open/deregister race This patch (as908) adds central protection in usbcore for the prototypical race between opening and unregistering a char device. The spinlock used to protect the minor-numbers array is replaced with an rwsem, which can remain locked across a call to a driver's open() method. This guarantees that open() and deregister() will be mutually exclusive. The private locks currently used in several individual drivers for this purpose are no longer necessary, and the patch removes them. The following USB drivers are affected: usblcd, idmouse, auerswald, legousbtower, sisusbvga/sisusb, ldusb, adutux, iowarrior, and usb-skeleton. As a side effect of this change, usb_deregister_dev() must not be called while holding a lock that is acquired by open(). Unfortunately a number of drivers do this, but luckily the solution is simple: call usb_deregister_dev() before acquiring the lock. In addition to these changes (and their consequent code simplifications), the patch fixes a use-after-free bug in adutux and a race between open() and release() in iowarrior. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 55e5fdfa541ec7bf1b1613624ed4dd8cdacaa841 Author: Mark Lord Date: Mon May 14 19:48:02 2007 -0400 USB: hub.c loops forever on resume from ram due to bluetooth Okay, found it. The root cause here was a missing CONFIG_USB_SUSPEND=y, which means the hci_usb device never got marked as USB_STATE_SUSPENDED, which then caused the loop to go on forever. The system works fine now with CONFIG_USB_SUSPEND=y in the .config. Here's the patch to prevent future lockups for this or other causes. I no longer need it, but it does still seem a good idea. Signed-off-by: Mark Lord Signed-off-by: Greg Kroah-Hartman commit 8538f96ae5aada1c04d69a993b20ad160b191d47 Author: Daniel Drake Date: Thu May 10 00:32:24 2007 +0100 USB: add USB_DEVICE_AND_INTERFACE_INFO for device matching Recently, the USB device matching code stopped matching generic interface matches against devices with vendor-specific device class values. Some drivers now need to explicitly match USB device ID's (in addition to generic interface info) to retain the same behaviour as before. This new macro, suggested by Alan Stern, makes the explicit device/interface matching a little simpler for those users. Signed-off-by: Daniel Drake Signed-off-by: Greg Kroah-Hartman commit 7f9985c2e4e5555b750d6f891b4923e63cc834c1 Author: David Brownell Date: Tue May 8 21:01:30 2007 -0700 USB: usb gadget, dead config cleanup Remove some dead CONFIG_ symbols, and document the status of a few others. The "gadget_chips.h" references are by and large to drivers which exist but haven't yet been submitted for merging to the main 2.6 tree. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 45b844df5a4b17884b4e26e43bfc4802604e7cab Author: Dave Platt Date: Tue May 8 11:00:12 2007 -0700 USB: RTS/CTS handshaking support, DTR fixes for MCT U232 serial adapter Improvements and fixes to the MCT U232 USB/serial interface driver. Implement RTS/CTS hardware flow control. Implement HUPCL. Bring handling of DTR and RTS into conformance with other Linux serial port drivers - assert both signals when opening device, even if "crtscts" is not currently selected. Signed-off-by: Dave Platt Signed-off-by: Greg Kroah-Hartman commit 01cd08192040eab30f837f061ca07f43cf15f4a1 Author: Arjan van de Ven Date: Tue May 22 12:42:56 2007 -0700 USB: Patch to align the various USB timers to fire at the same time This patch modifies the USB regular 250ms timer to be "perfectly aligned" to the second and quarters thereof. This change is there to make sure that if you have multiple USB ports, the timers for all these ports will fire at the same time rather than all spread out. All spread out wakes the CPU up from power saving idle a lot more than needed... Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit fc4cbd755b75c7687b923da5b75ba4a64652582e Author: Martin K. Petersen Date: Tue May 22 15:57:04 2007 -0400 USB: io_ti: Digi EdgePort update for new devices This patch adds support for the most recent Digi EdgePort USB serial devices. Signed-off-by: Martin K. Petersen Signed-off-by: Mike Swift Signed-off-by: Jeremy McBane Signed-off-by: Greg Kroah-Hartman commit dd4dd19e8d13e1e9bf8295bf71f132b511b130bf Author: Alan Stern Date: Fri May 4 11:55:54 2007 -0400 USB: Make device reset stop retrying after disconnect This patch (as898) changes the port reset code in the hub driver. If a connect change occurs, it is reported the same way as a disconnect (which of course is what it really is). It also changes usb_reset_device(), to prevent the routine from futilely retrying the reset after a disconnect has occurred. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3c519b846c4d5edf7c94d1eede42445a815bf65c Author: Alan Stern Date: Fri May 4 11:55:31 2007 -0400 USB: EHCI: fix handover for designated full-speed ports This patch (as895) fixes up a loose end in the port-handover code for the USB-Persist facility. A special case occurs when a high-speed device is attached to a port which the user has designated to run at full-speed only; the port must be disabled before the handover can take place. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6bc6cff52e0c4c4c876b1b8a5750041da61ad42b Author: Alan Stern Date: Fri May 4 11:53:03 2007 -0400 USB: add RESET_RESUME device quirk This patch (as888) adds a new USB device quirk for devices which are unable to resume correctly. By using the new code added for the USB-persist facility, it is a simple matter to reset these devices instead of resuming them. To get things kicked off, a quirk entry is added for the Philips PSC805. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 383975d765523a56dc43a6cd6d52e9b376800cf2 Author: Alan Stern Date: Fri May 4 11:52:40 2007 -0400 USB: EHCI, OHCI: handover changes This patch (as887) changes the way ehci-hcd and ohci-hcd handle a loss of VBUS power during suspend. In order for the USB-persist facility to work correctly, it is necessary for low- and full-speed devices attached to a high-speed port to be handed back to the companion controller during resume processing. This entails three changes: adding code to ehci-hcd to perform the handover, removing code from ohci-hcd to turn off ports during root-hub reinit, and adding code to ohci-hcd to turn on ports during PCI controller resume. (Other bus glue resume methods for platforms supporting high-speed controllers would need a similar change, if any existed.) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0458d5b4c9cc4ca0f62625d0144ddc4b4bc97a3c Author: Alan Stern Date: Fri May 4 11:52:20 2007 -0400 USB: add USB-Persist facility This patch (as886) adds the controversial USB-persist facility, allowing USB devices to persist across a power loss during system suspend. The facility is controlled by a new Kconfig option (with appropriate warnings about the potential dangers); when the option is off the behavior will remain the same as it is now. But when the option is on, people will be able to use suspend-to-disk and keep their USB filesystems intact -- something particularly valuable for small machines where the root filesystem is on a USB device! Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce7cd137fced114d49178b73d468b82096a107fb Author: Pete Zaitcev Date: Thu May 3 16:51:16 2007 -0700 usbmon: Add class for binary interface Add a class which allows for an easier integration with udev. This code was originally written by Paolo Abeni, and arrived to my tree as a part of big patch to add binary API on December 18. As I understand, Paolo always meant the class to be a part of the whole thing. This is his udev rule to go along with the patch: KERNEL=="usbmon[0-9]*", NAME="usbmon%n", MODE="0440",OWNER="root",GROUP="bin" Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 49cdee0ed0fce9e1bda81f5dcad8d5cce6aec983 Author: Kees Lemmens Date: Tue Mar 27 12:34:30 2007 +0200 USB: oti6858 usb-serial driver (in Nokia CA-42 cable) Last week I've been searching for a driver for the CA-42 cable (see usb below) that fitted my kernel 2.6.20. I only found an abandoned version for a driver on your website that indeed worked on 2.6.18 but wouldn't even compile with a more recent 2.6.20 kernel. I fiddled 2 evenings with the kernel code and have patched it up now to work with the modifications in the 2.6.20 kernel. The patch is attached hereafter and it works fine (at least for me :-) ). Bus 2 Device 13: ID 0ea0:6858 Ours Technology, Inc. I had to fiddle a little with the settings in .gnokiirc but that also occurred with the older 2.6.18 kernel. Nevertheless, on one system with this cable and my Nokia 6070 I had best results with : model = 6510 connection = dku5 while on an other system with the same kernel, cable and phone it only worked with : model = AT connection = serial serial_write_usleep = 1 From: Kees Lemmens Cc: Cc: Signed-off-by: Greg Kroah-Hartman commit 9c033e810eef0aff6d4d3bf028aa1e583c074f93 Author: David Brownell Date: Thu May 17 12:21:19 2007 -0700 USB: ehci refcounts work on ppc7448 Remove atomic operations on the reference counter for EHCI queue heads. On various platforms (including ppc7448), atomic operations are unusable with dma-coherent memory. Signed-off-by: Steven J. Hill Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 04d06ad0f1fdb499af84ae3d7969e2136a462f38 Author: Jan Engelhardt Date: Thu May 10 23:04:13 2007 -0700 USB: Use menuconfig objects Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e8054854221d9d51e381c64d365404f4c1c30f50 Author: Alan Stern Date: Fri May 4 11:55:11 2007 -0400 USB: make hub driver's release more robust This revised patch (as893c) improves the method used by the hub driver to release its private data structure. The current code is non-robust, relying on a memory region not getting reused by another driver after it has been freed. The patch adds a reference count to the structure, resolving the question of when to release it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 06b84e8adcad8280d76a7c71e772c5cddba96d85 Author: Alan Stern Date: Fri May 4 11:54:50 2007 -0400 USB: remove "locktree" routine from the hub driver This patch (as892) removes the "locktree" routine from the hub driver. It currently is used in only one place, by a single kernel thread; hence it isn't doing any good. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f3fd77cd2f4499f3e2ef9a1e6d5e4f4349d556c3 Author: Alan Stern Date: Fri May 4 11:54:28 2007 -0400 USB: remove references to dev.power.power_state This revised patch (as891b) removes two unnecessary references to intf->dev.power.power_state from usb-storage, and replaces a reference to root_hub->dev.power.power_state with a check of hcd->state. This is in preparation for the removal of dev.power.power_state, which is already deprecated. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8adb4786789c25007f39b4d00dd03cc83bdcb896 Author: Alan Stern Date: Fri May 4 11:53:30 2007 -0400 USB: don't unsuspend for a new connection This patch (as889) prevents the hub driver from trying to resume a port when there is a new connection. For one thing, the resume is not needed -- the upcoming port reset will clear the suspend feature automatically. For another, on some systems the resume fails and causes problems. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b6f6436da0c6853eedad86f5075b139c1a3bcb5d Author: Alan Stern Date: Fri May 4 11:51:54 2007 -0400 USB: move bus_suspend and bus_resume method calls This patch (as885) moves the root-hub bus_suspend() and bus_resume() method calls from the hub driver's suspend and resume methods into the usb_generic driver methods, where they make just as much sense. Their old locations were not fully correct. For example, in a kernel compiled without CONFIG_USB_SUSPEND, if one were to do: echo -n 1-0:1.0 >/sys/bus/usb/drivers/hub/unbind to unbind the hub driver from a root hub, there would then be no way to suspend that root hub. Attempts to put the system to sleep would fail; the USB controller driver would refuse to suspend because the root hub was still active. The patch also makes a very slight change in the way devices with no driver are handled during suspend. Rather than doing a standard USB port-suspend directly, now the suspend routine in usb_generic is called. In practice this should never affect anyone. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4d461095ef6967324bc5da5d65d23ad27fc604f9 Author: Alan Stern Date: Fri May 4 11:51:25 2007 -0400 USB: Implement PM FREEZE and PRETHAW This patch (as884) finally implements the time-saving semantics possible with the Power Management FREEZE and PRETHAW events. Their proper handling requires only that devices be quiesced, with interrupts and DMA turned off; non-root USB devices don't actually need to be put in a suspended state. The patch checks and avoids doing the suspend call when possible. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 784a6e1cc406b7ef48476a1f38b83fc551f5616f Author: Alan Stern Date: Fri May 4 11:49:57 2007 -0400 USB: interface PM state This patch (as880) strives to keep the PM core's idea of a USB interface's power state in synch with usbcore's own idea. In the end this doesn't really matter, but it's better to be consistent. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f6ace2c99afefb7969ccccba2fb413ad29ab2e2e Author: Yoshihiro Shimoda Date: Wed May 30 20:42:41 2007 +0900 USB: r8a66597-hcd: fix NULL access This patch fixes the problem that accesses NULL pointer when disconnected a cable while play music with usb-speaker. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 5d3043586db428b5b4b3df89fa0c2db9731e934c Author: Yoshihiro Shimoda Date: Thu May 10 13:18:19 2007 +0900 USB: r8a66597-hcd: host controller driver for R8A66597 I would like to submit Renesas R8A66597 USB HCD driver. R8A66597 is Renesas USB 2.0 host and peripheral combined controller device originally designed for embedded products. As a limitation of this device, it does not support externel hub more than 2 tier, and cannot communicate with a USB device more than 10. Then this device is not compatible with EHCI and/or OHCI, I wrote driver support patch based on sl811 code. This driver has the following unique specifications: - Implement transfer timeout to share one pipe with plural endpoint. - Detach detection of a USB device connected to externel hub. The driver has been tested external hub, usb-hdd, usb-cdrom, usb-speaker, mice, keyboard, and usbtest driver. Signed-off-by : Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 15a1d5c9271219db2f1bc448247fb8ccbcc08418 Author: Yoshihiro Shimoda Date: Wed May 30 22:06:00 2007 +0900 USB: m66592-udc: fix use old interrupt flags This patch fixes the problem that used SA_* flags. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 4cf2503c6801a69fee25030475eceeefb36d1b56 Author: Yoshihiro Shimoda Date: Thu May 10 13:18:23 2007 +0900 USB: m66592-udc: peripheral controller driver for M66592 I would like to submit Renesas M66592 udc driver. The M66592 is Renesas USB 2.0 peripheral controller. This controller supports USB high-speed. The driver has been tested Gadget Zero, Ethernet Gadget, File-backed Storage Gadget, and passed usbtest script. Signed-off-by : Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 0ca1268e109acf6d71507398cb95cab2e670b654 Author: Lucy McCoy Date: Fri May 18 12:10:41 2007 -0700 USB Serial Keyspan: add support for USA-49WG & USA-28XG Add support for Keyspan adapters: USA-49WG and USA-28XG Signed-off-by: Lucy P. McCoy Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 87e71b473ee199cf4b7b7a0ce890cd01f45e3a0e Author: Simon Arlott Date: Thu May 10 23:04:11 2007 -0700 USB: cxacru: Cleanup sysfs attribute code This changes the format of unknown status values to be less verbose and uses an array instead of several different snprintf calls. Since only enum values are assigned to it, poll_state is changed from int to enum. Use abs() for dB values instead of two almost identical return lines. Signed-off-by: Simon Arlott Acked-by: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6dbd682b7c6d58916096616cdf94852641bc09d9 Author: Stefan Roese Date: Tue May 1 09:29:37 2007 -0700 USB: EHCI support for big-endian descriptors This patch implements supports for EHCI controllers whose in-memory data structures are represented in big-endian format. This is needed (unfortunately) for the AMCC PPC440EPx SoC EHCI controller; the EHCI spec doesn't specify little-endian format, although that's what most other implementations use. The guts of the patch are to introduce the hc32 type and change all references from le32 to hc32. All access routines are converted from cpu_to_le32(...) to cpu_to_hc32(ehci, ...) and similar for the other "direction". (This is the same approach used with OHCI.) David fixed: Whitespace fixes; refresh against ehci cpufreq patch; move glue for that PPC driver to the patch adding it; fix free symbol capture bugs in modified "constant" macros; and make "hc32" etc be "le32" unless we really need the BE options, so "sparse" can do some real good. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 196705c9bbc03540429b0f7cf9ee35c2f928a534 Author: Stuart_Hayes@Dell.com Date: Thu May 3 08:58:49 2007 -0700 USB: EHCI cpufreq fix EHCI controllers that don't cache enough microframes can get MMF errors when CPU frequency changes occur between the start and completion of split interrupt transactions, due to delays in reading main memory (caused by CPU cache snoop delays). This patch adds a cpufreq notifier to the EHCI driver that will inactivate split interrupt transactions during frequency transitions. It was tested on Intel ICH7 and Serverworks/Broadcom HT1000 EHCI controllers. Signed-off-by: Stuart Hayes Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ec22559e0b7a05283a3413bda5d177e42c950e23 Author: Oliver Neukum Date: Fri Apr 27 20:54:57 2007 +0200 USB: suspend support for usb serial this implements generic support for suspend/resume for usb serial. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 57e4acb3f63e1d3d74a75613eefde8b2d68164e3 Author: Tony Luck Date: Thu Jul 12 16:04:39 2007 -0700 [IA64] Un-break ia64 build Commit 91a6902958f052358899f58683d44e36228d85c2 added an extra argument to pci_read_legacy_io() and pci_write_legacy_io(). But the prototypes in include/asm-ia64/pci.h were not updated. Signed-off-by: Tony Luck commit cec7c893d8654723028f09d33341e42673558057 Author: Roland Dreier Date: Thu Jul 12 15:59:36 2007 -0700 IB: Update MAINTAINERS with Hal's new email address Signed-off-by: Roland Dreier commit 65541cb7cf353946ecd78016a453b453b8830656 Author: Jack Morgenstein Date: Thu Jun 21 13:03:11 2007 +0300 IB/mlx4: Implement query SRQ Signed-off-by: Dotan Barak Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 6a775e2ba4f7635849ade628e64723ab2beef0bc Author: Jack Morgenstein Date: Thu Jun 21 12:27:47 2007 +0300 IB/mlx4: Implement query QP Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit dd172d72addefd89795e819cc2cc3eb1b9d12a7f Author: Chandra Seetharaman Date: Thu Jul 12 17:30:05 2007 +0100 dm mpath: rdac This patch supports LSI/Engenio devices in RDAC mode. Like dm-emc it requires userspace support. In your multipath.conf file you must have: path_checker rdac hardware_handler "1 rdac" prio_callout "/sbin/mpath_prio_tpc /dev/%n" And you also then must have a updated multipath tools release which has rdac support. Signed-off-by: Chandra Seetharaman Signed-off-by: Mike Christie Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fc1ff9588a6d56258ff9576a31aa34f17757c666 Author: Jonathan Brassow Date: Thu Jul 12 17:29:15 2007 +0100 dm raid1: handle log failure When writing to a mirror, the log must be updated first. Failure to update the log could result in the log not properly reflecting the state of the mirror if the machine should crash. We change the return type of the rh_flush function to give us the ability to check if a log write was successful. If the log write was unsuccessful, we fail the writes to avoid the case where the log does not properly reflect the state of the mirror. A follow-up patch - which is dependent on the ability to requeue I/O's to core device-mapper - will requeue the I/O's for retry (allowing the mirror to be reconfigured.) Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit f44db678edcc6f4c2779ac43f63f0b9dfa28b724 Author: Jonathan Brassow Date: Thu Jul 12 17:29:04 2007 +0100 dm raid1: handle resync failures Device-mapper mirroring currently takes a best effort approach to recovery - failures during mirror synchronization are completely ignored. This means that regions are marked 'in-sync' and 'clean' and removed from the hash list. Future reads and writes that query the region will incorrectly interpret the region as in-sync. This patch handles failures during the recovery process. If a failure occurs, the region is marked as 'not-in-sync' (aka RH_NOSYNC) and added to a new list 'failed_recovered_regions'. Regions on the 'failed_recovered_regions' list are not marked as 'clean' upon removal from the list. Furthermore, if the DM_RAID1_HANDLE_ERRORS flag is set, the region is marked as 'not-in-sync'. This action prevents any future read-balancing from choosing an invalid device because of the 'not-in-sync' status. If "handle_errors" is not specified when creating a mirror (leaving the DM_RAID1_HANDLE_ERRORS flag unset), failures will be ignored exactly as they would be without this patch. This is to preserve backwards compatibility with user-space tools, such as 'pvmove'. However, since future read-balancing policies will rely on the correct sync status of a region, a user must choose "handle_errors" when using read-balancing. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit d0d444c7d48c14d59f665887c758fde248f1cb37 Author: Jonathan Brassow Date: Thu Jul 12 17:28:42 2007 +0100 dm: add ratelimit logging macros Add ratelimit extension to dm logging macros. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 07a83c47cfc00ba5f0f090ccddd3a0703be0eec9 Author: Stefan Bader Date: Thu Jul 12 17:28:33 2007 +0100 dm: disable barriers This patch causes device-mapper to reject any barrier requests. This is done since most of the targets won't handle this correctly anyway. So until the situation improves it is better to reject these requests at the first place. Since barrier requests won't get to the targets, the checks there can be removed. Cc: stable@kernel.org Signed-off-by: Stefan Bader Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 943317efdbc295e8a28df3f5cbd549d066ee8b4a Author: Jonathan Brassow Date: Thu Jul 12 17:28:25 2007 +0100 dm raid1: clear region outside spinlock A clear_region function is permitted to block (in practice, rare) but gets called in rh_update_states() with a spinlock held. The bits being marked and cleared by the above functions are used to update the on-disk log, but are never read directly. We can perform these operations outside the spinlock since the bits are only changed within one thread viz. - mark_region in rh_inc() - clear_region in rh_update_states(). So, we grab the clean_regions list items via list_splice() within the spinlock and defer clear_region() until we iterate over the list for deletion - similar to how the recovered_regions list is already handled. We then move the flush() call down to ensure it encapsulates the changes which are done by the later calls to clear_region(). Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 0764147b111b8ca886e4f2e9c9e019106b09b657 Author: Milan Broz Date: Thu Jul 12 17:28:13 2007 +0100 dm snapshot: permit invalid activation Allow invalid snapshots to be activated instead of failing. This allows userspace to reinstate any given snapshot state - for example after an unscheduled reboot - and clean up the invalid snapshot at its leisure. Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fcac03abd325e4f7a4cc8fe05fea2793b1c8eb75 Author: Milan Broz Date: Thu Jul 12 17:28:00 2007 +0100 dm snapshot: fix invalidation deadlock Process persistent exception store metadata IOs in a separate thread. A snapshot may become invalid while inside generic_make_request(). A synchronous write is then needed to update the metadata while still inside that function. Since the introduction of md-dm-reduce-stack-usage-with-stacked-block-devices.patch this has to be performed by a separate thread to avoid deadlock. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 596f138eede0c113aa655937c8be85fc15ccd61c Author: Jun'ichi Nomura Date: Thu Jul 12 17:27:45 2007 +0100 dm io: fix panic on large request bio_alloc_bioset() will return NULL if 'num_vecs' is too large. Use bio_get_nr_vecs() to get estimation of maximum number. Cc: stable@kernel.org Signed-off-by: "Jun'ichi Nomura" Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit c95bc206da4bc9838bad826883f8f461a972e441 Author: Milan Broz Date: Thu Jul 12 17:27:24 2007 +0100 dm raid1: fix status Fix mirror status line broken in dm-log-report-fault-status.patch: - space missing between two words - placeholder ("0") required for compatibility with a subsequent patch - incorrect offset parameter Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 0cd3312434cd1f29bee6bff53bf2790d733ad2a2 Author: Alasdair G Kergon Date: Thu Jul 12 17:27:01 2007 +0100 dm: remove duplicate module name from error msgs Remove explicit module name from messages as the macro now includes it automatically. Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit ac818646d4be79123ad8dc5f1c4da8575d4960f8 Author: Alasdair G Kergon Date: Thu Jul 12 17:26:47 2007 +0100 dm delay: cleanup Use setup_timer(). Replace semaphore with mutex. Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 028867ac28e51afc834a5931e7545c022557eded Author: Alasdair G Kergon Date: Thu Jul 12 17:26:32 2007 +0100 dm: use kmem_cache macro Use new KMEM_CACHE() macro and make the newly-exposed structure names more meaningful. Also remove some superfluous casts and inlines (let a modern compiler be the judge). Acked-by: Christoph Lameter Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 79e15ae424afa0a40b1a0c4478046d6ba0b71e20 Author: Alasdair G Kergon Date: Thu Jul 12 17:26:19 2007 +0100 dm: bio_list prefetch removal Remove dubious prefetch from bio_list_for_each() macro. Cc: Jens Axboe Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fcae8e098877b798c365fd9d807f86d5e2a2b324 Author: Russell King Date: Thu Jul 12 21:29:45 2007 +0100 [ARM] sa1100: remove boot time RTC initialisation The RTC library code contains everything necessary to set the system time from the RTC; for similar reasons as the previous commit, it's far better to let the RTC library code sort this out rather than implement something which might not be appropriate for everyone. Signed-off-by: Russell King commit f3ebbc20ab835ff98cf920f85de989064e352ee5 Author: Russell King Date: Thu Jul 12 21:29:06 2007 +0100 [ARM] sa1100: stop doing our own rtc management over suspend Remove the RTC management over a suspend/resume cycle. As per the corresponding PXA patch, the RTC library code handles updating system time on resume. Signed-off-by: Russell King commit c6e54a578133fb353a50fb44d650768b3b9eb18e Author: Albert Lee Date: Sat Jul 7 15:00:37 2007 +0800 libata: remove irq_on from ata_bus_reset() and ata_std_postreset() It seems irq_on() in ata_bus_reset() and ata_std_postreset() are leftover of the EDD reset. Remove them. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit e04b3b9d03477781eff068957a9abfc92ffc4f59 Author: Tejun Heo Date: Tue Jul 10 17:58:21 2007 +0900 ata_piix: kill incorrect invalid map value warning The last two slots of MAP 00b of ich6m was incorrectly marked as reserved. This is left over from converting the entry to allow 00b. This causes no real problem. It only makes the driver print annoying warning message. Fix it. [patch also proferred by Pierre Tardy at the end of 2006 -jg] Signed-off-by: Tejun Heo -- drivers/ata/ata_piix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit e8361fc410badfe23986fc070843112306bd9c8d Author: Chuck Ebbert Date: Thu Jul 12 14:37:19 2007 -0400 libata: add another Maxtor drive with broken NCQ to the list Add another Maxtor 6B200M0 drive with broken NCQ to the list. Signed-off-by: Chuck Ebbert Signed-off-by: Jeff Garzik commit 63fc33ceb0ccc08b3f62d7bfe56a33eb33ca9427 Author: Daniel Drake Date: Tue Jul 10 19:32:11 2007 +0200 [PATCH] mac80211: improved 802.11g CTS protection Currently, CTS protection is partially implemented twice: 1. via prism2 ioctls, only used by hostapd 2. via STA beacon parsing, recorded in sta.use_protection but never used (other than printed in debugfs) Protection control should be implemented on a per-subif basis. For example, a single physical device may be running a soft AP on one channel, and a STA on another. The AP interface should use protection based on what hostapd told it, and the STA interface should use protection based on beacon parsing. These should operate independantly: one subif using protection should not influence the other. To implement this, I moved the use_protection flag into ieee80211_sub_if_data and removed the device-global cts_protect_erp_frames flag. I also made the PRISM2_PARAM_CTS_PROTECT_ERP_FRAMES write operation only available for AP interfaces, to avoid any possibility of the user messing with the behaviour of a STA. Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 5628221caf88e2a052782b042e12da7cd34111b0 Author: Daniel Drake Date: Tue Jul 10 19:32:10 2007 +0200 [PATCH] mac80211: ERP IE handling improvements The "protection needed" flag is currently parsed out of the ERP IE in beacons. This patch allows the ERP IE to be available at assocation time and causes the appropriate actions to be performed earlier. It is slightly complicated by the fact that most APs don't include the ERP IE in association responses. To work around this, we store ERP values in the ieee80211_sta_bss structure. Also added some WLAN_ERP defines for use by upcoming patches. Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 1fd5e589d8c7d3cd42ddd39358338766cfcedec8 Author: Larry Finger Date: Tue Jul 10 19:32:10 2007 +0200 [PATCH] mac80211: Implementation of SIOCSIWRATE The WEXT ioctl SIOCSIWRATE is not implemented in mac80211. This patch adds the missing routine. It supports the 'auto' keyword, fixed rates, and the combination of 'auto' and a fixed rate to select an upper bound. Based on the patch from Mohamed Abbas . Signed-off-by: Larry Finger Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 4480f15ca62a595248d6d8e2b3e75052113cde59 Author: Johannes Berg Date: Tue Jul 10 19:32:10 2007 +0200 [PATCH] mac80211: clarify some mac80211 things The semantics of not having an add_interface callback are not well defined, this callback is required because otherwise you cannot obtain the requested MAC address of the device. Change the documentation to reflect this, add a note about having no MAC address at all, add a warning that mac_addr in struct ieee80211_if_init_conf can be NULL and finally verify that a few callbacks are assigned by way of BUG_ON() Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 5558235c6bade6662e6f257a35f2dfdc8a742147 Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: conserve stack space due to padding This patch reorders some fields in struct ieee802_11_elems to save 17*7 or 17*3 bytes (on 64/32-bit machines respectively) stack space in a few functions. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 191b92666e3a8aa52af84e2d03350c25145be695 Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: kill PRISM2_PARAM_CLEAR_KEYS Not used anywhere, hence dead code. wpa_supplicant has its own clear_keys routine. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit fda6cc7ac45f97d4d40cc42781041dec488fa78c Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: remove PRISM2_PARAM_DROP_UNENCRYPTED ioctl Interestingly, wpa_supplicant doesn't use it, but uses the currently unsupported IW_AUTH_DROP_UNENCRYPTED. So I guess it doesn't matter anyway. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 9771f740c6319e67bab44d18b9717c894a6f266d Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: kill antenna select ioctls Not used anywhere. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 3ef8bed4692a0de6a47d162196c850c5dea85b70 Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: kill rate control ioctls These aren't used anywhere (hostapd, wpa_supplicant) and until we have a proper interface to the rate control algorithms they don't make much sense either since e.g. rc80211_lowest won't honour them. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 40f7cac9f8dd662c1dd02334afdceef0be03e34f Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: separate monitor/subif_start_xmit This patch separates the monitor interface start_xmit from the subif start xmit (those other devices have 802.3 framing, monitor interfaces have radiotap framing) Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 333af2f0715c8d4d38cb657d8f4fb7c4e3ceba9f Author: Hong Liu Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: add support for iwlist channel Add supported channels info in SIOCGIWRANGE implementation. Signed-off-by: Hong Liu Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit c59304b5e07128816347fe3996d7952561f60529 Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: remove ieee80211_set_aid_for_sta Remove ieee80211_set_aid_for_sta and associated code. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 7f8c05982865a32ee001b79ee0bd469f55ac8aba Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: remove ieee80211_msg_passive_scan This constant is unused. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit b306f45300866adc01b84f7aa083bfcd9cbb89c4 Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: show transmitted frames on monitor interfaces This patch makes mac80211 show transmitted frames on monitor interfaces, including radiotap headers that indicate some transmission parameters. The shown parameters will need to be expanded, but this should work as a basis to work from. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit e4c967c6d88ca94365dd8e2a7bbd22eedb8d7ae7 Author: Andy Green Date: Tue Jul 10 19:32:07 2007 +0200 [PATCH] mac80211: Monitor mode radiotap-based packet injection Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 179f831bc33104d14deb54a52b7a8b43433f8ccc Author: Andy Green Date: Tue Jul 10 19:29:38 2007 +0200 [PATCH] cfg80211: Radiotap parser Generic code to walk through the fields in a radiotap header, accounting for nasties like extended "field present" bitfields and alignment rules Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 08d1f2155cd5b21bb3848f46d9747afb1ccd249d Author: Andy Green Date: Tue Jul 10 19:29:37 2007 +0200 [PATCH] mac80211: Monitor mode radiotap injection docs Add monitor mode radiotap injection docs. Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit ee9ccdf70163ca6408f6965e0fbc65baeac7312c Author: Jeff Garzik Date: Thu Jul 12 15:51:22 2007 -0400 [libata] sata_mv: Fix and clean up per-chip-generation tests Due to a mistake in test logic, Gen-IIE chips were being treated as Gen-II chips in some cases. Fix this, and in the process, clean up IS_50XX/IS_60XX tests to the more uniform IS_GEN_{I,II,IIE} tests. Signed-off-by: Jeff Garzik commit bdd4dddee325a7dce3e84cf48201a06aa8508aa4 Author: Jeff Garzik Date: Thu Jul 12 14:34:26 2007 -0400 [libata] sata_mv: Convert to new exception handling (EH) infrastructure This makes hotplug, NCQ, etc. possible, and removes one of the few remaining old-EH drivers. Signed-off-by: Jeff Garzik commit 4537deb5e90b717a725b3d74b58b4bb1d28443d0 Author: Jeff Garzik Date: Thu Jul 12 14:30:19 2007 -0400 [libata] sata_mv: minor bug fixes, enhancements, and cleanups (prep for new EH) * Continue replacing "CONSTANT & var" tests with "var & CONSTANT" * Don't clear EDMA_CFG_NCQ_GO_ON_ERR on Gen-IIE, where that bit does not exist * Set I/O Id field in descriptor, where present. Appears to work fine on all versions, even though queueing is still disabled. * call pci_set_mwi(), to (a) make sure cacheline size is set properly, and (b) enable MWI transactions * Remove never-used handling of coalescing interrupt bits (these events are always masked) Signed-off-by: Jeff Garzik commit c39736823232bc3ca113c8228fa852c09fba300e Author: H. Peter Anvin Date: Wed Jul 11 12:18:58 2007 -0700 Remove old i386 setup code This removes the old i386 setup code. This is done as a separate patch to avoid breaking git bisect as some of the i386 code was also used by the old x86-64 code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 91a6c462b02d8dc02dbe95e5a407d78078a38d01 Author: H. Peter Anvin Date: Wed Jul 11 12:18:57 2007 -0700 Use the new x86 setup code for x86-64; unify with i386 This unifies arch/*/boot (except arch/*/boot/compressed) between i386 and x86-64, and uses the new x86 setup code for x86-64 as well. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 4fd06960f120e02e9abc802a09f9511c400042a5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:56 2007 -0700 Use the new x86 setup code for i386 This patch hooks the new x86 setup code into the Makefile machinery. It also adapts boot/tools/build.c to a two-file (as opposed to three-file) universe, and simplifies it substantially. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f2d98ae63dc64dedb00499289e13a50677f771f9 Author: H. Peter Anvin Date: Wed Jul 11 12:18:55 2007 -0700 Linker script for the new x86 setup code Linker script to define the layout of the new x86 setup code. Includes assert for size overflow and a misaligned setup header. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 626073132b381684c4983e0d911e9aceb32e2cbc Author: H. Peter Anvin Date: Wed Jul 11 12:18:54 2007 -0700 Assembly header and main routine for new x86 setup code The assembly header and initialization code, and the main() routine. main.c also contains some miscellaneous very short routines. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 7052fdd890bda0b3904674b69a1d24aec0a10d67 Author: H. Peter Anvin Date: Wed Jul 11 12:18:53 2007 -0700 Code for actual protected-mode entry This is the code which actually does the switch to protected mode, including all preparation. It is also responsible for invoking the boot loader hooks, if present. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5e8ddcbe8692ca9854991c6875d302fa7e424e3c Author: H. Peter Anvin Date: Wed Jul 11 12:18:52 2007 -0700 Video mode probing support for the new x86 setup code Video mode probing for the new x86 setup code. This code breaks down different drivers into modules. This code deliberately drops support for a lot of the vendor-specific mode probing present in the assembly version, since a lot of those probes have been found to be stale in current versions of those chips -- frequently, support for those modes have been dropped from recent video BIOSes due to space constraints, but the video BIOS signatures are still the same. However, additional drivers should be extremely straightforward to plug in, if desirable. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 337496eb73ec970fe008095fdb2b2af60a2a7fa3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:51 2007 -0700 Voyager support for the new x86 setup code Voyager support for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 449f2ab946b5ffbc357d815e8e3cce8def642984 Author: H. Peter Anvin Date: Wed Jul 11 12:18:50 2007 -0700 Memory probing support for the new x86 setup code Probe memory (INT 15h: E820, E801, 88). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 3b53d3045bbb8ea3c9dce663b102eab0903817c5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:49 2007 -0700 MCA support for new x86 setup code MCA probing support for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit d13444a5a53b0159e6316a7a7be9890143a5af71 Author: H. Peter Anvin Date: Wed Jul 11 12:18:48 2007 -0700 EDD probing code for the new x86 setup code Probe EDD and MBR signatures, in order to make it easier to map physical hard drives to BIOS drives. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 31b54f40e12e4d04941762be6615edaf3c6ed811 Author: H. Peter Anvin Date: Wed Jul 11 12:18:47 2007 -0700 CPU features verification for the new x86 setup code Verify that the CPU has enough features to run the kernel. This may entail enabling features on some CPUs. By doing this in the setup code we can be guaranteed to still be able to write to the console through the BIOS. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 0008ea39bd03ee1f29e361e6f6e1b8a6289e5234 Author: H. Peter Anvin Date: Wed Jul 11 12:18:46 2007 -0700 Version string for the new x86 setup code Module which only includes the kernel version string. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 1543610ad79ac4cc61c26f8a29c84e4229faa9a3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:45 2007 -0700 Console-writing code for the new x86 setup code This implements writing text to the console, including printf(). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit e44c22f65f96217692e1a915032fbe7d22236751 Author: H. Peter Anvin Date: Wed Jul 11 12:18:44 2007 -0700 Command-line parsing code for the new x86 setup code Simple command-line parser which allows us to access the kernel command line from the setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 49df18fa3f95a5c988b64e4e20e15372282e96ea Author: H. Peter Anvin Date: Wed Jul 11 12:18:43 2007 -0700 APM probing code APM probing code for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5a8a8128bc218ebd067c660912d838344b05c608 Author: H. Peter Anvin Date: Wed Jul 11 12:18:42 2007 -0700 A20 handling code A20 handling code for the new x86 setup code. This implements the same algorithms as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5be865661516263d90317a6b35b588a2d7c3cb55 Author: H. Peter Anvin Date: Wed Jul 11 12:18:41 2007 -0700 String-handling functions for the new x86 setup code. strcmp(), memcpy(), memset(), as well as routines to copy to and from other segments (as pointed to by fs and gs). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit ad7e906d5687bb076fe6c3c980d6e013a3a42bde Author: H. Peter Anvin Date: Wed Jul 11 12:18:40 2007 -0700 Simple bitops for the new x86 setup code. A simple collection of bitops for the new x86 setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 62bd0337d0c4a77902502558aa30ceeb15655407 Author: H. Peter Anvin Date: Wed Jul 11 12:18:39 2007 -0700 Top header file for new x86 setup code Top header file for the new x86 setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f7f4a5fbd21bf7fc4f207ddaf5126c78c0d1e0b5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:38 2007 -0700 Header file to produce 16-bit code with gcc gcc for i386 can be used with the assembly prefix ".code16gcc" to generate 16-bit (real-mode) code. This header file provides the assembly prefix. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 8afd2af88921c2cb1c9540cecd0714da7ae4fcd0 Author: H. Peter Anvin Date: Wed Jul 11 12:18:37 2007 -0700 x86-64: add symbolic constants for the boot segment selectors Add symbolic constants for the segment selectors/GDT slots used by the setup code, for consistency with i386. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 77e1dd654bc24182a7ad34f415abd488ae7af6eb Author: H. Peter Anvin Date: Wed Jul 11 12:18:36 2007 -0700 x86-64: add CONFIG_PHYSICAL_ALIGN for consistency with i386 Add CONFIG_PHYSICAL_ALIGN (currently as a hardcoded constant) to provide consistency with i386. This value is manifest in the bzImage header. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 48c7ae674f03e56c78ff42c6796a36e90db67874 Author: H. Peter Anvin Date: Wed Jul 11 12:18:35 2007 -0700 Make struct boot_params a real structure, and remove obsolete fields Make struct boot_params a real structure, and remove the handling of some obsolete fields, in particular hd*_info, which was only used by the ST-506 driver, and likely to be wrong for that driver on any modern BIOS. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 9c25d134b3735a4b197e108b4c7d6bbec1a275e8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:34 2007 -0700 Make definitions for struct e820entry and struct e820map consistent Make definitions for struct e820entry and struct e820map consistent between i386 and x86-64. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 85414b693ac037d709582a167a330db3a5d186d8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:33 2007 -0700 Define zero-page offset 0x1e4 as a scratch field, and use it The relocatable kernel code needs a scratch field for the decompressor to determine its own location. It was using a location inside struct screen_info; reserve a free location and document it as scratch instead. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 1d67953f2bda8876045c24ae58841f27d9bb7572 Author: Venki Pallipadi Date: Wed Jul 11 12:18:32 2007 -0700 Use a new CPU feature word to cover features that are spread around Some Intel features are spread around in different CPUID leafs like 0x5, 0x6 and 0xA. Make this feature detection code common across i386 and x86_64. Display Intel Dynamic Acceleration feature in /proc/cpuinfo. This feature will be enabled automatically by current acpi-cpufreq driver. Refer to Intel Software Developer's Manual for more details about the feature. Thanks to hpa (H Peter Anvin) for the making the actual code detecting the scattered features data-driven. Signed-off-by: Venkatesh Pallipadi Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit e087db510cd96a75a614f6f6fcd5499ab21cb087 Author: H. Peter Anvin Date: Wed Jul 11 12:18:31 2007 -0700 Clean up struct screen_info () struct screen_info has unaligned members, it needs to be packed. In the process, fix the naming of some of the members, which don't belong in this structure but are part of it anyway. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit de32e04175efbc1ff5e0f509253d5dfc84f173b3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:30 2007 -0700 x86 Kconfig: change X86_MINIMUM_CPU_MODEL to X86_MINIMUM_CPU_FAMILY The X86_MINIMUM_CPU_MODEL name isn't really right, so change it to X86_MINIMUM_CPU_FAMILY. Also, the default minimum should be 3, not 0. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit ec481536b15eb0520d8f0204b0294480050fe1f8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:29 2007 -0700 Unify the CPU features vectors between i386 and x86-64 Unify the handling of the CPU features vectors between i386 and x86-64. This also adopts the collapsing of features which are required at compile-time into constant tests from x86-64 to i386. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f8c09377d754f35a135454181b869ab527cc0757 Author: H. Peter Anvin Date: Wed Jul 11 12:18:28 2007 -0700 include/asm-i386/boot.h: This is , not include/asm-i386/boot.h incorrectly has the multiple include guards as _LINUX_BOOT_H instead of _ASM_BOOT_H. Fix. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 48dd643c3b02544994fa091573c2242441a7733f Author: H. Peter Anvin Date: Wed Jul 11 12:18:27 2007 -0700 hd.c: remove BIOS/CMOS queries An ST-506 disk these days is pretty much someone trying to pull ancient data using an auxilliary controller. Pulling data from the BIOS or CMOS is just plain wrong, since it's likely to be the primary OS disk... and would be user-entered data anyway. Instead, require the user enters it on the command line. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 7f1291f2caa536c441507b459f91770a5280fb5d Author: H. Peter Anvin Date: Wed Jul 11 12:18:26 2007 -0700 x86 setup: MAINTAINERS: formally take responsibility for the i386 boot code Change MAINTAINERS to formally take responsibility for the i386 boot code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit de61b542b822746d1498718c40f5dd740da49629 Author: Ralf Baechle Date: Thu Jul 12 17:41:23 2007 +0100 [MIPS] Rename PC speaker code While the PC speaker is wired up to the i8254 there is more to the i8254 than just the PC speaker so this code was getting in the way under its current name. Signed-off-by: Ralf Baechle commit fdc1f93847ea618e51f001805e022794d8bffff3 Author: Ralf Baechle Date: Thu Jul 12 17:41:21 2007 +0100 [MIPS] Don't use genrtc. The only pseudo-legitimate MIPS user of genrtc was a systems that doesn't have an RTC in hardware at all. At this point faking one is a little pointless ... commit 1f2c6d6b0c553e44273aaee24820c67ebfbbfebe Author: Yoichi Yuasa Date: Thu Jun 7 22:27:50 2007 +0900 [MIPS] Remove unused time.c for swarm Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 28fc582cc9b7fc6ed6a9fbf9565a2b1e56eee880 Author: Atsushi Nemoto Date: Fri Jul 13 01:49:49 2007 +0900 [MIPS] Sparse: Use NULL for pointer This fixes a sparse warning: arch/mips/kernel/traps.c:376:44: warning: Using plain integer as NULL pointer Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 8ed07a1cce1530d2fd42e23c867a7c0c1170515a Author: Atsushi Nemoto Date: Fri Jul 13 01:26:52 2007 +0900 [MIPS] Fix a sparse warning in arch/mips/pci/pci.c Fixes this warning: arch/mips/pci/pci.c:284:18: warning: symbol 'dev' shadows an earlier one arch/mips/pci/pci.c:272:17: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0db34215c7e0ef618e7b29fbf271194ca5434f8e Author: Kevin D. Kissell Date: Thu Jul 12 16:21:08 2007 +0100 [MIPS] SMTC: Interrupt mask backstop hack To support multiple TC microthreads acting as "CPUs" within a VPE, VPE-wide interrupt mask bits must be specially manipulated during interrupt handling. To support legacy drivers and interrupt controller management code, SMTC has a "backstop" to track and if necessary restore the interrupt mask. This has some performance impact on interrupt service overhead. Disable it only if you know what you are doing. Signed-off-by: Ralf Baechle commit bd0765098bf22eb8b1319f649a4c3301b40ec04c Author: Yoichi Yuasa Date: Fri May 11 21:18:48 2007 +0900 [MIPS] separate platform_device registration for VR41xx RTC Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 44173fb2e83183b585e137e6fee8ba32460f5645 Author: Yoichi Yuasa Date: Thu May 10 22:21:35 2007 +0900 [MIPS] Separate platform_device registration for VR41xx GPIO Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit a74b4605181595c633ff4cfd44949886b0918172 Author: Ralf Baechle Date: Thu Jul 12 17:41:14 2007 +0100 [MIPS] MIPSsim: Fix build. Signed-off-by: Ralf Baechle commit 891649409edbed528728b4a104d29e43e9d7473a Author: Yoichi Yuasa Date: Wed May 9 00:03:02 2007 +0900 [MIPS] separate platform_device registration for VR41xx serial interface Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 8c41286edffef0d6e7fb770b178275c8beb24055 Author: Atsushi Nemoto Date: Thu Jul 12 00:55:40 2007 +0900 [MIPS] Include cacheflush.h in uncache.c This fixes this sparse warning: arch/mips/lib/uncached.c:38:22: warning: symbol 'run_uncached' was not declared. Should it be static? Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 40df3831f9b2fa386f55b580f294ea4f686704be Author: Atsushi Nemoto Date: Thu Jul 12 00:51:00 2007 +0900 [MIPS] Cleanup tlbdebug.h Also include tlbdebug.h in dump_tlb.c and r3k_dump_tlb.c. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 87d43dd48d6e68095be85c4e5f991fd7c89c052e Author: Atsushi Nemoto Date: Wed Jul 11 23:30:40 2007 +0900 [MIPS] Change names of local variables to silence sparse (part 2) This patch is an workaround for these sparse warnings: include2/asm/mmu_context.h:172:2: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:133:16: originally declared here include2/asm/mmu_context.h:232:2: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:203:16: originally declared here include2/asm/mmu_context.h:277:3: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:250:16: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c0cf500145b4154adcbc55afc1a63db24cee84a2 Author: Atsushi Nemoto Date: Wed Jul 11 23:12:00 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/io.h CKSEG1ADDR() returns unsigned int value on 32bit kernel. Cast it to unsigned long to get rid of this warning: include2/asm/io.h:215:12: warning: cast adds address space to expression () Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9815778ae016004c33ce267a00b7d567192ef6e7 Author: Thomas Bogendoerfer Date: Wed Jul 11 19:10:39 2007 +0200 [MIPS] RM: Use only phyiscal address for 82596 and 53c710 Use physical address for 82596 and 53c710 base address Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 0adc327bda829f6f7302ca2abdbe776828db7a97 Author: Ralf Baechle Date: Thu Jul 12 14:01:06 2007 +0100 [MIPS] Hydrogen3: Remove remaining bits of code. Signed-off-by: Ralf Baechle commit ddfada5ac00647ed0e6091322acff9d615bf7497 Author: Ralf Baechle Date: Wed Jul 11 00:20:01 2007 +0100 [MIPS] DEC: Fix modpost warning. LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: drivers/built-in.o(.data+0x2480): Section mismatch: reference to .init.text: (between 'sercons' and 'ds_parms') Signed-off-by: Ralf Baechle commit 96532151ff3567154cac92983b9edc3138fa097c Author: Ralf Baechle Date: Wed Jul 11 00:07:34 2007 +0100 Revert "[MIPS] DEC: Fix modpost warning." This reverts commit 8713762acf341edea9d25d6a4817f235c67bc004. commit 3bd39664481fc51d82e58a3bec6ba77febc7dfae Author: Ralf Baechle Date: Wed Jul 11 08:32:21 2007 +0100 [MIPS] Fix resume for 64K page size on R4000 class processors. Problem reported by Peter Watkins but this is a different fix. Signed-off-by: Ralf Baechle commit d1cbbd6b413510c6512f4f80ffd48db1a8dd554a Author: Catalin Marinas Date: Wed Jul 11 11:29:39 2007 +0100 [ARM] 4474/1: Do not check the PSR_F_BIT in valid_user_regs When running Linux in non-secure mode (on ARM1176 for example), depending on the CP15 secure configuration register, the CPSR.F bit (6) might only be modified from the secure mode. However, the valid_user_regs() function checks for this bit being cleared. With commit a6c61e9d, a SIGSEGV is forced in handle_signal() if the user registers are not considered valid. The patch also ensures that the CPSR.A bit is cleared and the USR mode is set if the CPU does not support the 26bit user mode. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit f884b1cf578e079f01682514ae1ae64c74586602 Author: Catalin Marinas Date: Thu Jul 12 16:10:22 2007 +0100 [ARM] 4473/2: Take the HWCAP definitions out of the elf.h file The patch moves the HWCAP definitions and the extern elf_hwcap declaration to the hwcap.h header file. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 46c41e62a1feb4ab2e941f33f06bbf8feab2d2cf Author: Russell King Date: Tue May 15 15:39:36 2007 +0100 [ARM] pxa: move platform devices to separate header file Signed-off-by: Russell King commit 34f3231f435dfb8e6c83271c63461fdd2901dc97 Author: Russell King Date: Tue May 15 10:39:49 2007 +0100 [ARM] pxa: move device registration into CPU-specific file This allows individual CPU support to determine which platform devices should be registered. Also fix a copy-n-paste bug in the I2C power platform device entry. Signed-off-by: Russell King commit 4adb70fc1b9b545ce6221f0cc35a8fa0eab13461 Author: Russell King Date: Wed Jun 27 09:57:32 2007 +0100 [ARM] pxa: remove boot time RTC initialisation The RTC library code contains everything necessary to set the system time from the RTC; for similar reasons as the previous commit, it's far better to let the RTC library code sort this out rather than implement something which might not be appropriate for everyone. Signed-off-by: Russell King commit 2aca0a865722fce435034cee5a33e1726fe10a9f Author: Russell King Date: Wed Jun 27 09:56:05 2007 +0100 [ARM] pxa: stop doing our own rtc management over suspend Remove the RTC management over a suspend/resume cycle. Firstly, we may not be using the internal RTC for time keeping; some platforms have an external RTC for this inspite of the PXA having an internal RTC. Secondly, the RTC library code handles updating system time on resume. Signed-off-by: Russell King commit f53f066c25036210036730d64c876ea586114425 Author: Eric Miao Date: Fri Jun 22 05:40:17 2007 +0100 [ARM] 4451/1: pxa: make dma.c generic and remove cpu specific dma code Since the number of dma channels varies between pxa25x and pxa27x, it introduces some specific code in dma.c. This patch moves the specific code to pxa25x.c and pxa27x.c and makes dma.c more generic. 1. add pxa_init_dma() for dma initialization, the number of channels are passed in by the argument 2. add a "prio" field to the "struct pxa_dma_channel" for the channel priority, and is initialized in pxa_init_dma() 3. use a general priority comparison with the channels "prio" field so to remove the processor specific pxa_for_each_dma_prio macro, this is not lightning fast as the original one, but it is acceptable as it happens when requesting dma, which is usually not so performance critical Signed-off-by: eric miao Acked-by: Nicolas Pitre Signed-off-by: Russell King commit cd49104d99b56383a3b1fdce2f31018197093c31 Author: Eric Miao Date: Fri Jun 22 04:14:09 2007 +0100 [ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq() /* should be ok this time, I aligned this patch to your arm:pxa2.mbox */ 1. move pxa25x specific IRQ initialization code to pxa25x_init_irq() and pxa27x code to pxa27x_init_irq(), remove pxa_init_irq() 2. replace all pxa_init_irq() with their PXA25x or PXA27x specific functions Signed-off-by: eric miao Signed-off-by: Russell King commit 8118d124949ed8ff1a450e0c0d13cfab8c2ff7aa Author: Eric Miao Date: Wed Jun 6 06:49:59 2007 +0100 [ARM] 4440/1: PXA: enable the checking of ICIP2 for IRQs ICIP2 is not examined during IRQ entrance, this patch add the checking if the processor is PXA27x or later, with CoreG bits in CPUID (Core Generation) > 1 Signed-off-by: eric miao Signed-off-by: Russell King commit 4a3dcd35c82a2a25b2832502290e1a3f1571e9ef Author: Eric Miao Date: Wed Jun 6 06:45:18 2007 +0100 [ARM] 4438/1: PXA: remove #ifdef .. #endif from pxa_gpio_demux_handler() 1. use GPIO_IRQ_mask[] to select those bits of interest, actually only those "unmasked" GPIO IRQs with their corresponding bits in GPIO_IRQ_mask[] set to "1" should be checked 2. remove #ifdef PXA_LAST_GPIO > 96 .. #endif, GPIO_IRQ_mask[] is used to mask out the irrelevant bits, so that even though the GEDR3 on PXA25x is reserved, it will be masked, and the following code will never run. Another point is that GPIO85- GPIO95 bits within GEDR2 will also be masked out on PXA25x Signed-off-by: eric miao Signed-off-by: Russell King commit 348f2e3b2956e30f07d2507d7234c3f12a8a612d Author: Eric Miao Date: Wed Jun 6 06:37:15 2007 +0100 [ARM] 4437/1: PXA: move the GPIO IRQ initialization code to pxa_init_irq_gpio() move the GPIO IRQ initialization code to pxa_init_irq_gpio() Signed-off-by: eric miao Signed-off-by: Russell King commit 53665a50fdac6fe11e0dde4e2b95700ed5184dc4 Author: Eric Miao Date: Wed Jun 6 06:36:04 2007 +0100 [ARM] 4436/1: PXA: move low IRQ initialization code to pxa_init_irq_low() 1. move low IRQ initialization code to pxa_init_irq_low() Signed-off-by: eric miao Signed-off-by: Russell King commit c08b7b3ef6bf489ddabadc03e050f3db2ea44b5d Author: Eric Miao Date: Wed Jun 6 06:32:38 2007 +0100 [ARM] 4435/1: PXA: remove PXA_INTERNAL_IRQS 1. define PXA_GPIO_IRQ_BASE to be right after the internal IRQs, and define PXA_GPIO_IRQ_NUM to be 128 for all PXA2xx variants 2. make the code specific to the high IRQ numbers (32..64) to be PXA27x specific 3. add a function pxa_init_irq_high() to initialize the internal high IRQ chip, the invoke of this function could be moved to PXA27x specific initialization code Signed-off-by: eric miao Signed-off-by: Russell King commit 486c955118dbbb0f13dc4d40cc5dac2b23f82676 Author: Eric Miao Date: Wed Jun 6 06:22:20 2007 +0100 [ARM] 4434/1: PXA: remove PXA_IRQ_SKIP 1. PXA_IRQ_SKIP is defined to be 7 on PXA25x so that the first IRQ starts from zero. This makes IRQ numbering inconsistent between PXA25x and PXA27x. Remove this macro so that the same IRQ_XXXXX definition has the same value on both PXA25x and PXA27x. 2. make IRQ_SSP3..IRQ_PWRI2C valid only if PXA27x is defined, this avoids unintentional use of these macros on PXA25x Signed-off-by: eric miao Signed-off-by: Russell King commit 88dfe98c688e1700a4a9f73f8b7d570f4f52170d Author: Russell King Date: Tue May 15 11:22:48 2007 +0100 [ARM] pxa: Fix PXA27x suspend type validation, remove pxa_pm_prepare() pxa_pm_prepare() tried to validate the suspend method type. As noted in previous commits: eb9289eb20df6b54214c45ac7c6bf5179a149026 9c372d06ce9ddf65e1393f9ea22a6d6bd5f96b42 e8c9c502690efd24b7055bf608e7a3c34216848b the checking of the suspend type in the 'prepare' method is the wrong place to do this; use the 'valid' method instead. This means that pxa_pm_prepare() can be entirely removed. Signed-off-by: Russell King commit e176bb05fec4c00450302a75e81f8da3dc9e309e Author: Russell King Date: Tue May 15 11:16:10 2007 +0100 [ARM] pxa: move pm_ops structure into CPU specific files Move the pm_ops structure into the PXA25x and PXA27x support files. Remove the old pxa_pm_prepare() function, and rename the both pxa_cpu_pm_prepare() functions as pxa_pm_prepare(). We'll fix that later. Signed-off-by: Russell King commit b23170c01f6e4ea043df7cd9486c2488e01f3d60 Author: Russell King Date: Tue May 15 10:26:49 2007 +0100 [ARM] pxa: introduce cpu_is_pxaXXX macros Signed-off-by: Russell King commit 7a2b94bc39915041304578188441f0f21aa5532a Author: Russell King Date: Wed May 16 15:44:37 2007 +0100 [ARM] pxa: remove MMC register defines from pxa-regs.h pxamci.h redefines the MMC registers differently so they can be used with ioremap. Remove the incompatible definitions from pxa-regs.h. Signed-off-by: Russell King commit f4b6a0a401f2cec5e6199e805ed42f30d8c04e94 Author: Russell King Date: Tue May 15 16:49:02 2007 +0100 [ARM] pxa: use mutexes instead of semaphores Signed-off-by: Russell King commit f62c3f2c35874713ebbb6b6a4b9d9c6caaed4f14 Author: Russell King Date: Tue May 15 11:03:24 2007 +0100 [ARM] pxa: remove useless pxa_pm_finish() function pxa_pm_finish() does nothing but return zero. The core code does nothing with this return value, and will not try to call the finish method in the pm_ops structure if it is NULL. Therefore, we can remove this useless function. Signed-off-by: Russell King commit 0a85e9a271a754e352af8a8b625025017fd97449 Author: Jean Delvare Date: Thu Jul 12 14:12:32 2007 +0200 i2c-rpx: Remove This driver has been broken forever. It depends on i2c-algo-8xx which has never been in the mainline kernel. Signed-off-by: Jean Delvare commit 254db9b5e7b1b0d38a4f177c2c23a5685c78221a Author: Domen Puncer Date: Thu Jul 12 14:12:31 2007 +0200 i2c-mpc: work around missing-9th-clock-pulse bug Work around a problem reported on: http://ozlabs.org/pipermail/linuxppc-embedded/2005-July/019038.html Without this patch I2C on mpc5200 becomes unusable after a while. Tested on mpc5200 boards by Matthias Fechner and me. Signed-off-by: Domen Puncer Signed-off-by: Jean Delvare commit 1b144df1d7d69d6dd3394205933c8951dd8b6784 Author: Marc St-Jean Date: Thu Jul 12 14:12:31 2007 +0200 i2c: New PMC MSP71xx TWI bus driver Add TWI driver for the PMC-Sierra MSP71xx devices. [JD: Drop the probe hack, don't set algo_data as we never use it, return the right error code if the driver registration fails.] Signed-off-by: Marc St-Jean Signed-off-by: Jean Delvare commit c6e16295b71ec006c8cb6d13520e9194652a6026 Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c-savage4: Delete many unused defines Signed-off-by: Jean Delvare commit e296fb7f301f3c3398adc6d991b097cfa73e1c0c Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c/tsl2550: Speed up initialization There's some redundancy in the tsl2550 initialization sequence. It is powering up the device twice, and setting the operating mode twice too. Setting things just once saves SMBus transactions, which aren't always cheap, speeding up the device initialization. Signed-off-by: Jean Delvare Cc: Rodolfo Giometti commit b9cdad74883a797952de52464d118d685cafc05a Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c: New bus driver for the TAOS evaluation modules This is a new I2C bus driver for the TAOS evaluation modules. Developped and tested on the TAOS TSL2550 EVM. Signed-off-by: Jean Delvare commit 7edcb9abb594a8f3b4ca756e03d01c870aeae127 Author: Oleg Ryjkov Date: Thu Jul 12 14:12:31 2007 +0200 i2c-i801: Use the internal 32-byte buffer on ICH4+ Add an ability to utilize the internal SRAM buffer on ICH4 and newer host controllers to speed up execution of block operations. I've split the code so that it is more clear which block transaction is performed. First of all the host controller's type is identified. isich4 is set when we think that the controller has the internal buffer. Then, before every block transaction, if isich4 is set, we attempt to enable the E32B bit in SMBAUXCTL register. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit ca8b9e32a11a7cbfecbef00c8451a79fe1af392e Author: Oleg Ryjkov Date: Thu Jul 12 14:12:31 2007 +0200 i2c-i801: Various cleanups * Use defines instead of raw numbers for register bits * Fix several wrong indentations and trailing whitespace * Move hwpec timeout checking to a separate function Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit a92c344d8c640a812c7a9f5a5202d862cd052a0f Author: Rodolfo Giometti Date: Thu Jul 12 14:12:30 2007 +0200 i2c: Add support for the TSL2550 Add support for Taos TSL2550 ambient light sensors. (http://www.taosinc.com/product_detail.asp?cateid=4&proid=18). Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 066af983c74162fa98e7c5ffa8a5ead4a6979b1f Author: Rodolfo Giometti Date: Thu Jul 12 14:12:30 2007 +0200 i2c-pxa: Support new-style I2C drivers Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 4d6ceed4426cd85e1203a3153246334a3537f92b Author: Atsushi Nemoto Date: Thu Jul 12 14:12:30 2007 +0200 i2c-gpio: Make some internal functions static i2c_gpio_getsda() and i2c_gpio_getscl() are only used in this file. Signed-off-by: Atsushi Nemoto Acked-by: Haavard Skinnemoen Signed-off-by: Jean Delvare commit 7e69c3ac93a9a7aa29dab7179f86da67db7b0ca3 Author: Atsushi Nemoto Date: Thu Jul 12 14:12:30 2007 +0200 i2c-gpio: Add support for new-style clients Use i2c_bit_add_numbered_bus() so that the i2c-gpio adapter works well with new-style pre-declared devices. Signed-off-by: Atsushi Nemoto Signed-off-by: Jean Delvare commit 757ba4c697244da878b65585d8cb671da1cb9eaf Author: Martin Michlmayr Date: Thu Jul 12 14:12:30 2007 +0200 i2c-iop3xx: Switch to static adapter numbering Update the IOP3xx I2C driver to use i2c_add_numbered_adapter(), so that later patches can convert boards to using new-style drivers. Signed-off-by: Martin Michlmayr Tested-by: Voipio Riku Cc: Dan J Williams Signed-off-by: Jean Delvare commit 7375cd822d600b4e8b83cbc025422e4267bf5fac Author: Jean Delvare Date: Thu Jul 12 14:12:30 2007 +0200 i2c-sis5595: Resolve resource conflict with sis5595 Let the i2c-sis5595 driver release its PCI device after registering. This is to allow the sis5595 hardware monitoring driver to also access this PCI device. The same trick is already used in the i2c-viapro and via686a drivers to let them both load. Signed-off-by: Jean Delvare commit 7d13714650ec8868f999d2dc3d06e2723687d0c3 Author: Jean Delvare Date: Thu Jul 12 14:12:30 2007 +0200 matroxfb: Clean-up i2c header inclusions matroxfb_crtc2 has nothing to do with i2c, so there's no reason why matroxfb_crtc2.h should include i2c header files. Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec commit b53c82211a7239643aa7c9b4887429c30f353406 Author: Oleg Ryjkov Date: Thu Jul 12 14:12:29 2007 +0200 i2c-nforce2: Add support for SMBus block transactions Add support for SMBus block read/write transactions to i2c-nforce2 driver, in particular to host controllers MCP51 and MCP55. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit 1469fa263870acd890a4b9f6ef557acc5d673b44 Author: Grant Likely Date: Thu Jul 12 14:12:29 2007 +0200 i2c-mpc: Use i2c_add_numbered_adapter Move the i2c-mpc driver over to using the new i2c infrastructure. Specifically, it now uses i2c_add_numbered_adapter so that the bus number can be determined ahead of time and used to register i2c clients before the bus is instantiated. Tested on an MPC5200 based board Signed-off-by: Grant Likely Signed-off-by: Jean Delvare commit 65b22ad9508b609b0625eccb2680996a1e09ed16 Author: Dale Farnsworth Date: Thu Jul 12 14:12:29 2007 +0200 i2c-mv64xxx: Use i2c_add_numbered_adapter Convert the Marvell mv64xxx I2C driver to use the new i2c infrastructure, by calling i2c_add_numbered_adapter(). This allows clients to be registered before the bus is instantiated. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Jean Delvare commit c29c22218b99dad95f7cd0281415a854aeee805c Author: Henry Su Date: Thu Jul 12 14:12:29 2007 +0200 i2c-piix4: Add support for the ATI SB700 Add the SMBus device ID for ATI SB700. Signed-off-by: Henry Su Signed-off-by: Jean Delvare commit 5162b75b24963eebe62c4d4161d0fe0b337a313b Author: Grant Likely Date: Thu Jul 12 14:12:29 2007 +0200 i2c: New DS1682 chip driver A driver for the Dallas DS1682 elapsed time recorder chip. Tested on a MPC5200 based board using the integrated i2c adapter. Signed-off-by: Grant Likely Signed-off-by: Jean Delvare commit 4b2643d7d9bdcd776749e17f73c168ddf02e93cb Author: Jean Delvare Date: Thu Jul 12 14:12:29 2007 +0200 i2c: Fix the i2c_smbus_read_i2c_block_data() prototype Let the drivers specify how many bytes they want to read with i2c_smbus_read_i2c_block_data(). So far, the block count was hard-coded to I2C_SMBUS_BLOCK_MAX (32), which did not make much sense. Many driver authors complained about this before, and I believe it's about time to fix it. Right now, authors have to do technically stupid things, such as individual byte reads or full-fledged I2C messaging, to work around the problem. We do not want to encourage that. I even found that some bus drivers (e.g. i2c-amd8111) already implemented I2C block read the "right" way, that is, they didn't follow the old, broken standard. The fact that it was never noticed before just shows how little i2c_smbus_read_i2c_block_data() was used, which isn't that surprising given how broken its prototype was so far. There are some obvious compatiblity considerations: * This changes the i2c_smbus_read_i2c_block_data() prototype. Users outside the kernel tree will notice at compilation time, and will have to update their code. * User-space has access to i2c_smbus_xfer() directly using i2c-dev, so the changed expectations would affect tools such as i2cdump. In order to preserve binary compatibility, we give I2C_SMBUS_I2C_BLOCK_DATA a new numeric value, and define I2C_SMBUS_I2C_BLOCK_BROKEN with the old numeric value. When i2c-dev receives a transaction with the old value, it can convert it to the new format on the fly. Signed-off-by: Jean Delvare commit ba7fbb723f50ab2607989a282af655fb0fab0492 Author: Jean Delvare Date: Thu Jul 12 14:12:29 2007 +0200 i2c: Deprecate legacy RTC drivers We have a new RTC subsystem with better drivers. Legacy driver status: * ds1337: The DS1337 and DS1339 are now supported by the rtc-ds1307 driver, so it looks to me like we could even delete the ds1337 driver right away. * ds1374: Will soon be replaced with Scott Wood's rtc-ds1374 driver. * m41t00: The M41T00 is supported by the rtc-ds1307 driver. For the M41T81 and M41T85, the rtc-m41t80 driver written by Atsushi Nemoto should work. Signed-off-by: Jean Delvare Cc: Alessandro Zummo Acked-by: Mark A. Greer Acked-by: James Chapman Cc: Randy Vinson commit 890e037509f5b3f967b16ea0ea525c7c75b213ae Author: Jean Delvare Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Delete outdated x1205 driver documentation The x1205 driver moved to the RTC subsystem and was significantly modified since then, so just delete the outdated documentation. Signed-off-by: Jean Delvare Cc: Alessandro Zummo commit 9d9c01ceff00fcba50043f500cac471ecf6752c9 Author: Matthias Kaehlcke Date: Thu Jul 12 14:12:28 2007 +0200 scx200_acb: Use mutex instead of semaphore The scx200_acb driver use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Cc: Jordan Crouse Signed-off-by: Jean Delvare commit d75d53cd571c02990d56e72f615ab11e943772f9 Author: Mark M. Hoffman Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Fix sparse warning in i2c.h Kill a sparse warning by un-nesting two container_of() calls. Signed-off-by: Mark M. Hoffman Signed-off-by: Jean Delvare commit d64f73be1b59b9556de0a8fbd4f1a003c6a45a5c Author: David Brownell Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Add kernel documentation Generate I2C kerneldoc; fix various glitches and add "context" sections to that documentation. Most I2C and SMBus functions still have no kerneldoc. Let me suggest providing kerneldoc for all the i2c_smbus_*() functions as a small and mostly self-contained project for anyone so inclined. :) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 909d6c6c80311f800aee338e5fa528818b115951 Author: George G. Davis Date: Tue Jun 26 01:38:27 2007 +0100 [ARM] 4453/1: Fully Decode ARM instruction set state in show_regs() tombstone The ARM show_regs() tombstone only partially decodes which ARM ISA was executing at the time a fault occurred displaying either "(T)" for the Thumb case or nothing at all for other cases. This patch therefore explicitly identifies which state the processor is in at the time of a fault: ARM, Thumb, Jazelle or JazelleEE. Signed-off-by: George G. Davis Acked-by: Catalin Marinas Signed-off-by: Russell King commit 9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a Author: Bill Gatliff Date: Thu May 31 22:02:22 2007 +0100 [ARM] 4423/1: add ATAGS support Examines the ATAGS pointer (r2) at boot, and interprets a nonzero value as a reference to an ATAGS structure. A suitable ATAGS structure replaces the kernel's command line. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit 7d09e85448dfa78e3e58186c934449aaf6d49b50 Author: Catalin Marinas Date: Fri Jun 1 17:14:53 2007 +0100 [ARM] 4393/2: ARMv7: Add uncompressing code for the new CPU Id format The current arch/arm/boot/compressed/head.S code only supports cores to ARMv6 with the old CPU Id format. This patch adds support for the new ARMv6 with the new CPU Id and ARMv7 cores that no longer have the ARMv4 cache operations. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 6d78b5f9c6cf59c98d3833e09d0ed6aebd6a33d3 Author: Russell King Date: Sun Jun 3 19:26:04 2007 +0100 [ARM] Fix bounding error in ioremap_pfn() If size=16M offset=2K then we should map two supersections rather than just one. Signed-off-by: Russell King commit 4486b86368d72bcac76439638b36667b1c6a1360 Author: Russell King Date: Sun Jun 3 18:54:42 2007 +0100 [ARM] riscpc: fix decompressor font file handling font_acorn_8x8.o was being built in drivers/video/console/ twice during a build _in the same location_ - once for the kernel proper, and once for the decompressor. The result is when you came to run an install target, the kernel was always rebuilt due to this file apparantly having been built with different compiler arguments. Solve this by making a local copy at build time in the decompressor's directory. Signed-off-by: Russell King commit 8a87a996eae3d25b0670a243f4829ea4aa9eb63d Author: Andrew Victor Date: Mon May 14 14:30:15 2007 +0100 [ARM] 4377/1: KS8695: GPIO driver Driver to control the GPIO pins on the KS8695 processor. The driver natively supports the Generic GPIO interface. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit eab03b3f6609518a80eae4d1f5d78ff8f44e116a Author: Russell King Date: Sun Jun 3 18:50:49 2007 +0100 [ARM] If linux/irq.h is included, asm/irq.h is not required Signed-off-by: Russell King commit d85ed59524d936f4c2657ba39a483b4ab373a59e Author: Michael-Luke Jones Date: Sat May 26 21:58:07 2007 +0100 [ARM] 4407/1: Remove in-kernel mach id setting for gtwx5715 ixp4xx board If MACH_GTWX5715 is set in Kconfig, this code sets the mach id automatically. Howeber, this means that any IXP4xx kernel which is setup to support the gtwx5715 board will not successfully boot on any other board. If the bootloader sets the wrong mach id, it should be set correctly by a kernel shim. Signed-off-by: Michael-Luke Jones Signed-off-by: Russell King commit ddaca4a26efc0716708f027914bf5508e2d86cc7 Author: Michael-Luke Jones Date: Thu May 31 12:27:14 2007 +0100 [ARM] 4408/2: Fixup support for gtwx5715 ixp4xx board This patch fixes up compiling of the gtwx5715 board setup code, which has apparently been broken since 2.6.18 and the generic IRQ changes. In addition it removes some unecessary extern declarations in the gtwx5715-pci.c file. Signed-off-by: Michael-Luke Jones Signed-off-by: Russell King commit dcdeeb21c010e9b5cb2e91f865cd5bebb65bc31f Author: Imre Kaloz Date: Sat Jun 2 15:47:51 2007 +0100 [ARM] 4426/2: Netgear WG302 v2 and WAG302 v2 support This patch provides support for the Netgear WG302 v2 and WAG302 v2 AccessPoint series. This patch relies on the patch "Gateway 7001 series support" minimally, as they only have UART2 connected. Updated to stay below the 80 char limit in uncompress.h Signed-off-by: Imre Kaloz Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 46918bd13b887e8f0ae2987e690bc2af9c6c08a4 Author: Imre Kaloz Date: Sat Jun 2 15:44:08 2007 +0100 [ARM] 4425/2: Gateway 7001 series support This patch provides support for the Gateway 7001 AccessPoint series. Updated to stay below the 80 char limit in uncompress.h Signed-off-by: Imre Kaloz Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 4ad48b4bfa121a67ec04162d584afcfa75ed151a Author: Vladimir Barinov Date: Wed May 16 20:39:02 2007 +0100 [ARM] 4385/2: ixdp425: NAND support IXDP425 NAND support (arch specific part). The generic platform driver that is used by ixdp425 platfrom is already in upstream kernel in 2.6.22-rc1. Signed-off-by: Vladimir Barinov Signed-off-by: Ruslan Sushko Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 51198ea9478b6e10759ab07cd0b9917663c8df7a Author: Dan Williams Date: Wed Jun 6 17:51:21 2007 +0100 [ARM] 4429/2: iop13xx: expose the 'iop' attribute versions of the tpmi control registers The tpmi control registers can be accessed on the internal bus via an address with PCI attributes or IOP attributes (i.e. read-only, read-write... etc). The sas driver needs access to the iop-attribute registers for initialization. Changelog: * use ARRAY_SIZE for num_resources, Russell King Signed-off-by: Dan Williams Signed-off-by: Russell King commit 89bba43514d06478eb27e3fa9099a8ae7dee5589 Author: Pavel Pisa Date: Sun May 13 17:37:33 2007 +0100 [ARM] 4374/3: i.MX/MX1 clock event source Support clock event source based on i.MX general purpose timer in free running timer mode. Signed-off-by: Pavel Pisa Acked-by: Thomas Gleixner Acked-by: Sascha Hauer Signed-off-by: Russell King commit b3e6a508ed920698d367e5993ed056d70364d91f Author: Pavel Pisa Date: Sat May 12 14:31:17 2007 +0100 [ARM] 4373/1: i.MX/MX1 GPIO support implementation Support for generic input output for MX1 family. The implementation prevents allocation of one pin by two users, but does not store pointer to the user description permanently, because this solution would have bigger memory overhead. The simple way to integrate code with per BSP pins setup and allocation is required else all GPIO registration checking is useless. The function imx_gpio_setup_multiple_pins() can be used for this purpose in future. Signed-off-by: Pavel Pisa Signed-off-by: Russell King commit feb47225525a4194e7f6db5e745265793626ceb0 Author: Greg Ungerer Date: Mon Jun 4 06:46:26 2007 +0100 [ARM] 4428/1: modify at91 includes to handle non-MMU at91x40 family Modify the common at91 hardware support to deal with the non-MMU at91x40 family. The base RAM (which is most likely not DRAM) is set to the configured value. Virtual IO device mapping is set to be 1 to 1 with the physical addresses. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit 70672224009bc3d4d6713337b3456bc7ab71d52b Author: Greg Ungerer Date: Mon Jun 4 06:45:38 2007 +0100 [ARM] 4427/1: base Atmel at91x40 architecture defines Base at91x40 architecture support defines. These parts are somewhat simpler than the ARM9 Atmel based parts. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit b54942f8203689014f80ec89c55ccb1f48ab1166 Author: Greg Ungerer Date: Fri May 18 06:28:01 2007 +0100 [ARM] 4391/1: make at91 debug unit support optional The AT91x40 family doesn't have the debug unit like its bigger brothers. But it does have the ID and extension registers (with the bit meanings the same). Reorganize at91_dbgu.h to cater for this. This also affects the load uncompressor, since it outputs to the debug port. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit d0f9b55ece0ec1ffc9e2e57fd7a79200994aead4 Author: Andrew Victor Date: Mon Jun 4 08:41:59 2007 +0100 [ARM] 4420/2: AT91: GPIO buttons on SAM9261-EK board Register the GPIO-connected buttons on the SAM9261-EK board as a "gpio-keys" platform device. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit cdf95c73694e464cf9877cb5aa51df77f42815bc Author: Andrew Victor Date: Mon May 14 15:08:21 2007 +0100 [ARM] 4379/1: AT91: LCD support on SAM9261-EK and SAM9263-EK boards Add board-specific setup for the LCD on the Atmel AT91SAM9261-EK and AT91SAM9263-EK boards. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 3c3e69cd4c667e6ce7939d83b274d48c57779479 Author: Ben Dooks Date: Thu Jul 12 10:57:37 2007 +0100 [ARM] 4470/2: OSIRIS: large page NAND support Add support for the partition layout on the revision B modules which have large page NAND fitted. The new partition table accounts for the use of the 128KiB block parts, which means the second partition on the device is moved to the new boundary. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 5ce4b1fe6c6a126f9274f19d8b2d2c8d29cd49b6 Author: Ben Dooks Date: Thu Jul 12 10:44:53 2007 +0100 [ARM] 4467/3: BAST: AX88796 device resources Add resources for the AX88796 on the Simtec BAST. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ad3613f4798e229c8885b924c88e17ab85fef96a Author: Ben Dooks Date: Wed Jul 11 11:10:42 2007 +0100 [ARM] 4469/1: ANUBIS: large page NAND support Add support for the partition layour used on the revision B modules which ship with large page NAND flash as default. The differnce between the old and new layouts is that the large page devices use 128KiB blocks, so the initial loader partition now ends at 128KiB boundary pushing the begining of partition 1 up. The rest of the partitions are in the same place as the small page NAND devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 8a9ccb7f182d15d6d6d0debb819790f25c87a30b Author: Ben Dooks Date: Thu Jul 12 10:47:35 2007 +0100 [ARM] 4468/2: ANUBIS: Add SM501 device resources Add resources for the SM501 present on the Simtec Anubis board, including the framebuffer and the I2C for DDC. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit eac1d8dab03bde6d20679c961a6409c1b786c201 Author: Ben Dooks Date: Wed Jul 11 10:14:53 2007 +0100 [ARM] 4466/1: ANUBIS: Anubis AX88796 support This patch adds the resources necessary for the AX88796 driver to attach to the AX88796 network controller fitted on the Simtec Anubis board. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 83f53220f8313f097cdf181928be13bafbb697ea Author: Vladimir Barinov Date: Tue Jul 10 13:10:04 2007 +0100 [ARM] 4432/5: davinci: pin mux support Support pin multiplexing configurations driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Acked-by: Kevin Hilman Signed-off-by: Russell King commit 3d9edf09d4525dad95f98b31f31aa86b8071fab9 Author: Vladimir Barinov Date: Tue Jul 10 13:03:43 2007 +0100 [ARM] 4457/2: davinci: GPIO support Support GPIO driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Acked-by: David Brownell Acked-by: Kevin Hilman Signed-off-by: Russell King commit 3e062b07ada88edb9ffdd147e39c7df4b4418f64 Author: Vladimir Barinov Date: Tue Jun 5 16:36:55 2007 +0100 [ARM] 4430/1: davinci: clock control support Support clock control driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit f4d640c9be1979a603ed017e1e03a16ba3a4d7a1 Author: Roy Huang Date: Thu Jul 12 16:43:46 2007 +0800 Blackfin serial driver: supporting BF548-EZKIT serial port Signed-off-by: Roy Huang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8cb661d6a4b69734c393beeb523cbf86c915f374 Author: Erik Johansson Date: Thu Jul 12 16:37:00 2007 +0900 sh: fix race in parallel out-of-tree build Depending on which of the three dependencies for archprepare (in arch/sh/Makefile) get built first, the directory include/asm-sh may or may not exist when the maketools target is built. If the directory does not exist, awk will fail to generate machtypes.h. This patch fixes this by creating the directory before awk is executed. Signed-off-by: Erik Johansson Signed-off-by: Paul Mundt commit db83b991bce1b4792125d4b23bb108e8cfd5d366 Author: Michael Hennerich Date: Thu Jul 12 12:07:40 2007 +0800 Video Console: Blackfin doesnt support VGA console Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 61b59563266aa6bedaf5d45b9b25bc48bb4d3ed3 Author: Sonic Zhang Date: Thu Jul 12 17:06:45 2007 +0800 Blackfin arch: Add peripheral io API to gpio header file Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit e745106ce34553171a5d8d2450be07c0cffe39d5 Author: Sonic Zhang Date: Thu Jul 12 15:20:25 2007 +0800 Blackfin arch: set up gpio interrupt IRQ_PJ9 for BF54x ATAPI PATA driver Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit db0fa2064585a099e0c652983bd38d71ee7830f3 Author: Bryan Wu Date: Thu Jul 12 14:55:05 2007 +0800 Blackfin arch: add missing CONFIG_LARGE_ALLOCS when upstream merging Signed-off-by: Bryan Wu commit 798b77095dea2f89e42f5aaa0e5b18833fea5358 Author: Mike Frysinger Date: Thu Jul 12 14:35:15 2007 +0800 Blackfin arch: as pointed out by Robert P. J. Day, update the CPU_FREQ name to match current Kconfig Cc: Robert P. J. Day Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5cf77a5fd03c65b9dd33c283ce308a3abc4cb375 Author: Mike Frysinger Date: Thu Jul 12 14:26:26 2007 +0800 Blackfin arch: extract the entry point from the linked kernel extract the entry point from the linked kernel rather than assuming entry point == load address Signed-off-by: Bryan Wu commit c04d66bbbdbbc7b5d55c42795f29e494190f8fb3 Author: Bryan Wu Date: Thu Jul 12 17:26:31 2007 +0800 Blackfin arch: clean up some coding style issues Signed-off-by: Bryan Wu commit 1d1894749cca89f4bb013364524199b3015d7b00 Author: Mike Frysinger Date: Thu Jul 12 12:32:00 2007 +0800 Blackfin arch: combine the common code of free_initrd_mem and free_initmem Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5610db61cf2945a5e74667e952f2792c96ba53a1 Author: Michael Hennerich Date: Thu Jul 12 12:32:52 2007 +0800 Blackfin arch: Add Support for Peripheral PortMux and resouce allocation Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 520473b0775ce046d179afa686fb3222884c389d Author: Mike Frysinger Date: Thu Jul 12 12:20:20 2007 +0800 Blackfin arch: use PAGE_SIZE when doing aligns rather than hardcoded values Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b07af760c9bd8e87c3aa9275298566379ec4e9c1 Author: Sonic Zhang Date: Thu Jul 12 12:18:08 2007 +0800 Blackfin arch: fix bug set dma_address properly in dma_map_sg Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 157cc5aad94fb7025c41a60788c1bfb5299010aa Author: Michael Hennerich Date: Thu Jul 12 16:20:21 2007 +0800 Blackfin arch: Disable CACHELINE_ALIGNED_L1 for BF54x by default Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f40d24d909ad99c802a6813ff32b6feb20ab8c71 Author: Alex Landau Date: Thu Jul 12 12:11:48 2007 +0800 Blackfin arch: Port the dm9000 driver to Blackfin by using the correct low-level io routines Signed-off-by: Alex Landau Signed-off-by: Bryan Wu commit 9be343c5bcd1cf285c2150f363bc9dd7aab8b7fb Author: Michael Hennerich Date: Thu Jul 12 11:58:44 2007 +0800 Blackfin arch: There is no CDPRIO Bit in the EBIU_AMGCTL Register of BF54x arch However there are similar things in the EBIU_DDRQUE Register Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 9401e618c8f70920f34893946239e24d40a3519a Author: Mike Frysinger Date: Thu Jul 12 11:50:43 2007 +0800 Blackfin arch: scrub dead code we converted to using a system call for userspace spinlocks rather than a dedicated exception long ago Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c9e27ece79f6170fd1cd1a40c5de5d93456606e7 Author: Michael Hennerich Date: Thu Jul 12 11:48:14 2007 +0800 Blackfin arch: Fix Warning add some defines in BF54x header file Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d4cf291526a74cc33d33700a35b74395eec812fd Author: Adrian Bunk Date: Sun Jul 1 22:23:53 2007 +0200 security: unexport mmap_min_addr Remove unneeded export. Signed-off-by: Adrian Bunk Signed-off-by: James Morris commit 9faf65fb6ee2b4e08325ba2d69e5ccf0c46453d0 Author: Paul Moore Date: Fri Jun 29 11:48:16 2007 -0400 SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel These changes will make NetLabel behave like labeled IPsec where there is an access check for both labeled and unlabeled packets as well as providing the ability to restrict domains to receiving only labeled packets when NetLabel is in use. The changes to the policy are straight forward with the following necessary to receive labeled traffic (with SECINITSID_NETMSG defined as "netlabel_peer_t"): allow mydom_t netlabel_peer_t:{ tcp_socket udp_socket rawip_socket } recvfrom; The policy for unlabeled traffic would be: allow mydom_t unlabeled_t:{ tcp_socket udp_socket rawip_socket } recvfrom; These policy changes, as well as more general NetLabel support, are included in the SELinux Reference Policy SVN tree, r2352 or later. Users who enable NetLabel support in the kernel are strongly encouraged to upgrade their policy to avoid network problems. Signed-off-by: Paul Moore Signed-off-by: James Morris commit ed0321895182ffb6ecf210e066d87911b270d587 Author: Eric Paris Date: Thu Jun 28 15:55:21 2007 -0400 security: Protection for exploiting null dereference using mmap Add a new security check on mmap operations to see if the user is attempting to mmap to low area of the address space. The amount of space protected is indicated by the new proc tunable /proc/sys/vm/mmap_min_addr and defaults to 0, preserving existing behavior. This patch uses a new SELinux security class "memprotect." Policy already contains a number of allow rules like a_t self:process * (unconfined_t being one of them) which mean that putting this check in the process class (its best current fit) would make it useless as all user processes, which we also want to protect against, would be allowed. By taking the memprotect name of the new class it will also make it possible for us to move some of the other memory protect permissions out of 'process' and into the new class next time we bump the policy version number (which I also think is a good future idea) Acked-by: Stephen Smalley Acked-by: Chris Wright Signed-off-by: Eric Paris Signed-off-by: James Morris commit 13bddc2e9d591e31bf20020dc19ea6ca85de420e Author: Tobias Oed Date: Mon Jun 11 08:56:31 2007 -0400 SELinux: Use %lu for inode->i_no when printing avc Inode numbers are unsigned long and so need to %lu as format string of printf. Signed-off-by: Tobias Oed Signed-off-by: James Morris commit 2c3c05dbcbc7b9d71549fe0e2b249f10f5a66518 Author: Stephen Smalley Date: Thu Jun 7 15:34:10 2007 -0400 SELinux: allow preemption between transition permission checks In security_get_user_sids, move the transition permission checks outside of the section holding the policy rdlock, and use the AVC to perform the checks, calling cond_resched after each one. These changes should allow preemption between the individual checks and enable caching of the results. It may however increase the overall time spent in the function in some cases, particularly in the cache miss case. The long term fix will be to take much of this logic to userspace by exporting additional state via selinuxfs, and ultimately deprecating and eliminating this interface from the kernel. Tested-by: Ingo Molnar Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 9dc9978084ea2a96b9f42752753d9e38a9f9d7b2 Author: Eric Paris Date: Mon Jun 4 17:41:22 2007 -0400 selinux: introduce schedule points in policydb_destroy() During the LSPP testing we found that it was possible for policydb_destroy() to take 10+ seconds of kernel time to complete. Basically all policydb_destroy() does is walk some (possibly long) lists and free the memory it finds. Turning off slab debugging config options made the problem go away since the actual functions which took most of the time were (as seen by oprofile) > 121202 23.9879 .check_poison_obj > 78247 15.4864 .check_slabp were caused by that. So I decided to also add some voluntary schedule points in that code so config voluntary preempt would be enough to solve the problem. Something similar was done in places like shmem_free_pages() when we have to walk a list of memory and free it. This was tested by the LSPP group on the hardware which could reproduce the problem just loading a new policy and was found to not trigger the softlock detector. It takes just as much processing time, but the kernel doesn't spend all that time stuck doing one thing and never scheduling. Someday a better way to handle memory might make the time needed in this function a lot less, but this fixes the current issue as it stands today. Signed-off-by: Eric Paris Signed-off-by: James Morris commit e47c8fc582a2c9f3cba059e543c4a056cd6bf8c4 Author: Christopher J. PeBenito Date: Wed May 23 09:12:09 2007 -0400 selinux: add selinuxfs structure for object class discovery The structure is as follows (relative to selinuxfs root): /class/file/index /class/file/perms/read /class/file/perms/write ... Each class is allocated 33 inodes, 1 for the class index and 32 for permissions. Relative to SEL_CLASS_INO_OFFSET, the inode of the index file DIV 33 is the class number. The inode of the permission file % 33 is the index of the permission for that class. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 0dd4ae516e7b5be89caed2532f9d953d0b1dbf01 Author: Christopher J. PeBenito Date: Wed May 23 09:12:08 2007 -0400 selinux: change sel_make_dir() to specify inode counter. Specify the inode counter explicitly in sel_make_dir(), rather than always using sel_last_ino. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 0c92d7c73b6f99897c8bc7990717b9050cfc722f Author: Christopher J. PeBenito Date: Wed May 23 09:12:07 2007 -0400 selinux: rename sel_remove_bools() for more general usage. sel_remove_bools() will also be used by the object class discovery, rename it for more general use. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 Author: Christopher J. PeBenito Date: Wed May 23 09:12:06 2007 -0400 selinux: add support for querying object classes and permissions from the running policy Add support to the SELinux security server for obtaining a list of classes, and for obtaining a list of permissions for a specified class. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 15028aad00ddf241581fbe74a02ec89cbb28d35d Author: Michael Chan Date: Wed Jul 11 19:49:22 2007 -0700 [TG3]: Update version to 3.78. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 70b65a2d628d2e66bbf044bb764be64949f3580c Author: Matt Carlson Date: Wed Jul 11 19:48:50 2007 -0700 [TG3]: Add missing NVRAM strapping. This patch adds a missing NVRAM strapping for 5755 devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9ef8ca99749784644602535691f8cf201ee2a225 Author: Matt Carlson Date: Wed Jul 11 19:48:29 2007 -0700 [TG3]: Enable auto MDI. This patch adds automatic MDI crossover support when autonegotiation is turned off. Automatic MDI crossover allows link to be established without the use of a crossover cable. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e8f3f6cad7e423253090887bc4afe7bc844162da Author: Matt Carlson Date: Wed Jul 11 19:47:55 2007 -0700 [TG3]: Fix the polarity bit. For most pre-5705 devices, multiple link interrupts were being generated for a single physical link change. The source of the interrupts was determined to be unnecessary toggling of the MAC link polarity bit. This patch changes the way the link polarity bit gets configured. Where possible, code that dynamically configures the bit in response to link changes has been replaced by code that configures the bit once during initialization time and then leaves the bit alone. For correctness, this patch also limits the use of the bit to those devices where it is defined, namely devices before the 5705. This patch also corrects the link polarity configurations for 5700 devices when paired against a bcm5411 phy. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 469665459d26da8d0b46c70d070da1e192e48e46 Author: Michael Chan Date: Wed Jul 11 19:47:19 2007 -0700 [TG3]: Fix irq_sync race condition. Gagan Arneja pointed out that tg3_reset_task() could potentially race with another thread calling tg3_full_lock() such as the ethtool_set_xxx() functions. This may trigger the BUG_ON() in tg3_irq_quiesce() or cause the irq_sync flag to be out- of-sync. I think the easiest way to fix this is to get the tp->lock first before setting the irq_sync flag. This is safe to do because the tp->lock is never grabbed by the irq handler. This change will guarantee that the irq_sync flag updates will be serialized. We also have to change one spot to call tg3_netif_start() (which clears the irq_sync flag) before releasing the tp->lock. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit db3d99c090e0cdb34b1274767e062bfddbb384bc Author: Patrick McHardy Date: Wed Jul 11 19:46:26 2007 -0700 [NET_SCHED]: ematch: module autoloading Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 662ad4f8efd3ba2ed710d36003f968b500e6f123 Author: Stephen Hemminger Date: Wed Jul 11 19:43:52 2007 -0700 [TCP]: tcp probe wraparound handling and other changes Switch from formatting messages in probe routine and copying with kfifo, to using a small circular queue of information and formatting on read. This avoids wraparound issues with kfifo, and saves one copy. Also make sure to state correct license, rather than copying off some other driver I started with. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0e06877c6fdbc67b1132be895f995acd1ff30135 Author: Patrick McHardy Date: Wed Jul 11 19:42:31 2007 -0700 [RTNETLINK]: rtnl_link: allow specifying initial device address Drivers need to validate the initial addresses in their netlink attribute validation function or manually reject them if they can't support this. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d85cba2b272a5201a60966a65a4f8c0bcc0bb71 Author: Patrick McHardy Date: Wed Jul 11 19:42:13 2007 -0700 [RTNETLINK]: rtnl_link API simplification All drivers need to unregister their devices in the module unload function. While doing so they must hold the rtnl and atomically unregister the rtnl_link ops as well. This makes the rtnl_link_unregister function that takes the rtnl itself completely useless. Provide default newlink/dellink functions, make __rtnl_link_unregister and rtnl_link_unregister unregister all devices with matching rtnl_link_ops and change the existing users to take advantage of that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8c979c26a0f093c13290320edda799d8335e50ae Author: Patrick McHardy Date: Wed Jul 11 19:45:24 2007 -0700 [VLAN]: Fix MAC address handling The VLAN MAC address handling is broken in multiple ways. When the address differs when setting it, the real device is put in promiscous mode twice, but never taken out again. Additionally it doesn't resync when the real device's address is changed and needlessly puts it in promiscous mode when the vlan device is still down. Fix by moving address handling to vlan_dev_open/vlan_dev_stop and properly deal with address changes in the device notifier. Also switch to dev_unicast_add (which needs the exact same handling). Since the set_mac_address handler is identical to the generic ethernet one with these changes, kill it and use ether_setup(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 71bffe556c59a7865bf0b1ecd94530f1e296cdb0 Author: Patrick McHardy Date: Wed Jul 11 19:41:18 2007 -0700 [ETH]: Validate address in eth_mac_addr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 29578624e354f56143d92510fff33a8b2aaa2c03 Author: Olaf Kirch Date: Wed Jul 11 19:32:02 2007 -0700 [NET]: Fix races in net_rx_action vs netpoll. Keep netpoll/poll_napi from messing with the poll_list. Only net_rx_action is allowed to manipulate the list. Signed-off-by: Olaf Kirch Signed-off-by: David S. Miller commit 0caf3ead5131215cbd462d31f7658798030f793d Author: Kristoffer Ericson Date: Thu Jul 12 10:47:08 2007 +0900 sh: Kill off dead mach.c for hp6xx. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit be15d65d97f924e11ad7b59b1dc23b9db8d02209 Author: Kristoffer Ericson Date: Thu Jul 12 10:44:41 2007 +0900 sh: hd64461.h cleanup and added comments. Now that we dont have PIO mapping anymore we need to make sure we got the correct value in our headers. Some well needed comments have also been added. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit bdf4fa536ba5c6eff125f18231d54e227b1f3629 Author: Robert P. J. Day Date: Thu Jul 12 10:41:52 2007 +0900 sh: Update the alignment when 4K stacks are used. Use the newly added .bss.page_aligned section for aligning the stacks rather than THREAD_SIZE. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mundt commit e181127a7a12c5d8e29afa19d235b53bf4140cb3 Author: Paul Mundt Date: Thu Jul 12 10:40:36 2007 +0900 sh: Add a .bss.page_aligned section for 4K stacks. Signed-off-by: Paul Mundt commit aab1b16a61d653173b1c5f158c51ec08dd6605b0 Author: Paul Mundt Date: Thu Jul 12 09:48:54 2007 +0900 sh: Don't let SH-4A clobber SH-4 CFLAGS. Older compilers don't support the -m4a{,nofpu} flags, which has the side-effect of allowing FP operations to be emitted. Switch this to incremental tuning, so we at least have -m4-nofpu as a fallback for the gcc3 toolchains. Without this, certain modules emit references to __udivsi3_i4 and __sdivsi3_i4. Reported-by: Andrew Morton Signed-off-by: Paul Mundt commit bd63cb52c05bbb154f539369cae4fb9c9b6277da Author: Dave Airlie Date: Thu Jul 12 10:35:02 2007 +1000 drm: remove sarea typedefs Leave the userspace typedefs in place Signed-off-by: Dave Airlie commit e0be428e6645f2891fab6be92d1b0e9aad972e7d Author: Dave Airlie Date: Thu Jul 12 10:26:44 2007 +1000 drm: detypedef the hashtab and more of sman Signed-off-by: Dave Airlie commit 9698b4dba42eb758ad98012c21e5fbdb372fe2d9 Author: Dave Airlie Date: Thu Jul 12 10:21:05 2007 +1000 drm: de-typedef sman Signed-off-by: Dave Airlie commit 428ed6024fa74a271142f3257966e9b5e1cb37a1 Author: Dan Aloni Date: Thu Mar 8 09:57:36 2007 -0800 I/OAT: fix I/OAT for kexec Under kexec, I/OAT initialization breaks over busy resources because the previous kernel did not release them. I'm not sure this fix can be considered a complete one but it works for me. I guess something similar to the *_remove method should occur there.. Signed-off-by: Dan Aloni Signed-off-by: Chris Leech Signed-off-by: Andrew Morton commit e00c5d8b4d800b95b72b3f072e1d55d7c7034702 Author: Andrew Morton Date: Thu Mar 8 09:57:36 2007 -0800 I/OAT: warning fix net/ipv4/tcp.c: In function 'tcp_recvmsg': net/ipv4/tcp.c:1111: warning: unused variable 'available' Signed-off-by: Andrew Morton Signed-off-by: Chris Leech commit 2b1244a43be97f504494b557a7f7a65fe0d00dba Author: Chris Leech Date: Thu Mar 8 09:57:36 2007 -0800 I/OAT: Only offload copies for TCP when there will be a context switch The performance wins come with having the DMA copy engine doing the copies in parallel with the context switch. If there is enough data ready on the socket at recv time just use a regular copy. Signed-off-by: Chris Leech commit 91a6902958f052358899f58683d44e36228d85c2 Author: Zhang Rui Date: Sat Jun 9 13:57:22 2007 +0800 sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes Well, first of all, I don't want to change so many files either. What I do: Adding a new parameter "struct bin_attribute *" in the .read/.write methods for the sysfs binary attributes. In fact, only the four lines change in fs/sysfs/bin.c and include/linux/sysfs.h do the real work. But I have to update all the files that use binary attributes to make them compatible with the new .read and .write methods. I'm not sure if I missed any. :( Why I do this: For a sysfs attribute, we can get a pointer pointing to the struct attribute in the .show/.store method, while we can't do this for the binary attributes. I don't know why this is different, but this does make it not so handy to use the binary attributes as the regular ones. So I think this patch is reasonable. :) Who benefits from it: The patch that exposes ACPI tables in sysfs requires such an improvement. All the table binary attributes share the same .read method. Parameter "struct bin_attribute *" is used to get the table signature and instance number which are used to distinguish different ACPI table binary attributes. Without this parameter, we need to offer different .read methods for different ACPI table binary attributes. This is impossible as there are various ACPI tables on different platforms, and we don't know what they are until they are loaded. Signed-off-by: Zhang Rui Signed-off-by: Greg Kroah-Hartman commit 51225039f3cf9d250596d1344494b293274b9169 Author: Tejun Heo Date: Thu Jun 14 04:27:25 2007 +0900 sysfs: make directory dentries and inodes reclaimable This patch makes dentries and inodes for sysfs directories reclaimable. * sysfs_notify() is modified to walk sysfs_dirent tree instead of dentry tree. * sysfs_update_file() and sysfs_chmod_file() use sysfs_get_dentry() to grab the victim dentry. * sysfs_rename_dir() and sysfs_move_dir() grab all dentries using sysfs_get_dentry() on startup. * Dentries for all shadowed directories are pinned in memory to serve as lookup start point. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 53e0ae92690c52eceb997905d85fbb42de5fff63 Author: Tejun Heo Date: Thu Jun 14 04:27:25 2007 +0900 sysfs: implement sysfs_get_dentry() Some sysfs operations require dentry and inode. sysfs_get_dentry() looks up and gets dentry for the specified sysfs_dirent. It finds the first ancestor with dentry attached and starts looking up dentries from there. Looking up from the nearest ancestor is necessary to support shadowed directories because we can't reliably lookup dentry for one of the shadows. Dentries for each shadow will be pinned in memory such that they can serve as the starting point for dentry lookup. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit a0edd7c848945a75e2f41673f43bc37d0a5fed15 Author: Tejun Heo Date: Thu Jun 14 04:27:24 2007 +0900 sysfs: move sysfs_drop_dentry() to dir.c and make it static After add/remove path restructuring, the only user of sysfs_drop_dentry() is sysfs_addrm_finish(). Move sysfs_drop_dentry() to dir.c and make it static. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fb6896da37f19be4b75154c14d1cd79231255b17 Author: Tejun Heo Date: Thu Jun 14 04:27:24 2007 +0900 sysfs: restructure add/remove paths and fix inode update The original add/remove code had the following problems. * parent's timestamps are updated on dentry instantiation. this is incorrect with reclaimable files. * updating parent's timestamps isn't synchronized. * parent nlink update assumes the inode is accessible which won't be true once directory dentries are made reclaimable. This patch restructures add/remove paths to resolve the above problems. Add/removal are done in the following steps. 1. sysfs_addrm_start() : acquire locks including sysfs_mutex and other resources. 2-a. sysfs_add_one() : add new sd. linking the new sd into the children list is caller's responsibility. 2-b. sysfs_remove_one() : remove a sd. unlinking the sd from the children list is caller's responsibility. 3. sysfs_addrm_finish() : release all resources and clean up. Steps 2-a and/or 2-b can be repeated multiple times. Parent's inode is looked up during sysfs_addrm_start(). If available (always at the moment), it's pinned and nlink is updated as sd's are added and removed. Timestamps are updated during finish if any sd has been added or removed. If parent's inode is not available during start, sysfs_mutex ensures that parent inode is not created till add/remove is complete. All the complexity is contained inside the helper functions. Especially, dentry/inode handling is properly hidden from the rest of sysfs which now mostly operate on sysfs_dirents. As an added bonus, codes which use these helpers to add and remove sysfs_dirents are now more structured and simpler. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3007e997de91ec59af39a3f9c91595b31ae6e08b Author: Tejun Heo Date: Thu Jun 14 04:27:23 2007 +0900 sysfs: use sysfs_mutex to protect the sysfs_dirent tree As kobj sysfs dentries and inodes are gonna be made reclaimable, i_mutex can't be used to protect sysfs_dirent tree. Use sysfs_mutex globally instead. As the whole tree is protected with sysfs_mutex, there is no reason to keep sysfs_rename_sem. Drop it. While at it, add docbook comments to functions which require sysfs_mutex locking. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 5f9953237f684ea1778adb9d26162da00b282225 Author: Tejun Heo Date: Thu Jun 14 04:27:23 2007 +0900 sysfs: consolidate sysfs spinlocks Replace sysfs_lock and kobj_sysfs_assoc_lock with sysfs_assoc_lock. sysfs_lock was originally to be used to protect sysfs_dirent tree but mutex seems better choice, so there is no reason to keep sysfs_lock separate. Merge the two spinlocks into one. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 608e266a2d4e62c1b98c1c573064b6afe8c06a58 Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: make kobj point to sysfs_dirent instead of dentry As kobj sysfs dentries and inodes are gonna be made reclaimable, dentry can't be used as naming token for sysfs file/directory, replace kobj->dentry with kobj->sd. The only external interface change is shadow directory handling. All other changes are contained in kobj and sysfs. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit f0b0af4792d751106e2003f96af76fa95e10c68d Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: implement sysfs_find_dirent() and sysfs_get_dirent() Implement sysfs_find_dirent() and sysfs_get_dirent(). sysfs_dirent_exist() is replaced by sysfs_find_dirent(). These will be used to make directory entries reclamiable. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 380e6fbb729a55b73d5d8409551474884e0d93fc Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: implement SYSFS_FLAG_REMOVED flag Implement SYSFS_FLAG_REMOVED flag which currently is used only to improve sanity check in sysfs_deactivate(). The flag will be used to make directory entries reclamiable. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit b402d72cf7b338a074e3c12b305ec79284e18845 Author: Tejun Heo Date: Thu Jun 14 04:27:21 2007 +0900 sysfs: rename sysfs_dirent->s_type to s_flags and make room for flags Rename sysfs_dirent->s_type to s_flags, pack type into lower eight bits and reserve the rest for flags. sysfs_type() can used to access the type. All existing sd->s_type accesses are converted to use sysfs_type(). While at it, type test is changed to equality test instead of bit-and test where appropriate. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit d0bcb5689a521df98bff7549fcb8b17499660a99 Author: Tejun Heo Date: Thu Jun 14 04:27:21 2007 +0900 sysfs: make sysfs_drop_dentry() access inodes using ilookup() sysfs_drop_dentry() used to go through sd->s_dentry and sd->s_parent->s_dentry to access the inodes. This is incorrect because inode can be cached without dentry. This patch makes sysfs_drop_dentry() access inodes using ilookup() on sd->s_ino. This is both correct and simpler. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 9d9307dabb3de8140fb3801bf6eb01f231dbd83d Author: Rafael J. Wysocki Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: Fix oops in sysfs_drop_dentry on x86_64 Fix oops on x86_64 caused by the dereference of dir in sysfs_drop_dentry() made before checking if dir is not NULL (cf. http://marc.info/?l=linux-kernel&m=118151626704924&w=2). Signed-off-by: Rafael J. Wysocki Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0c73f18b7d95de8a007039337063a770b5fc8e7a Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: use singly-linked list for sysfs_dirent tree Make sysfs_dirent use singly linked list for its tree structure. sysfs_link_sibling() and sysfs_unlink_sibling() functions are added to handle simpler cases. It adds some complexity and cpu cycle overhead but reduced memory footprint is worthwhile on big machines. This change reduces the sizeof sysfs_dirent from 104 to 88 on 64bit and from 60 to 52 on 32bit. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 8619f979898397582e366877fd5feeba7560d70c Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: slim down sysfs_dirent->s_active Make sysfs_dirent->s_active an atomic_t instead of rwsem. This reduces the size of sysfs_dirent from 136 to 104 on 64bit and from 76 to 60 on 32bit with lock debugging turned off. With lock debugging turned on the reduction is much larger. s_active starts at zero and each active reference increments s_active. Putting a reference decrements s_active. Deactivation subtracts SD_DEACTIVATED_BIAS which is currently INT_MIN and assumed to be small enough to make s_active negative. If s_active is negative, sysfs_get() no longer grants new references. Deactivation succeeds immediately if there is no active user; otherwise, it waits using a completion for the last put. Due to the removal of lockdep tricks, this change makes things less trickier in release_sysfs_dirent(). As all the complexity is contained in three s_active functions, I think it's more readable this way. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit b6b4a4399c2a83d1af77c99dee0d0b5cc15ec268 Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: move s_active functions to fs/sysfs/dir.c These functions are about to receive more complexity and doesn't really need to be inlined in the first place. Move them from fs/sysfs/sysfs.h to fs/sysfs/dir.c. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0b8ead82f5d9d8f08c0d1236f2e350b70a977753 Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: fix root sysfs_dirent -> root dentry association The root sysfs_dirent didn't point to the root dentry fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 8312a8d7c1d19d31027bd4ca127ce671962c23d4 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: use iget_locked() instead of new_inode() After dentry is reclaimed, sysfs always used to allocate new dentry and inode if the file is accessed again. This causes problem with operations which only pin the inode. For example, if inotify watch is added to a sysfs file and the dentry for the file is reclaimed, the next update event creates new dentry and new inode making the inotify watch miss all the events from there on. This patch fixes it by using iget_locked() instead of new_inode(). sysfs_new_inode() is renamed to sysfs_get_inode() and inode is initialized iff the inode is newly allocated. sysfs_instantiate() is responsible for unlocking new inodes. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fc9f54b9982e14e6dbe023425c87ffbfd6992c45 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: reorganize sysfs_new_indoe() and sysfs_create() Reorganize/clean up sysfs_new_inode() and sysfs_create(). * sysfs_init_inode() is separated out from sysfs_new_inode() and is responsible for basic initialization. * sysfs_instantiate() replaces the last step of sysfs_create() and is responsible for dentry instantitaion. * type-specific initialization is moved out to the callers. * mode is specified only once when creating a sysfs_dirent. * spurious list_del_init(&sd->s_sibling) dropped from create_dir() This change is to * prepare for inode allocation fix. * separate alloc and init code for synchronization update. * make dentry/inode initialization more flexible for later changes. This patch doesn't introduce visible behavior change. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7f7cfffe60ed6271c4028ec79ae1c297b44bcb14 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: fix parent refcounting during rename and move Parent reference wasn't properly transferred during rename and move. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 42b37df6abb42ae021e15bf865b43f3629c7f3ab Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: make sysfs_alloc_ino() static sysfs_alloc_ino() isn't used out side of fs/sysfs/dir.c. Make it static. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit ad6a1e1c66009ba9dcd2f5c90ffa1fb4ce72fce0 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 driver-core: make devt_attr and uevent_attr static devt_attr and uevent_attr are either allocated dynamically with or embedded in device and class_device as they needed their owner field set to the module implementing the driver. Now that sysfs implements immediate disconnect and owner field removed from struct attribute, there is no reason to do this. Remove these attributes from [class_]device and use static attribute structures instead. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7b595756ec1f49e0049a9e01a1298d53a7faaa15 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: kill unnecessary attribute->owner sysfs is now completely out of driver/module lifetime game. After deletion, a sysfs node doesn't access anything outside sysfs proper, so there's no reason to hold onto the attribute owners. Note that often the wrong modules were accounted for as owners leading to accessing removed modules. This patch kills now unnecessary attribute->owner. Note that with this change, userland holding a sysfs node does not prevent the backing module from being unloaded. For more info regarding lifetime rule cleanup, please read the following message. http://article.gmane.org/gmane.linux.kernel/510293 (tweaked by Greg to not delete the field just yet, to make it easier to merge things properly.) Signed-off-by: Tejun Heo Cc: Cornelia Huck Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit dbde0fcf9f8f6d477af3c32d9979e789ee680cde Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: reimplement sysfs_drop_dentry() This patch reimplements sysfs_drop_dentry() such that remove_dir() can use it to drop dentry instead of using a separate mechanism. With this change, making directories reclaimable is much easier. This patch used to contain fixes for two race conditions around sd->s_dentry but that part has been separated out and included into mainline early as commit 6aa054aadfea613a437ad0b15d38eca2b963fc0a and dd14cbc994709a1c5a64ed3621f583c49a27e521. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 198a2a847015805c6f57d8cc732bdaaccb494007 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: separate out sysfs_attach_dentry() Consolidate sd <-> dentry association into sysfs_attach_dentry() and call it after dentry and inode are properly set up. This is in preparation of sysfs_drop_dentry() updates. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 73107cb3ad3963c0f929ae681c05081eafb1c079 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: kill attribute file orphaning Now that sysfs_dirent can be disconnected from kobject on deletion, there is no need to orphan each attribute files. All [bin_]attribute nodes are automatically orphaned when the parent node is deleted. Kill attribute file orphaning. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0ab66088c855eca68513bdd7442a426c4b374ced Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: implement sysfs_dirent active reference and immediate disconnect sysfs: implement sysfs_dirent active reference and immediate disconnect Opening a sysfs node references its associated kobject, so userland can arbitrarily prolong lifetime of a kobject which complicates lifetime rules in drivers. This patch implements active reference and makes the association between kobject and sysfs immediately breakable. Now each sysfs_dirent has two reference counts - s_count and s_active. s_count is a regular reference count which guarantees that the containing sysfs_dirent is accessible. As long as s_count reference is held, all sysfs internal fields in sysfs_dirent are accessible including s_parent and s_name. The newly added s_active is active reference count. This is acquired by invoking sysfs_get_active() and it's the caller's responsibility to ensure sysfs_dirent itself is accessible (should be holding s_count one way or the other). Dereferencing sysfs_dirent to access objects out of sysfs proper requires active reference. This includes access to the associated kobjects, attributes and ops. The active references can be drained and denied by calling sysfs_deactivate(). All active sysfs_dirents must be deactivated after deletion but before the default reference is dropped. This enables immediate disconnect of sysfs nodes. Once a sysfs_dirent is deleted, it won't access any entity external to sysfs proper. Because attr/bin_attr ops access both the node itself and its parent for kobject, they need to hold active references to both. sysfs_get/put_active_two() helpers are provided to help grabbing both references. Parent's is acquired first and released last. Unlike other operations, mmapped area lingers on after mmap() is finished and the module implement implementing it and kobj need to stay referenced till all the mapped pages are gone. This is accomplished by holding one set of active references to the bin_attr and its parent if there have been any mmap during lifetime of an openfile. The references are dropped when the openfile is released. This change makes sysfs lifetime rules independent from both kobject's and module's. It not only fixes several race conditions caused by sysfs not holding onto the proper module when referencing kobject, but also helps fixing and simplifying lifetime management in driver model and drivers by taking sysfs out of the equation. Please read the following message for more info. http://article.gmane.org/gmane.linux.kernel/510293 Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit eb36165353d0e5ac32b063f555acedcbaf6d3b75 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: implement bin_buffer Implement bin_buffer which contains a mutex and pointer to PAGE_SIZE buffer to properly synchronize accesses to per-openfile buffer and prepare for immediate-kobj-disconnect. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2b29ac252afff87b8465b064ca2d9740cf1f6e52 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: reimplement symlink using sysfs_dirent tree sysfs symlink is implemented by referencing dentry and kobject from sysfs_dirent - symlink entry references kobject, dentry is used to walk the tree. This complicates object lifetimes rules and is dangerous - for example, there is no way to tell to which module the target of a symlink belongs and referencing that kobject can make it linger after the module is gone. This patch reimplements symlink using only sysfs_dirent tree. sd for a symlink points and holds reference to the target sysfs_dirent and all walking is done using sysfs_dirent tree. Simpler and safer. Please read the following message for more info. http://article.gmane.org/gmane.linux.kernel/510293 Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit aecdcedaab49ca40620dc7dd70f67ee7269a66c9 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: implement kobj_sysfs_assoc_lock kobj->dentry can go away anytime unless the user controls when the associated sysfs node is deleted. This patch implements kobj_sysfs_assoc_lock which protects kobj->dentry. This will be used to maintain kobj based API when converting sysfs to use sysfs_dirent tree instead of dentry/kobject. Note that this lock belongs to kobject/driver-model not sysfs. Once sysfs is converted to not use kobject in its interface, this can be removed from sysfs. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3e5190380ebef77f2b015c9e7a4ca225a3d75021 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: make sysfs_dirent->s_element a union Make sd->s_element a union of sysfs_elem_{dir|symlink|attr|bin_attr} and rename it to s_elem. This is to achieve... * some level of type checking : changing symlink to point to sysfs_dirent instead of kobject is much safer and less painful now. * easier / standardized dereferencing * allow sysfs_elem_* to contain more than one entry Where possible, pointer is obtained by directly deferencing from sd instead of going through other entities. This reduces dependencies to dentry, inode and kobject. to_attr() and to_bin_attr() are unused now and removed. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0c096b507f15397da890051ee73de4266d3941fb Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: add sysfs_dirent->s_name Add s_name to sysfs_dirent. This is to further reduce dependency to the associated dentry. Name is copied for directories and symlinks but not for attributes. Where possible, name dereferences are converted to use sd->s_name. sysfs_symlink->link_name and sysfs_get_name() are unused now and removed. This change allows symlink to be implemented using sysfs_dirent tree proper, which is the last remaining dentry-dependent sysfs walk. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 13b3086d2ea483cbcae5a4236446cecc082a72cf Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: add sysfs_dirent->s_parent Add sysfs_dirent->s_parent. With this patch, each sd points to and holds a reference to its parent. This allows walking sysfs tree without referencing sd->s_dentry which can go away anytime if the user doesn't control when it's deleted. sd->s_parent is initialized and parent is referenced in sysfs_attach_dirent(). Reference to parent is released when the sd is released, so as long as reference to a sd is held, s_parent can be followed. dentry walk in sysfs_readdir() is convereted to s_parent walk. This will be used to reimplement symlink such that it uses only sysfs_dirent tree. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit a26cd7226c24c3be5dd5f48a74832fe64beb8489 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: consolidate sysfs_dirent creation functions Currently there are four functions to create sysfs_dirent - __sysfs_new_dirent(), sysfs_new_dirent(), __sysfs_make_dirent() and sysfs_make_dirent(). Other than sysfs_make_dirent(), no function has two users if calls to implement other functions are excluded. This patch consolidates sysfs_dirent creation functions into the following two. * sysfs_new_dirent() : allocate and initialize * sysfs_attach_dirent() : attach to sysfs_dirent hierarchy and/or associate with dentry This simplifies interface and gives callers more flexibility. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 996b73764e9bb9d5e751fd15b130ba38637d66a8 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: flatten and fix sysfs_rename_dir() error handling Error handling in sysfs_rename_dir() was broken. * When lookup_one_len() fails, 0 is returned. * If parent inode check fails, returns with inode mutex and rename rwsem held. This patch fixes the above bugs and flattens error handling such that it's more readable and easier to modify. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dfeb9fb0343363aadc3ee00a9347d120bc2a26b1 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: flatten cleanup paths in sysfs_add_link() and create_dir() Flatten cleanup paths in sysfs_add_link() and create_dir() to improve readability and ease further changes to these functions. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 93e3cd8270d036953120eca83610f95d3f7374c6 Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: fix error handling in binattr write() Error handling in fs/sysfs/bin.c:write() was wrong because size_t count is used to receive return value from flush_write() which is negative on failure. This patch updates write() such that int variable is used instead. read() is updated the same way for consistency. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7a23ad44047b1084a032bc0d127fe08af024593a Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: make sysfs_put() ignore NULL sd Make sysfs_put() ignore NULL sd instead of oopsing. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2b611bb7abdcc08278453fc9f6517401fd69ef95 Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: allocate inode number using ida sysfs used simple incrementing allocator which is not guaranteed to be unique. This patch makes sysfs use ida to give each sd a unique and packed inode number. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fa7f912ad4ae0ed7591add52422e48282389652d Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: move release_sysfs_dirent() to dir.c There is no reason this function should be inlined and soon to follow sysfs object reference simplification will make it heavier. Move it to dir.c. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 72dba584b695d8bc8c1a50ed54ad4cba7c62314d Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 ida: implement idr based id allocator Implement idr based id allocator. ida is used the same way idr is used but lacks id -> ptr translation and thus consumes much less memory. struct ida_bitmap is attached as leaf nodes to idr tree which is managed by the idr code. Each ida_bitmap is 128bytes long and contains slightly less than a thousand slots. ida is more aggressive with releasing extra resources acquired using ida_pre_get(). After every successful id allocation, ida frees one reserved idr_layer if possible. Reserved ida_bitmap is not freed automatically but only one ida_bitmap is reserved and it's almost always used right away. Under most circumstances, ida won't hold on to memory for too long which isn't actively used. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit e33ac8bdb0c84fe7afd2c45537b763faf28c589e Author: Tejun Heo Date: Thu Jun 14 03:45:12 2007 +0900 idr: separate out idr_mark_full() Separate out idr_mark_full() from sub_alloc() and make marking the allocated slot full the responsibility of idr_get_new_above_int(). Allocation part of idr_get_new_above_int() is renamed to idr_get_empty_slot(). New idr_get_new_above_int() allocates a slot using the function, install the user pointer and marks it full using idr_mark_full(). This change doesn't introduce any behavior change. This will be used by ida. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7aae6dd80e265aa9402ed507caaff4a5dba55069 Author: Tejun Heo Date: Thu Jun 14 03:45:12 2007 +0900 idr: fix obscure bug in allocation path In sub_alloc(), when bitmap search fails, it goes up one level to continue search. This is done by updating the id cursor and searching the upper level again. If the cursor was at the end of the upper level, we need to go further than that. This wasn't implemented and when that happens the part of the cursor which indexes into the upper level wraps and sub_alloc() ends up searching the wrong bitmap. It allocates id which doesn't match the actual slot. This patch fixes this by restarting from the top if the search needs to go higher than one level. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dc0afa8388972a9ed7c2203cc46d8df1a4713f65 Author: Cornelia Huck Date: Mon Jul 9 11:39:18 2007 -0700 Driver core: coding style cleanup This converts code of the form if ((error = some_func())) goto fixup; to error = some_func(); if (error) goto fixup; Signed-off-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 93160c6397e460bc4c7ac15323fb698f91ef02e5 Author: Rafael J. Wysocki Date: Mon Jul 9 11:39:19 2007 -0700 PM: do not use saved_state from struct dev_pm_info on ARM The saved_state member of 'struct dev_pm_info' that's going to be removed is used in arch/arm/common/locomo.c, arch/arm/common/sa1111.c and arch/arm/mach-sa1100/neponset.c. Change the code in there to use local variables for saving the state of devices during suspend. Signed-off-by: Rafael J. Wysocki Cc: Greg KH Cc: David Brownell Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 43a49f8baa6b0e7e5b68ed0ee141e1efacfd9ae6 Author: Rafael J. Wysocki Date: Sun Jun 17 19:50:51 2007 +0200 PM: Do not check parent state in suspend and resume core code The checks if the device's parent is in the right state done in drivers/base/power/suspend.c and drivers/base/power/resume.c serve no particular purpose, since if the parent is in a wrong power state, the device's suspend or resume callbacks are supposed to return an error anyway. Moreover, they are also useless from the sanity checking point of view, because they rely on the code being checked to set dev->parent->power.power_state.event appropriately, which need not happen if that code is buggy. For these reasons they can be removed. Signed-off-by: Rafael J. Wysocki Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1c3f7d1c79425dd8f627b8da139fd1855f096b6e Author: Rafael J. Wysocki Date: Sun Jun 17 19:49:20 2007 +0200 PM: Remove power_state.event checks from suspend core code The suspend routines should be called for every device during a system sleep transition, regardless of the device's state, so that drivers can regard these method calls as notifications that the system is about to go to sleep, rather than as directives to put their devices into the 'off' state. This is documented in Documentation/power/devices.txt and is already done in the core resume code, so it seems reasonable to make the core suspend code behave accordingly. Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 515c53576299e32d6bdb6295cfa2fe1307516eb4 Author: Rafael J. Wysocki Date: Sun Jun 17 19:48:06 2007 +0200 PM: Remove prev_state from struct dev_pm_info The prev_state member of struct dev_pm_info (defined in include/linux/pm.h) is only used during a resume to check if the device's state before the suspend was 'off', in which case the device is not resumed. However, in such cases the decision whether or not to resume the device should be made on the driver level and the resume callbacks from the device's bus and class should be executed anyway (the may be needed for some things other than just powering on the device). Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 2a0134554e12f530c6eccb1dab3f0f8954f855c9 Author: Adrian Bunk Date: Mon Jun 18 01:42:54 2007 +0200 Driver core: fix devres_release_all() return value Every file should include the headers containing the prototypes for it's global functions. Since the GNU C compiler is now able to detect that the function prototype of devres_release_all() in the header and the actual function disagree regarding the return value, this patch also fixes this bug. Signed-off-by: Adrian Bunk Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit ab71c6f0767bcbc618f3db51f668d5b951c00b60 Author: Stefan Richter Date: Sun Jun 17 11:02:12 2007 +0200 driver core: fix kernel doc of device_release_driver Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 1f5681aae8feadd113644c9e077152416c12b75c Author: Stefan Richter Date: Sun Jun 17 11:01:18 2007 +0200 driver core: properly get driver in device_release_driver Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit f8916c11a4dc4cb2367e9bee1788f4e0f1b4eabc Author: Michael S. Tsirkin Date: Sun Jun 10 22:39:12 2007 +0300 Driver core: include linux/mutex.h from attribute_container.c attribute_container.c uses DEFINE_MUTEX, so while linux/mutex.h seems to be pulled in indirectly by one of the headers it includes, the right thing is to include linux/mutex.h directly. Signed-off-by: Michael S. Tsirkin commit 9e584a4fe58881e2dc8f09bdf8444b199ab5ecaf Author: Rafael J. Wysocki Date: Wed Jun 13 16:19:27 2007 +0200 PM: Simplify suspend_device Reduce code duplication in drivers/base/suspend.c by introducing a separate function for printing diagnostic messages. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit cc4900690bf77257996e90f0059eb074b8db52e6 Author: Rafael J. Wysocki Date: Wed Jun 13 15:55:34 2007 +0200 PM: Remove saved_state from struct dev_pm_info The saved_state member of struct dev_pm_info, defined in include/linux/pm.h, is not used anywhere, so it can be removed. Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 9cddad77574313fcee36c5e60122718daa7c0361 Author: Rafael J. Wysocki Date: Wed Jun 13 15:53:34 2007 +0200 PM: Remove pm_parent from struct dev_pm_info The pm_parent member of struct dev_pm_info (defined in include/linux/pm.h) is only used to check if the device's parent is in the right state while the device is being suspended or resumed. However, this can be done just as well with the help of the parent pointer in struct device, so pm_parent can be removed along with some code that handles it. Signed-off-by: Rafael J. Wysocki Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 11048dcf333c414f237bb713c422e68f67b115a3 Author: Matthias Kaehlcke Date: Wed May 23 14:19:41 2007 -0700 Power Management: use mutexes instead of semaphores The Power Management code uses semaphores as mutexes. Use the mutex API instead of the (binary) semaphores. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9f3f776bd9e3d52f0204db1df0914b50d6a2372e Author: Matthias Kaehlcke Date: Wed May 23 14:19:42 2007 -0700 sysdev: use mutex instead of semaphore The sysdev code use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 80f03e349f06a261a8e980bf6005c61811a0d66a Author: Kay Sievers Date: Sat May 26 11:21:36 2007 +0200 Driver core: add missing kset uevent We get uevents for a bus/class going away, but not one registering. Add the missing uevent in kset_register(), which will send an event for a new bus/class. Suppress all unwanted uevents for bus subdirectories like /bus/*/devices/, /bus/*/drivers/. Now we get for module usbcore: add /module/usbcore (module) add /bus/usb (bus) add /class/usb_host (class) add /bus/usb/drivers/hub (drivers) add /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/hub (drivers) remove /class/usb_host (class) remove /bus/usb (bus) remove /module/usbcore (module) instead of: add /module/usbcore (module) add /bus/usb/drivers/hub (drivers) add /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/hub (drivers) remove /class/usb_host (class) remove /bus/usb/drivers (bus) remove /bus/usb/devices (bus) remove /bus/usb (bus) remove /module/usbcore (module) Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4f5c791a850e5305a5b1b48d0e4b4de248dc96f9 Author: Lennart Poettering Date: Tue May 8 22:07:02 2007 +0200 DMI-based module autoloading The patch below adds DMI/SMBIOS based module autoloading to the Linux kernel. The idea is to load laptop drivers automatically (and other drivers which cannot be autoloaded otherwise), based on the DMI system identification information of the BIOS. Right now most distros manually try to load all available laptop drivers on bootup in the hope that at least one of them loads successfully. This patch does away with all that, and uses udev to automatically load matching drivers on the right machines. Basically the patch just exports the DMI information that has been parsed by the kernel anyway to userspace via a sysfs device /sys/class/dmi/id and makes sure that proper modalias attributes are available. Besides adding the "modalias" attribute it also adds attributes for a few other DMI fields which might be useful for writing udev rules. This patch is not an attempt to export the entire DMI/SMBIOS data to userspace. We already have "dmidecode" which parses the complete DMI info from userspace. The purpose of this patch is machine model identification and good udev integration. To take advantage of DMI based module autoloading, a driver should export one or more MODULE_ALIAS fields similar to these: MODULE_ALIAS("dmi:*:svnMICRO-STARINT'LCO.,LTD:pnMS-1013:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1058:pvr0581:rvnMSI:rnMS-1058:*:ct10:*"); MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1412:*:rvnMSI:rnMS-1412:*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); MODULE_ALIAS("dmi:*:svnNOTEBOOK:pnSAM2000:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); These lines are specific to my msi-laptop.c driver. They are basically just a concatenation of a few carefully selected DMI fields with all potentially bad characters stripped. Besides laptop drivers, modules like "hdaps", the i2c modules and the hwmon modules are good candidates for "dmi:" MODULE_ALIAS lines. Besides merely exporting the DMI data via sysfs the patch adds support for a few more DMI fields. Especially the CHASSIS fields are very useful to identify different laptop modules. The patch also adds working MODULE_ALIAS lines to my msi-laptop.c driver. I'd like to thank Kay Sievers for helping me to clean up this patch for posting it on lkml. Patch is against Linus' current GIT HEAD. Should probably apply to older kernels as well without modification. Signed-off-by: Lennart Poettering Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cfc94cdf8e0f14e692a5a40ef3cc10f464b2511b Author: Jan Kara Date: Wed May 9 13:19:52 2007 +0200 debugfs: add rename for debugfs files Implement debugfs_rename() to allow renaming files/directories in debugfs. Signed-off-by: Jan Kara Signed-off-by: Greg Kroah-Hartman commit 46336009b5009e9fab3bd623a3beb9c7421545ac Author: Kay Sievers Date: Fri Jun 8 13:36:37 2007 -0700 Rules on how to use sysfs in userspace programs Here's a document to help clear things up. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 36e235901f90fb83215be43cbd8f1ca14661ea40 Author: Matthew Wilcox Date: Tue Jul 10 10:54:40 2007 -0600 PCI: Only build PCI syscalls on architectures that want them The PCI syscalls are built on every architecture except X86, but only a few have ever hooked them up. Use a new Kconfig symbol to save a couple of kB on the architectures that have never used the syscalls. Tested on x86 and ia64 only. Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit 5463d9f0f323123d96989d318ac9c537158ad0a5 Author: Randy Dunlap Date: Thu Jun 28 16:04:21 2007 -0700 PCI: limit pci_get_bus_and_slot to domain 0 Limit pci_get_bus_and_slot() to domain (segment) 0 since domain is not specified in the function call and defaulting to domain 0 is the only reasonable thing to do (rather than returning a device from some other unknown domain). Signed-off-by: Randy Dunlap Acked-by: H. Peter Anvin Signed-off-by: Greg Kroah-Hartman commit 0bbd6424c55f0ab9e7fcd6a851bc49e265259ff5 Author: Gary Hade Date: Thu Jul 5 11:10:48 2007 -0700 PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure On some systems, the ACPI bus check event can reference a bridge that is higher in the ACPI hierarchy than the bridge immediately above the hotplug PCI slot into which an adapter was just inserted. The current 'acpiphp' code expects the bus check event to reference the bridge immediately above the slot that received the adapter so the hotplug operation can fail on these systems with the message "acpiphp_glue: cannot get bridge info". This change fixes the problem by re-enumerating all slots that lie below the bridge referenced by the bus check event, including those slots that may be located under lower level PCI-to-PCI bridge(s). Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 9ef2241b18266d75319e7d66156243bd9010be44 Author: Gary Hade Date: Thu Jul 5 11:10:47 2007 -0700 PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge acpiphp is writing hot plug parameters to the PCI host bridge PCI config space. This patch removes the incorrect operation. Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit bfceafc5979d9055e04f03f970de6ff7a4bce1b6 Author: Gary Hade Date: Thu Jul 5 11:10:46 2007 -0700 PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 On systems where the optional _PS3 ACPI object is not implemented acpiphp fails to power off the slot. This is happening because the current code does not attempt to remove power using the _EJ0 ACPI object. This patch restores the _EJ0 evaluation attempt which was apparently inadvertently removed from the power-off sequence when the _EJ0 evaluation code was relocated from power_off_slot() to acpiphp_eject_slot(). Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 5b57a6cea464fc686a6bc446f667c05901fa9734 Author: Kenji Kaneshige Date: Thu Jul 5 11:10:45 2007 -0700 PCI: hotplug: pciehp: wait for 1 second after power off slot According to the specification, we must wait for at least 1 second after turning power off before taking any action that relies on power having been removed from the slot/adapter. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit cca03dec2f0eb8f3c4578e067d2b20a366b940db Author: Andrew Lunn Date: Mon Jul 9 11:55:58 2007 -0700 PCI: pci_set_power_state(): check for PM capabilities earlier Check for PCI_CAP_ID_PM before checking the device state. Apparently fixes some log spam via the 3c59x driver. Signed-off-by: Andrew Lunn Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0bec2c85bb269446358dceae82ca7822ccfd4e9f Author: Scott Murray Date: Mon Jul 9 11:55:57 2007 -0700 PCI: cpci_hotplug: Convert to use the kthread API Signed-off-by: Christoph Hellwig Signed-off-by: Scott Murray Acked-by: Kristen Carlson Accardi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 694625c0b322905d6892fad873029f764cd4823f Author: Randy Dunlap Date: Mon Jul 9 11:55:54 2007 -0700 PCI: add pci_try_set_mwi As suggested by Andrew, add pci_try_set_mwi(), which does not require return-value checking. - add pci_try_set_mwi() without __must_check - make it return 0 on success, errno if the "try" failed or error - review callers Signed-off-by: Randy Dunlap Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit f5609d7e679db3f29433f56e1f2e397a2f815288 Author: Milind Arun Choudhary Date: Mon Jul 9 11:55:54 2007 -0700 PCI: pcie: remove SPIN_LOCK_UNLOCKED Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6f6f8c2f4b59711857d14ada8e70309d52e8fae4 Author: Milind Arun Choudhary Date: Mon Jul 9 11:55:51 2007 -0700 PCI: ROUND_UP macro cleanup in drivers/pci ROUND_UP macro cleanup, use ALIGN where ever appropriate Signed-off-by: Milind Arun Choudhary Acked-by: Scott Murray Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit caa5171622c8fef70fa20d2d74f4326866039df9 Author: Jan Beulich Date: Mon Jul 9 11:55:51 2007 -0700 PCI: remove pci_dac_dma_... APIs Based on replies to a respective query, remove the pci_dac_dma_...() APIs (except for pci_dac_dma_supported() on Alpha, where this function is used in non-DAC PCI DMA code). Signed-off-by: Jan Beulich Cc: Andi Kleen Cc: Jesse Barnes Cc: Christoph Hellwig Acked-by: David Miller Cc: Jeff Garzik Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b7b095c154c50ee753832bbf78e8690c492fc8f6 Author: Andrew Morton Date: Mon Jul 9 11:55:50 2007 -0700 PCI: pci-x-pci-express-read-control-interfaces cleanups - remove unneeded local - 80-col fix Cc: Peter Oruba Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 579082df38839efc5b14aa3f48b8806e3e8dc5c2 Author: Rolf Eike Beer Date: Tue Jul 10 13:35:05 2007 +0200 PCI: Fix typo in include/linux/pci.h Signed-off-by: Rolf Eike Beer Signed-off-by: Greg Kroah-Hartman commit 12bedda9f404c4d34eda6477b0ec32140d83501b Author: Jiri Slaby Date: Mon Jun 18 10:56:52 2007 +0200 PCI: pci_ids, remove double or more empty lines pci_ids, remove two or more empty lines Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit f732ee0b71365ddc20e6a0b408f9fd1732d7eb75 Author: Jiri Slaby Date: Mon Jun 18 10:58:14 2007 +0200 PCI: pci_ids, add atheros and 3com_2 vendors pci_ids, add atheros and 3com_2 vendors Atheros is wifi vendor. 3com_2 (0xa727) is an vendor id for one card with ath chip. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 03966e097db1a3b7aff5d364277f2e66069923df Author: Jiri Slaby Date: Mon Jun 18 10:55:30 2007 +0200 PCI: pci_ids, reorder some entries pci_ids, reorder some entries Some lines are not vendor sorted, reorder it to comply with the rest of document. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit c43eaa02abf3b034a9694dcca5c177ecb6072f89 Author: Jiri Slaby Date: Mon Jun 18 10:58:14 2007 +0200 PCI: i386: traps, change VENDOR to DEVICE traps, change VENDOR to DEVICE Change macro for SGI lithium (arch/i386/mach-visws/traps.c) device from VENDOR to DEVICE, because it's a device id. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 1d0ed384c1f2582b6f7408642c77a78a0c410122 Author: Jiri Slaby Date: Mon Jun 18 10:58:13 2007 +0200 PCI: ATM: lanai, change VENDOR to DEVICE lanai, change VENDOR to DEVICE There were 2 bad named macros in pci_ids (LANAI 2 and IHB). Rename it to DEVICE, because it's device id. Also make some cleanpu in pci_device_id table (use PCI_VDEVICE). Cc: Mitchell Blank Jr Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 Author: Auke Kok Date: Fri Jun 8 15:46:36 2007 -0700 PCI: Change all drivers to use pci_device->revision Instead of all drivers reading pci config space to get the revision ID, they can now use the pci_device->revision member. This exposes some issues where drivers where reading a word or a dword for the revision number, and adding useless error-handling around the read. Some drivers even just read it for no purpose of all. In devices where the revision ID is being copied over and used in what appears to be the equivalent of hotpath, I have left the copy code and the cached copy as not to influence the driver's performance. Compile tested with make all{yes,mod}config on x86_64 and i386. Signed-off-by: Auke Kok Acked-by: Dave Jones Signed-off-by: Greg Kroah-Hartman commit b8a3a5214d7cc115f1ca3a3967b7229d97c46f4a Author: Auke Kok Date: Fri Jun 8 15:46:30 2007 -0700 PCI: read revision ID by default Currently there are 97 occurrences where drivers need the pci revision ID. We can do this once for all devices. Even the pci subsystem needs the revision several times for quirks. The extra u8 member pads out nicely in the pci_dev struct. Signed-off-by: Auke Kok Signed-off-by: Greg Kroah-Hartman commit 56906c612e10b5e32a48ccbe8a3c08ab6acf5a28 Author: David Brownell Date: Mon May 7 10:26:17 2007 -0700 PCI: remove useless pci driver method Remove pointless and never-called enable_wake() hook from pci_driver and from documentation. Evidently this was introduced in the 2.4.6 kernel, but there's no evidence it was ever called; and it was rarely implemented. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e57571a07de8464f2e5911f87d2c8f29b0430fb7 Author: Adrian Bunk Date: Wed Apr 4 17:25:48 2007 +0200 PCI: unexport pci_proc_attach_device On Mon, Apr 02, 2007 at 10:47:45PM -0700, Andrew Morton wrote: >... > Changes since 2.6.21-rc5-mm3: >... > +fix-82875-pci-setup.patch >... > Misc >... pci_proc_attach_device() no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit f0dce411930d16a678173e534594bca160f5eaff Author: Stephen Hemminger Date: Wed Jun 6 11:50:34 2007 +0800 PCI aer: add pci_cleanup_aer_correct_aer_status Function to clear bogus correctable errors. Analog to pci_aer_uncorrect_are_status. The Marvell chips seem to start out with a bogus value that needs to be cleared. Yanmin ported it to 2.6.22-rc4 by fixing a fuzz patch applying info. Signed-off-by: Stephen Hemminger Acked-by: Zhang Yanmin Signed-off-by: Greg Kroah-Hartman commit 65b3bc358a3195ebe459761a248cf33a61539947 Author: Stephen Hemminger Date: Wed Jun 6 11:46:49 2007 +0800 PCI aer: fix stub return values The stubs used when advanced error reporting is not enabled must have same return type as real functions. Signed-off-by: Stephen Hemminger Acked-by: Zhang Yanmin Signed-off-by: Greg Kroah-Hartman commit 8d29bfb79e632fe318f4c01c9c2e8faacb89b800 Author: Zhang, Yanmin Date: Wed Jun 6 11:44:16 2007 +0800 PCI: fix AER driver error information Below patch fixes aer driver error information and enables aer driver although CONFIG_ACPI=n. As a matter of fact, the new patch is created from below 2 patches plus a minor patch apply fuzz fixing. Because the second patch fixed a compilation error introduced by the first patch, I merge them to facilitate bisect. 1) http://marc.info/?l=linux-kernel&m=117783233918191&w=2; 2) http://marc.info/?l=linux-mm-commits&m=118046936720790&w=2 Signed-off-by: Zhang Yanmin Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit f477836457730a2b925f625023ec4e5bf11015be Author: Kenji Kaneshige Date: Thu May 31 09:43:34 2007 -0700 PCI: hotplug: pciehp: Fix possible race condition in writing slot The slot control register is modified as follows: (1) Read the register value (2) Change the value (3) Write the value to the register Those must be done atomically, otherwise writing to control register would cause an unexpected result. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit adf809d01043d8808e47db2d35fc07b53062884e Author: Alan Cox Date: Mon May 21 14:16:17 2007 -0700 + pci_find_slot-mark-deprecated.patch added to -mm tree We've now fixed up most users of pci_find_slot, and the remainder are either hard and need someone with the hardware and info to work on it, or patches exist but are not yet merged. Time therefore for some gentle encouragement Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a2cd52ca904f5913651e71764755e712894ccc2f Author: Michael Ellerman Date: Tue May 8 12:03:08 2007 +1000 PCI: Make pcibios_add_platform_entries() return errors Currently pcibios_add_platform_entries() returns void, but could fail, so instead have it return an int and propagate errors up to pci_create_sysfs_dev_files(). Fixes: arch/powerpc/kernel/pci_64.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_64.c:878: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result arch/powerpc/kernel/pci_32.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_32.c:1043: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 575e3348cb80c3265278756778d5091d5ca4efbf Author: Michael Ellerman Date: Tue May 8 12:03:07 2007 +1000 PCI: Use a weak symbol for the empty version of pcibios_add_platform_entries() I'm not sure if this is going to fly, weak symbols work on the compilers I'm using, but whether they work for all of the affected architectures I can't say. I've cc'ed as many arch maintainers/lists as I could find. But assuming they do, we can use a weak empty definition of pcibios_add_platform_entries() to avoid having an empty definition on every arch. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit d556ad4bbe75faf17b239e151a9f003322b2e851 Author: Peter Oruba Date: Tue May 15 13:59:13 2007 +0200 PCI: add PCI-X/PCI-Express read control interfaces This patch introduces an interface to read and write PCI-X / PCI-Express maximum read byte count values from PCI config space. There is a second function that returns the maximum _designed_ read byte count, which marks the maximum value for a device, since some drivers try to set MMRBC to the highest allowed value and rely on such a function. Based on patch set by Stephen Hemminger Cc: Stephen Hemminger Signed-off-by: Peter Oruba Signed-off-by: Greg Kroah-Hartman commit e4585da22ad04a055cbb5c863a37aa8cc02eac89 Author: Alan Cox Date: Mon Apr 23 14:57:37 2007 +0100 pci syscall.c: Switch to refcounting API Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a23adb5b2db7f2a0758abfa20b0220dbcbfd7aa9 Author: Greg Kroah-Hartman Date: Thu Jun 7 13:27:09 2007 -0700 PCI: point people to Bernhard instead of the linux-kernel list Back in commit 8c4b2cf9af9b4ecc29d4f0ec4ecc8e94dc4432d7, Bernhard said that he would fix up all instances of when this message happens. So point people at him instead of the linux-kernel list which can not fix things up. Cc: Bernhard Kaindl Cc: Dave Jones Cc: Andrew Morton Cc: Miles Lane Signed-off-by: Greg Kroah-Hartman commit 46ae3571526e4fc3a004053b5fb57984ca5b3eb6 Author: Greg Kroah-Hartman Date: Fri Jun 8 12:08:34 2007 +0800 PCI: remove cpqphp driver maintainer I'm no longer maintaining this driver as I no longer have the hardware and I doubt anyone else does either. Signed-off-by: Greg Kroah-Hartman commit 72d0b7a81d60f5e64ee7197bc190b9b3265f99dd Author: Chris Leech Date: Thu Mar 8 09:57:35 2007 -0800 I/OAT: Add documentation for the tcp_dma_copybreak sysctl Signed-off-by: Chris Leech commit 70774b47392171faae0e98f795aa1507f9246af1 Author: Chris Leech Date: Thu Mar 8 09:57:35 2007 -0800 ioatdma: Remove the use of writeq from the ioatdma driver There's only one now anyway, and it's not in a performance path, so make it behave the same on 32-bit and 64-bit CPUs. Signed-off-by: Chris Leech commit e38288117c50fe22ed1693c2d8397245bb7e1a53 Author: Chris Leech Date: Thu Mar 8 09:57:35 2007 -0800 ioatdma: Remove the wrappers around read(bwl)/write(bwl) in ioatdma Signed-off-by: Chris Leech commit ff487fb773749124550a5ad2b7fbfe0376af6f0d Author: Jeff Garzik Date: Thu Mar 8 09:57:34 2007 -0800 drivers/dma: handle sysfs errors From: Jeff Garzik Signed-off-by: Jeff Garzik Signed-off-by: Chris Leech commit 000725d56a196e72dc22328324c5ec5506265736 Author: Chris Leech Date: Thu Mar 8 09:57:33 2007 -0800 ioatdma: Push pending transactions to hardware more frequently Every 20 descriptors turns out to be to few append commands with newer/faster CPUs. Pushing every 4 still cuts down on MMIO writes to an acceptable level without letting the DMA engine run out of work. Signed-off-by: Chris Leech commit c5d3e45a2200a0905dc45b72714726b7aac3aaf1 Author: Jeff Garzik Date: Wed Jul 11 18:30:50 2007 -0400 [libata] sata_mv: Minor cleanups and renaming, preparing for new EH & NCQ Minor cleanups, new definitions, and code movement, preparing for upcoming new-EH and NCQ changes. This commit shoult not change behavior at all. Signed-off-by: Jeff Garzik commit 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9 Author: Miklos Szeredi Date: Wed Jul 11 14:22:39 2007 -0700 [AF_UNIX]: Rewrite garbage collector, fixes race. Throw out the old mark & sweep garbage collector and put in a refcounting cycle detecting one. The old one had a race with recvmsg, that resulted in false positives and hence data loss. The old algorithm operated on all unix sockets in the system, so any additional locking would have meant performance problems for all users of these. The new algorithm instead only operates on "in flight" sockets, which are very rare, and the additional locking for these doesn't negatively impact the vast majority of users. In fact it's probable, that there weren't *any* heavy senders of sockets over sockets, otherwise the above race would have been discovered long ago. The patch works OK with the app that exposed the race with the old code. The garbage collection has also been verified to work in a few simple cases. Signed-off-by: Miklos Szeredi Signed-off-by: David S. Miller commit 1612b18ccb2318563ba51268289dc3271a6052f7 Author: Russ Anderson Date: Fri May 18 17:17:17 2007 -0500 [IA64] Support multiple CPUs going through OS_MCA Linux does not gracefully deal with multiple processors going through OS_MCA aa part of the same MCA event. The first cpu into OS_MCA grabs the ia64_mca_serialize lock. Subsequent cpus wait for that lock, preventing them from reporting in as rendezvoused. The first cpu waits 5 seconds then complains that all the cpus have not rendezvoused. The first cpu then handles its MCA and frees up all the rendezvoused cpus and releases the ia64_mca_serialize lock. One of the subsequent cpus going thought OS_MCA then gets the ia64_mca_serialize lock, waits another 5 seconds and then complains that none of the other cpus have rendezvoused. This patch allows multiple CPUs to gracefully go through OS_MCA. The first CPU into ia64_mca_handler() grabs a mca_count lock. Subsequent CPUs into ia64_mca_handler() are added to a list of cpus that need to go through OS_MCA (a bit set in mca_cpu), and report in as rendezvoused, and but spin waiting their turn. The first CPU sees everyone rendezvous, handles his MCA, wakes up one of the other CPUs waiting to process their MCA (by clearing one mca_cpu bit), and then waits for the other cpus to complete their MCA handling. The next CPU handles his MCA and the process repeats until all the CPUs have handled their MCA. When the last CPU has handled it's MCA, it sets monarch_cpu to -1, releasing all the CPUs. In testing this works more reliably and faster. Thanks to Keith Owens for suggesting numerous improvements to this code. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 256a7e097ba3d1179867b4c9aba1b75fb32d44f2 Author: Jes Sorensen Date: Wed Jul 11 17:26:30 2007 +0200 [IA64] silence GCC ia64 unused variable warnings Tell GCC to stop spewing out unnecessary warnings for unused variables passed to functions as pointers for ia64 files. Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit 012b7105cc816fb797eb1c161cdfc0052b5c3f53 Author: Alex Chiang Date: Wed Jul 11 11:02:15 2007 -0600 [IA64] prevent MCA when performing MMIO mmap to PCI config space Example memory map (HP rx7640 with 'default' acpiconfig setting, VGA disabled): 0x00000000 - 0x3FFFBFFF supports only WB (cacheable) access If a user attempts to perform an MMIO mmap (using the PCIIOC_MMAP_IS_MEM ioctl) to PCI config space (like mmap'ing and accessing memory at 0xA0000), we will MCA because the kernel will attempt to use a mapping with the UC attribute. So check the memory attribute in kern_mmap and the EFI memmap. If WC is requested, and WC or UC access is supported for the region, allow it. Otherwise, use the same attribute the kernel uses. Updates documentation and test cases as well. Signed-off-by: Alex Chiang Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck commit 9e121327b37b751ef66e6f57e2d02dd568955148 Author: Dean Nelson Date: Wed Jul 11 10:22:16 2007 -0500 [IA64] add sn_register_pmi_handler oemcall Add wrapper function to make SN_SAL_REGISTER_PMI_HANDLER ia64_sal_oemcall. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 7521a3c566dda7bb09576975324fc0a08a79ad14 Author: Steve French Date: Wed Jul 11 18:30:34 2007 +0000 [CIFS] Fix oops in cifs_create when nfsd server exports cifs mount nfsd is passing null nameidata (probably the only one doing that) on call to create - cifs was missing one check for this. Note that running nfsd over a cifs mount requires specifying fsid on the nfs exports entry and requires mounting cifs with serverino mount option. Signed-off-by: Steve French commit e559e91cce3af215d78b7262360f19b95978aab3 Author: Sebastian Siewior Date: Fri Jun 22 19:47:35 2007 +0800 [CRYPTO] api: Allow ablkcipher with no queues Evgeniy's hifn driver and probably mine don't use ablkcipher->queue at all. The show method of ablkcipher will access this field without checking if it is valid. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit e69ff734e15eb7f61621f8764ce0a2181823a737 Author: Herbert Xu Date: Fri Jun 8 16:26:08 2007 +1000 [CRYPTO] cipher: Remove obsolete fields from cipher_tfm This removes all the unused block cipher fields from cipher_tfm. Signed-off-by: Herbert Xu commit ca7c39385ce1a7b44894a4b225a4608624e90730 Author: Sebastian Siewior Date: Sat May 19 19:51:21 2007 +1000 [CRYPTO] api: Handle unaligned keys in setkey setkey() in {cipher,blkcipher,ablkcipher,hash}.c does not respect the requested alignment by the algorithm. This patch fixes it. The extra memory is allocated by kmalloc() with GFP_ATOMIC flag. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit fe3c5206adc5d7395828185ab73e9a522655b984 Author: Herbert Xu Date: Sat May 19 17:51:40 2007 +1000 [CRYPTO] api: Wake up all waiters when larval completes Right now when a larval matures or when it dies of an error we only wake up one waiter. This would cause other waiters to timeout unnecessarily. This patch changes it to use complete_all to wake up all waiters. Signed-off-by: Herbert Xu commit 2e290f43ddb2331db2e308da206fe154bec91a7d Author: Jan Engelhardt Date: Fri May 18 15:11:01 2007 +1000 [CRYPTO] Kconfig: Use menuconfig objects Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu commit 55910517af381eba4f978740e5e46e23eb269326 Author: Dave Airlie Date: Wed Jul 11 16:53:40 2007 +1000 drm: detypedeffing continues... Signed-off-by: Dave Airlie commit cdd55a294c13f8bf05b2f4fee4c96934d5ebd2e4 Author: Dave Airlie Date: Wed Jul 11 16:32:08 2007 +1000 drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs Signed-off-by: Dave Airlie commit 99d24edeb6abc6ca3a0d0fbdb83c664c04403c8c Author: Patrick McHardy Date: Tue Jul 10 23:24:52 2007 -0700 [NETFILTER]: {ip, nf}_conntrack_sctp: fix remotely triggerable NULL ptr dereference (CVE-2007-2876) When creating a new connection by sending an unknown chunk type, we don't transition to a valid state, causing a NULL pointer dereference in sctp_packet when accessing sctp_timeouts[SCTP_CONNTRACK_NONE]. Fix by don't creating new conntrack entry if initial state is invalid. Noticed by Vilmos Nebehaj Signed-off-by: Patrick McHardy Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chris Wright Signed-off-by: David S. Miller commit 8fc2fdf4c9437576f38e97c2f5b700ec77038984 Author: Dave Airlie Date: Wed Jul 11 16:21:47 2007 +1000 drm: drop drm_vma_entry_t, drm_magic_entry_t Signed-off-by: Dave Airlie commit 056219e2fa6664ec83bc258ebcf30f1a7919d423 Author: Dave Airlie Date: Wed Jul 11 16:17:42 2007 +1000 drm: drop drm_buf_t typedef Signed-off-by: Dave Airlie commit eddca551a3e7be2fed54282f255f18efe9ead131 Author: Dave Airlie Date: Wed Jul 11 16:09:54 2007 +1000 drm: fixup other drivers for typedef removals Signed-off-by: Dave Airlie commit 56b3d975bbce65f655c5612b4822da671f9fd9b2 Author: Philippe De Muyter Date: Tue Jul 10 23:07:31 2007 -0700 [NET]: Make all initialized struct seq_operations const. Make all initialized struct seq_operations in net/ const Signed-off-by: Philippe De Muyter Signed-off-by: David S. Miller commit 3be550f34b03e5eb762f74d447ebbeba97efbd6d Author: Patrick McHardy Date: Tue Jul 10 23:06:43 2007 -0700 [UDP]: Fix length check. Rémi Denis-Courmont wrote: > Right. By the way, shouldn't "len" rather be signed in there? > > unsigned int len; > > /* if we're overly short, let UDP handle it */ > len = skb->len - sizeof(struct udphdr); > if (len <= 0) > goto udp; It should, but the < 0 case can't happen since __udp4_lib_rcv already makes sure that we have at least a complete UDP header. Anyways, this patch fixes it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dffe4f048b420f1af0b10a6090add0c5ea69e585 Author: Micah Gruber Date: Tue Jul 10 23:04:19 2007 -0700 [IPV6]: Remove unneeded pointer idev from addrconf_cleanup(). This trivial patch removes the unneeded pointer idev returned from __in6_dev_get(), which is never used. The check for NULL can be simply done by if (__in6_dev_get(dev) == NULL). Signed-off-by: Micah Gruber Signed-off-by: David S. Miller commit ed8b548ce3cb988f59a0fd9af6ccdc4f8198cd19 Author: Ilpo Järvinen Date: Tue Jul 10 23:02:12 2007 -0700 [DECNET]: Another unnecessary net/tcp.h inclusion in net/dn.h No longer needed. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4c752098f529f41abfc985426a3eca0f2cb96676 Author: YOSHIFUJI Hideaki Date: Wed May 23 13:28:48 2007 +0900 [IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options. Because reversing RH0 is no longer supported by deprecation of RH0, let's make IPV6_{RECV,2292}RTHDR boolean options. Boolean are more appropriate from standard POV. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit bb4dbf9e61d0801927e7df2569bb3dd8287ea301 Author: YOSHIFUJI Hideaki Date: Tue Jul 10 22:55:49 2007 -0700 [IPV6]: Do not send RH0 anymore. Based on . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 84b1fd103dbbe01b5905db1444d3fc8afa9a7207 Author: Dave Airlie Date: Wed Jul 11 15:53:27 2007 +1000 drm: remove drm_file_t, drm_device_t and drm_head_t typedefs some drivers still todo. Signed-off-by: Dave Airlie commit c382bb9d32a55029fb13b118858e25908fab4617 Author: YOSHIFUJI Hideaki Date: Tue Jul 10 22:47:58 2007 -0700 [IPV6]: Restore semantics of Routing Header processing. The "fix" for emerging security threat was overkill and it broke basic semantic of IPv6 routing header processing. We should assume RT0 (or even RT2, depends on configuration) as "unknown" RH type so that we - silently ignore the routing header if segleft == 0 - send ICMPv6 Parameter Problem message back to the sender, otherwise. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c9726d6890f7f3a892c879e067c3ed839f61e745 Author: Ranjit Manomohan Date: Tue Jul 10 22:43:16 2007 -0700 [NET_SCHED]: Make HTB scheduler work with TSO. Currently the HTB scheduler does not correctly account for TSO packets which causes large inaccuracies in the bandwidth control when using TSO. This patch allows the HTB scheduler to work with TSO enabled devices. Signed-off-by: Ranjit Manomohan Signed-off-by: David S. Miller commit c6c6e3e05c0b4349824efcdd36650e7be9d5c7c3 Author: Herbert Xu Date: Tue Jul 10 22:41:55 2007 -0700 [NET]: Update comments for skb checksums Rusty (whose comments we should all study and emulate :) pointed out that our comments for skb checksums are no longer up-to-date. So here is a patch to 1) add the case of partial checksums on input; 2) update partial checksum case to mention csum_start/csum_offset; 3) mention the new IPv6 feature bit. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5b7f990927fe87ad3bec762a33c0e72bcbf6841e Author: Marcel Holtmann Date: Wed Jul 11 09:51:55 2007 +0200 [Bluetooth] Add basics to better support and handle eSCO links To better support and handle eSCO links in the future a bunch of constants needs to be added and some basic routines need to be updated. This is the initial step. Signed-off-by: Marcel Holtmann commit c60ce623bd16137627009d05e311d877729f2ad6 Author: Dave Airlie Date: Wed Jul 11 15:27:12 2007 +1000 drm: remove a bunch of typedefs on the userspace interface This moves a bunch of typedefs into a !defined __KERNEL__ to keep userspace API compatiblity, it changes all internal usages to structs/enum/unions. Signed-off-by: Dave Airlie commit cfbba49d80be6cf8d3872b66fc5421f119843b36 Author: Patrick McHardy Date: Mon Jul 9 15:33:40 2007 -0700 [NET]: Avoid copying writable clones in tunnel drivers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4839c52b01ca91be1c62761e08fb3deb3881e857 Author: Philippe De Muyter Date: Mon Jul 9 15:32:57 2007 -0700 [IPV4]: Make ip_tos2prio const. Signed-off-by: Philippe De Muyter Signed-off-by: David S. Miller commit 6b25d30bf112370a12d05c3c0fd43732985dab01 Author: Patrick McHardy Date: Mon Jul 9 15:30:19 2007 -0700 [NET]: Fix gen_estimator timer removal race As noticed by Jarek Poplawski , the timer removal in gen_kill_estimator races with the timer function rearming the timer. Check whether the timer list is empty before rearming the timer in the timer function to fix this. Signed-off-by: Patrick McHardy Acked-by: Jarek Poplawski Signed-off-by: David S. Miller commit 1498b3f1952ae539a7d5c356acf942d5f4c1aece Author: Satyam Sharma Date: Mon Jul 9 15:22:23 2007 -0700 [NETPOLL]: Fix a leak-n-bug in netpoll_cleanup() 93ec2c723e3f8a216dde2899aeb85c648672bc6b applied excessive duct tape to the netpoll beast's netpoll_cleanup(), thus substituting one leak with another, and opening up a little buglet :-) net_device->npinfo (netpoll_info) is a shared and refcounted object and cannot simply be set NULL the first time netpoll_cleanup() is called. Otherwise, further netpoll_cleanup()'s see np->dev->npinfo == NULL and become no-ops, thus leaking. And it's a bug too: the first call to netpoll_cleanup() would thus (annoyingly) "disable" other (still alive) netpolls too. Maybe nobody noticed this because netconsole (only user of netpoll) never supported multiple netpoll objects earlier. This is a trivial and obvious one-line fixlet. Signed-off-by: Satyam Sharma Signed-off-by: David S. Miller commit 5f1de3ec661e7b08348f565b7ca17586e7e94fc5 Author: Robert P. J. Day Date: Mon Jul 9 13:20:54 2007 -0700 [RXRPC]: Remove Makefile reference to obsolete RXRPC config variable Since there is no Kconfig variable RXRPC anywhere in the tree, and the variable AF_RXRPC performs exactly the same function, remove the reference to CONFIG_RXRPC from net/Makefile. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0236e667e188af0336cd776e5b54c1f3fd19a03c Author: Dan Aloni Date: Mon Jul 9 13:20:12 2007 -0700 [NETFILTER] net/ipv4/netfilter/ip_tables.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4fda25a2cd7a18e0ef9f29ba3dd6f6cd9b7ca43f Author: Adrian Bunk Date: Mon Jul 9 13:18:57 2007 -0700 [DCCP]: Make struct dccp_li_cachep static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit aa4291108f434a183207e645379414270118dccb Author: Matthias Kaehlcke Date: Mon Jul 9 13:18:12 2007 -0700 [IRDA]: use mutex instead of semaphore in VLSI 82C147 IrDA controller driver The VLSI 82C147 IrDA controller driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6f11df8355e8f59f7572bf6ac1f63d692483b0c6 Author: Andrew Morton Date: Mon Jul 9 13:16:00 2007 -0700 [NET]: "wrong timeout value in sk_wait_data()": cleanups - save 4 bytes - it's read-mostly. Signed-off-by: Andrew Morton Acked-by: Vasily Averin Signed-off-by: David S. Miller commit 60f0438a87cfd9f5faa439ca419497cd64e4c59e Author: Pavel Emelianov Date: Mon Jul 9 13:15:14 2007 -0700 [NET]: Make some network-related proc files use seq_list_xxx helpers This includes /proc/net/protocols, /proc/net/rxrpc_calls and /proc/net/rxrpc_connections files. All three need seq_list_start_head to show some header. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 9af97186fcc9a1d9bbf195eb4bc2399d0dd66223 Author: Pavel Emelianov Date: Mon Jul 9 13:12:24 2007 -0700 [ATM] br2684: Use seq_list_xxx helpers The .show callback receives the list_head pointer now, not the struct br2684_dev one. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1c8c7d64169dc4b1ae3d8cd1bf35ea0a099b50ad Author: Stephen Hemminger Date: Sat Jul 7 23:03:44 2007 -0700 [NET]: netdevice mtu assumptions documentation Document the expectations about device MTU handling. The documentation about oversize packet handling is probably too loose. IMHO devices should drop oversize packets for robustness, but many devices allow it now. For example, if you set mtu to 1200 bytes, most ether devices will allow a 1500 byte frame in. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1722933323b70f44b0548131604f1f3454c2aa8f Author: Stephen Hemminger Date: Sat Jul 7 22:59:14 2007 -0700 [NET]: netdevice locking assumptions documentation Update the documentation about locking assumptions. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 963bd949b12158d9b5380b718b31c4b33372ed73 Author: Ilpo Järvinen Date: Sat Jul 7 22:54:56 2007 -0700 [BNX2]: Seems to not need net/tcp.h Got bored to always recompile it for no reason. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3a334b34b62d94be0275e5c76fa153cf7fd42770 Author: Michael Chan Date: Sat Jul 7 22:52:37 2007 -0700 [BNX2]: Update version to 1.6.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 58fc2ea4057511f84deaa182b1a3612327ecbf2d Author: Michael Chan Date: Sat Jul 7 22:52:02 2007 -0700 [BNX2]: Print management firmware version. Add management firmware version for ethtool -i. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit df149d70e1f34ec4995c8a703dbde38071ff4a05 Author: Michael Chan Date: Sat Jul 7 22:51:36 2007 -0700 [BNX2]: Enhance the heartbeat. In addition to the periodic heartbeat, we're adding a heartbeat request interrupt when the heartbeat is late. This is needed during netpoll where the timer is not available. -rt kernels will also benefit since the timer is not as accurate. [ We discussed this patch last time and we decided that the -rt kernel problem alone did not justify this patch. I think the netpoll problem makes this patch necessary. ] Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b8a7ce7bedb2134acb731e08e588ad92087a40ff Author: Michael Chan Date: Sat Jul 7 22:51:03 2007 -0700 [BNX2]: Reduce spurious INTA interrupts. Spurious interrupts are often encountered especially on systems using the 8259 PIC mode. This is because the I/O write to deassert the interrupt is posted and won't get to the chip immediately. As a result, the IRQ may remain asserted after the IRQ handler exits, causing spurious interrupts. Add read back to flush the I/O write to deassert the IRQ immediately. We also store the last_status_idx immediately in the IRQ handler to help detect whether the interrupt is ours or not when the IRQ is entered again before ->poll gets called. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9b1084b8f99a6b5e97c0c9bc1b4455db4fa51a07 Author: Michael Chan Date: Sat Jul 7 22:50:37 2007 -0700 [BNX2]: Modify link up message. Modify the link up dmesg to report remote copper or Serdes link. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7b6b83474cb9bdd07dadfb7497a29c3005ad9d1d Author: Michael Chan Date: Sat Jul 7 22:50:15 2007 -0700 [BNX2]: Add ethtool support for remote PHY. Modify the driver's ethtool_ops->get_settings and set_settings functions to support remote PHY. Users control the remote copper PHY settings by specifying link settings for the tp (twisted pair) port. The nway_reset function is also modified to support remote PHY. mii-tool operations are not supported on remote PHY and we will return -EOPNOTSUPP. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0d8a6571051d23c214d7a316976138a6fd8bda1c Author: Michael Chan Date: Sat Jul 7 22:49:43 2007 -0700 [BNX2]: Add support for remote PHY. In blade servers, the Serdes PHY in 5708S can control the remote copper PHY through autonegotiation on the backplane. This patch adds the logic to interface with the firmware to control the remote PHY autonegotiation and to handle remote PHY link events. When remote PHY is present, the 5708S Serdes device practically becomes a copper device with full control over the 1000Base-T link settings. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9700e6befea505b03b6e625536a9a106811e9a14 Author: Michael Chan Date: Sat Jul 7 22:48:31 2007 -0700 [BNX2]: Add remote PHY bit definitions. Add new fields in struct bnx2 and other bit definitions in shared memory to support remote PHY. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit deaf391b4cc9d9f8e2b2793ebd56da776b54197a Author: Michael Chan Date: Sat Jul 7 22:48:00 2007 -0700 [BNX2]: Add bnx2_set_default_link(). Put existing code to setup the default link settings in this new function. This makes it easier to support the remote PHY feature in the next few patches. Also change ETHTOOL_ALL_FIBRE_SPEED to include 2500Mbps if supported. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5faf41535214b68c989a22302c8870f8758cbb8c Author: Balazs Scheidler Date: Sat Jul 7 22:41:01 2007 -0700 [NETFILTER]: x_tables: add more detail to error message about match/target mask mismatch Signed-off-by: Balazs Scheidler Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 585426fdc5b4cccaacf0afc8cf821ff763750ae8 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:40:26 2007 -0700 [NETFILTER]: nf_queue: Use RCU and mutex for queue handlers Queue handlers are registered/unregistered in only process context. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ce7663d84a87bb4e1743f62950bf7dceed723a13 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:40:08 2007 -0700 [NETFILTER]: nfnetlink_queue: don't unregister handler of other subsystem The queue handlers registered by ip[6]_queue.ko at initialization should not be unregistered according to requests from userland program using nfnetlink_queue. If we allow that, there is no way to register the handlers of built-in ip[6]_queue again. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0d53778e81ac7af266dac8a20cc328328c327112 Author: Patrick McHardy Date: Sat Jul 7 22:39:38 2007 -0700 [NETFILTER]: Convert DEBUGP to pr_debug Convert DEBUGP to pr_debug and fix lots of non-compiling debug statements. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 342b7e3c8a3c84252799c4ac4d9a604b8903d2b4 Author: Patrick McHardy Date: Sat Jul 7 22:39:16 2007 -0700 [NETFILTER]: xt_helper: use RCU The ->helper pointer is protected by RCU, no need to take nf_conntrack_lock. Also remove excessive debugging. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 91e8db80065d655ce1b6d74cadc921671e8d5285 Author: Patrick McHardy Date: Sat Jul 7 22:38:54 2007 -0700 [NETFILTER]: nf_conntrack_h323: turn some printks into DEBUGPs Don't spam the ringbuffer with decoding errors. The only printks remaining are for dropped packets when we're certain they are H.323. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d3c3f4243e135b3d8c41d98be0cb2f54a4141abf Author: Patrick McHardy Date: Sat Jul 7 22:38:30 2007 -0700 [NETFILTER]: ipt_CLUSTERIP: add compat code Adjust structure size and don't expect pointers passed in from userspace to be valid. Also replace an enum in an ABI structure by a fixed size type. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3569b621ceba0a9cfb80e24c0bd19fd632ccee25 Author: Patrick McHardy Date: Sat Jul 7 22:38:07 2007 -0700 [NETFILTER]: ipt_SAME: add to feature-removal-schedule Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7ae7730fd6d98be1afe8ad9ea77813de607ec970 Author: Patrick McHardy Date: Sat Jul 7 22:37:38 2007 -0700 [NETFILTER]: nf_conntrack: early_drop improvement When the maximum number of conntrack entries is reached and a new one needs to be allocated, conntrack tries to drop an unassured connection from the same hash bucket the new conntrack would hash to. Since with a properly sized hash the average number of entries per bucket is 1, the chances of actually finding one are not very good. This patch makes it walk the hash until a minimum number of 8 entries are checked. Based on patch by Vasily Averin . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ec59a1110aee6846adada8979915cacae64042ce Author: Patrick McHardy Date: Sat Jul 7 22:37:03 2007 -0700 [NETFILTER]: nf_conntrack: mark helpers __read_mostly Most are __read_mostly already, this changes the remaining ones. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b8a7fe6c10511fce10b20efa163123f4041f2550 Author: Patrick McHardy Date: Sat Jul 7 22:36:46 2007 -0700 [NETFILTER]: nf_conntrack_helper: use hashtable for conntrack helpers Eliminate the last global list searched for every new connection. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f264a7df08d50bb4a23be6a9aa06940e497ac1c4 Author: Patrick McHardy Date: Sat Jul 7 22:36:24 2007 -0700 [NETFILTER]: nf_conntrack_expect: introduce nf_conntrack_expect_max sysct As a last step of preventing DoS by creating lots of expectations, this patch introduces a global maximum and a sysctl to control it. The default is initialized to 4 * the expectation hash table size, which results in 1/64 of the default maxmimum of conntracks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b560580a13b180bc1e3cad7ffbc93388cc39be5d Author: Patrick McHardy Date: Sat Jul 7 22:35:56 2007 -0700 [NETFILTER]: nf_conntrack_expect: maintain per conntrack expectation list This patch brings back the per-conntrack expectation list that was removed around 2.6.10 to avoid walking all expectations on expectation eviction and conntrack destruction. As these were the last users of the global expectation list, this patch also kills that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 31f15875c5ad98a13b528aaf19c839e22b43dc9a Author: Patrick McHardy Date: Sat Jul 7 22:35:21 2007 -0700 [NETFILTER]: nf_conntrack_helper/nf_conntrack_netlink: convert to expectation hash Convert from the global expectation list to the hash table. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5d08ad440feae11b8d6e7599147a8a20ac60f99a Author: Patrick McHardy Date: Sat Jul 7 22:34:07 2007 -0700 [NETFILTER]: nf_conntrack_expect: convert proc functions to hash Convert from the global expectation list to the hash table. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a71c085562bcc99e8b711cab4222bff1f6e955da Author: Patrick McHardy Date: Sat Jul 7 22:33:47 2007 -0700 [NETFILTER]: nf_conntrack: use hashtable for expectations Currently all expectations are kept on a global list that - needs to be searched for every new conncetion - needs to be walked for evicting expectations when a master connection has reached its limit - needs to be walked on connection destruction for connections that have open expectations This is obviously not good, especially when considering helpers like H.323 that register *lots* of expectations and can set up permanent expectations, but it also allows for an easy DoS against firewalls using connection tracking helpers. Use a hashtable for expectations to avoid incurring the search overhead for every new connection. The default hash size is 1/256 of the conntrack hash table size, this can be overriden using a module parameter. This patch only introduces the hash table for expectation lookups and keeps other users to reduce the noise, the following patches will get rid of it completely. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e9c1b084e17ca225b6be731b819308ee0f9e04b8 Author: Patrick McHardy Date: Sat Jul 7 22:32:53 2007 -0700 [NETFILTER]: nf_conntrack: move expectaton related init code to nf_conntrack_expect.c Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cf6994c2b9812a9f02b99e89df411ffc5db9c779 Author: Patrick McHardy Date: Sat Jul 7 22:32:34 2007 -0700 [NETFILTER]: nf_conntrack_netlink: sync expectation dumping with conntrack table dumping Resync expectation table dumping code with conntrack dumping: don't rely on the unique ID anymore since that requires to walk the list backwards, which doesn't work with the upcoming conversion to hlists. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4e1d4e6c5a448bd114e0cef6311c974cb7c7385e Author: Patrick McHardy Date: Sat Jul 7 22:32:03 2007 -0700 [NETFILTER]: nf_conntrack_expect: avoid useless list walking Don't walk the list when unexpecting an expectation, we already have a reference and the timer check is enough to guarantee that it still is on the list. This comment suggests that it was copied there by mistake from expectation eviction: /* choose the oldest expectation to evict */ Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d4156e8cd93f5772483928aaf4960120caebd789 Author: Patrick McHardy Date: Sat Jul 7 22:31:32 2007 -0700 [NETFILTER]: nf_conntrack: reduce masks to a subset of tuples Since conntrack currently allows to use masks for every bit of both helper and expectation tuples, we can't hash them and have to keep them on two global lists that are searched for every new connection. This patch removes the never used ability to use masks for the destination part of the expectation tuple and completely removes masks from helpers since the only reasonable choice is a full match on l3num, protonum and src.u.all. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df43b4e7ca46952756b2fc039ed80469b1bff62d Author: Patrick McHardy Date: Sat Jul 7 22:31:07 2007 -0700 [NETFILTER]: nf_conntrack_ftp: use nf_ct_expect_init Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6823645d608541c2c69e8a99454936e058c294e0 Author: Patrick McHardy Date: Sat Jul 7 22:30:49 2007 -0700 [NETFILTER]: nf_conntrack_expect: function naming unification Currently there is a wild mix of nf_conntrack_expect_, nf_ct_exp_, expect_, exp_, ... Consistently use nf_ct_ as prefix for exported functions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 53aba5979e1d964c0234816eda2316f1c2e7946d Author: Patrick McHardy Date: Sat Jul 7 22:30:27 2007 -0700 [NETFILTER]: nf_nat: use hlists for bysource hash Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac565e5fc104fe1842a87f2206fcfb7b6dda903d Author: Patrick McHardy Date: Sat Jul 7 22:30:08 2007 -0700 [NETFILTER]: nf_conntrack: export hash allocation/destruction functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 330f7db5e578e1e298ba3a41748e5ea333a64a2b Author: Patrick McHardy Date: Sat Jul 7 22:28:42 2007 -0700 [NETFILTER]: nf_conntrack: remove 'ignore_conntrack' argument from nf_conntrack_find_get All callers pass NULL, this also doesn't seem very useful for modules. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f205c5e0c28aa7e0fb6eaaa66e97928f9d9e6994 Author: Patrick McHardy Date: Sat Jul 7 22:28:14 2007 -0700 [NETFILTER]: nf_conntrack: use hlists for conntrack hash Convert conntrack hash to hlists to reduce its size and cache footprint. Since the default hashsize to max. entries ratio sucks (1:16), this patch doesn't reduce the amount of memory used for the hash by default, but instead uses a better ratio of 1:8, which results in the same max. entries value. One thing worth noting is early_drop. It really should use LRU, so it now has to iterate over the entire chain to find the last unconfirmed entry. Since chains shouldn't be very long and the entire operation is very rare this shouldn't be a problem. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8e5105a0c36a059dfd0f0bb9e73ee7c97d306247 Author: Patrick McHardy Date: Sat Jul 7 22:27:33 2007 -0700 [NETFILTER]: nf_conntrack: round up hashsize to next multiple of PAGE_SIZE Don't let the rest of the page go to waste. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 61eb3107cd8e0302f95aae26206e552365daf290 Author: Patrick McHardy Date: Sat Jul 7 22:27:06 2007 -0700 [NETFILTER]: nf_conntrack_extend: use __read_mostly for struct nf_ct_ext_type Also make them static. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b6b84d4a94e95727a4c65841eea23ac60c6aa329 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:26:35 2007 -0700 [NETFILTER]: nf_nat: merge nf_conn and nf_nat_info Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d8a0509a696de60296a66ba4fe4f9eaade497103 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:26:16 2007 -0700 [NETFILTER]: nf_nat: kill global 'destroy' operation This kills the global 'destroy' operation which was used by NAT. Instead it uses the extension infrastructure so that multiple extensions can register own operations. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dacd2a1a5cf621288833aa3c6e815b86a1536538 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:25:51 2007 -0700 [NETFILTER]: nf_conntrack: remove old memory allocator of conntrack Now memory space for help and NAT are allocated by extension infrastructure. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ff09b7493c8f433d3ffd6a31ad58d190f82ef0c5 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:25:28 2007 -0700 [NETFILTER]: nf_nat: remove unused nf_nat_module_is_loaded Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d59e5ca8c7113ad91452f0f9259a4b55ee90323 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:24:28 2007 -0700 [NETFILTER]: nf_nat: use extension infrastructure Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e54cbc1f91dea4f98b6209e693d3b5eae46321bd Author: Yasuyuki Kozakai Date: Sat Jul 7 22:24:04 2007 -0700 [NETFILTER]: nf_nat: add reference to conntrack from entry of bysource list I will split 'struct nf_nat_info' out from conntrack. So I cannot use 'offsetof' to get the pointer to conntrack from it. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ceceae1b1555a9afcb8dacf90df5fa1f20fd5466 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:23:42 2007 -0700 [NETFILTER]: nf_conntrack: use extension infrastructure for helper Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ecfab2c9fe5597221c2b30dec48634a2361a0d08 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:23:21 2007 -0700 [NETFILTER]: nf_conntrack: introduce extension infrastructure Old space allocator of conntrack had problems about extensibility. - It required slab cache per combination of extensions. - It expected what extensions would be assigned, but it was impossible to expect that completely, then we allocated bigger memory object than really required. - It needed to search helper twice due to lock issue. Now basic informations of a connection are stored in 'struct nf_conn'. And a storage for extension (helper, NAT) is allocated by kmalloc. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4ba887790ce2015e8c464809c0be902fb813ad15 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:22:33 2007 -0700 [NETFILTER]: nf_nat: move NAT declarations from nf_conntrack_ipv4.h to nf_nat.h Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9f15c5302de4e8b0aac7ca24c36bf26a7fe1a513 Author: Patrick McHardy Date: Sat Jul 7 22:22:02 2007 -0700 [NETFILTER]: x_tables: mark matches and targets __read_mostly Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ba9dda3ab5a865542e69dfe01edb2436857c9420 Author: Jozsef Kadlecsik Date: Sat Jul 7 22:21:23 2007 -0700 [NETFILTER]: x_tables: add TRACE target The TRACE target can be used to follow IP and IPv6 packets through the ruleset. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick NcHardy Signed-off-by: David S. Miller commit 1b50b8a371e90a5e110f466e4ac02cf6b5f681de Author: Jan Engelhardt Date: Sat Jul 7 22:20:36 2007 -0700 [NETFILTER]: Add u32 match Along comes... xt_u32, a revamped ipt_u32 from POM-NG, Plus: * 2007-06-02: added ipv6 support * 2007-06-05: uses kmalloc for the big buffer * 2007-06-05: added inversion * 2007-06-20: use skb_copy_bits() and get rid of the big buffer and lock (suggested by Pablo Neira Ayuso) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f4a607bfae30d15aad46e75d2ed7a39f7ce7708b Author: Jerome Borsboom Date: Sat Jul 7 22:19:48 2007 -0700 [NETFILTER]: nf_nat_sip: only perform RTP DNAT if SIP session was SNATed DNAT of the the RTP session is only necessary if the SIP session has been SNATed. Signed-off-by: Jerome Borsboom Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7c4e36bc172ae1accde835b880fdc4a2c2a3df57 Author: Jan Engelhardt Date: Sat Jul 7 22:19:08 2007 -0700 [NETFILTER]: Remove redundant parentheses/braces Removes redundant parentheses and braces (And add one pair in a xt_tcpudp.c macro). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 170b197c0afc621179f0f82284e331e3c252b7cf Author: Jan Engelhardt Date: Sat Jul 7 22:17:36 2007 -0700 [NETFILTER]: Remove incorrect inline markers device_cmp: the function's address is taken (call to nf_ct_iterate_cleanup) alloc_null_binding: referenced externally Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a47362a226456d8db8207e618324a2278d05d3a7 Author: Jan Engelhardt Date: Sat Jul 7 22:16:55 2007 -0700 [NETFILTER]: add some consts, remove some casts Make a number of variables const and/or remove unneeded casts. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e1931b784a8de324abf310fa3b5e3f25d3988233 Author: Jan Engelhardt Date: Sat Jul 7 22:16:26 2007 -0700 [NETFILTER]: x_tables: switch xt_target->checkentry to bool Switch the return type of target checkentry functions to boolean. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ccb79bdce71f2c04cfa9bfcbaf4d37e2f963d684 Author: Jan Engelhardt Date: Sat Jul 7 22:16:00 2007 -0700 [NETFILTER]: x_tables: switch xt_match->checkentry to bool Switch the return type of match functions to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1d93a9cbad608f6398ba6c5b588c504ccd35a2ca Author: Jan Engelhardt Date: Sat Jul 7 22:15:35 2007 -0700 [NETFILTER]: x_tables: switch xt_match->match to bool Switch the return type of match functions to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cff533ac12494fa002e2c46acc94d670e5f636a2 Author: Jan Engelhardt Date: Sat Jul 7 22:15:12 2007 -0700 [NETFILTER]: x_tables: switch hotdrop to bool Switch the "hotdrop" variables to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7bfe24611671ec76b44281e582b38535e21f01a9 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:14:23 2007 -0700 [NETFILTER]: ip6_tables: fix explanation of valid upper protocol number This explains the allowed upper protocol numbers. IP6T_F_NOPROTO was introduced to use 0 as Hop-by-Hop option header, not wildcard. But that seemed to be forgotten. 0 has been used as wildcard since 2002-08-23. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 558585aad0c0ef83d3d14a1c7576b1e404ca1fbc Author: Jing Min Zhao Date: Sat Jul 7 22:13:17 2007 -0700 [NETFILTER]: nf_conntrack_h323: check range first in sequence extension Check range before checking STOP flag. This optimization may save a nanosecond or less :) Signed-off-by: Jing Min Zhao Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 067b207b281db5e3f03f8d244286c20f61aa2343 Author: James Chapman Date: Thu Jul 5 17:08:05 2007 -0700 [UDP]: Cleanup UDP encapsulation code This cleanup fell out after adding L2TP support where a new encap_rcv funcptr was added to struct udp_sock. Have XFRM use the new encap_rcv funcptr, which allows us to move the XFRM encap code from udp.c into xfrm4_input.c. Make xfrm4_rcv_encap() static since it is no longer called externally. Signed-off-by: James Chapman Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 93cce3d3657bfb5d04789afcd5104f8c48700f32 Author: G. Liakhovetski Date: Mon Jul 2 22:56:57 2007 -0700 [IrDA]: tsap init routine factorisation. This patch extracts common code from irttp_open_tsap() and irttp_dup() into a new function to 1) avoid code duplication, 2) help avoid forgetting object initialization in the tsap duplication path in the future. Signed-off-by: G. Liakhovetski Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 66f5e51ed5a300291b34bf3e2b1e22ac28ca3631 Author: Samuel Ortiz Date: Mon Jul 2 22:56:15 2007 -0700 [IrDA]: kingsun-sir.c charset fix. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 411725280bd0058ebb83c0e32133b7a94902c3a6 Author: Samuel Ortiz Date: Mon Jul 2 22:55:31 2007 -0700 [IrDA]: Monitor mode. Through the IrDA netlink set mode command, we switch to IrDA monitor mode, where one IrLAP instance receives all the packets on the media, without ever responding to them. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 89da1ecf5483e6aa29b456a15ad6d05a6797c5a5 Author: Samuel Ortiz Date: Mon Jul 2 22:54:18 2007 -0700 [IrDA]: Netlink layer. First IrDA configuration netlink layer implementation. Currently, we only support the set/get mode commands. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 8c644623fe7e41f59fe97cdf666cba3cb7ced7d8 Author: Guido Guenther Date: Mon Jul 2 22:50:25 2007 -0700 [NET]: Allow group ownership of TUN/TAP devices. Introduce a new syscall TUNSETGROUP for group ownership setting of tap devices. The user now is allowed to send packages if either his euid or his egid matches the one specified via tunctl (via -u or -g respecitvely). If both, gid and uid, are set via tunctl, both have to match. Signed-off-by: Guido Guenther Signed-off-by: Jeff Dike Signed-off-by: David S. Miller commit 0ba48053831d5b89ee2afaefaae1c06eae80cb05 Author: Patrick McHardy Date: Mon Jul 2 22:49:07 2007 -0700 [NET_SCHED]: Remove unnecessary includes Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ee39e10c27ca5293c72addb95bff864095e19904 Author: Patrick McHardy Date: Mon Jul 2 22:48:13 2007 -0700 [NET_SCHED]: sch_htb: use generic estimator Use the generic estimator instead of reimplementing (parts of) it. For compatibility always create a default estimator for new classes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4bdf39911e7a887c4499161422423cbaf16684e8 Author: Patrick McHardy Date: Mon Jul 2 22:47:37 2007 -0700 [NET_SCHED]: Remove unnecessary stats_lock pointers Remove stats_lock pointers from qdisc-internal structures, in all cases it points to dev->queue_lock. The only case where it is necessary is for top-level qdiscs, where it might also point to dev->ingress_lock in case of the ingress qdisc. Also remove it from actions completely, it always points to the actions internal lock. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 876d48aabf30e4981653f1a0a7ae1e262b8c8b6f Author: Patrick McHardy Date: Mon Jul 2 22:46:07 2007 -0700 [NET_SCHED]: Remove CONFIG_NET_ESTIMATOR option The generic estimator is always built in anways and all the config options does is prevent including a minimal amount of code for setting it up. Additionally the option is already automatically selected for most cases. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a553e4a6317b2cfc7659542c10fe43184ffe53da Author: Jamal Hadi Salim Date: Mon Jul 2 22:41:59 2007 -0700 [PKTGEN]: IPSEC support Added transport mode ESP support for starters. I will send more of these modes and types once i have resolved the tunnel mode isses. Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 628529b6ee334fedc8d25ce56205bb99566572b9 Author: Jamal Hadi Salim Date: Mon Jul 2 22:41:14 2007 -0700 [XFRM] Introduce standalone SAD lookup This allows other in-kernel functions to do SAD lookups. The only known user at the moment is pktgen. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 007a531b0a0c902392a3deff730acd28ce6625c7 Author: Jamal Hadi Salim Date: Mon Jul 2 22:40:36 2007 -0700 [PKTGEN]: Introduce sequential flows By default all flows in pktgen are randomly selected. This patch introduces ability to have all defined flows to be sent sequentially. Robert defined randomness to be the default behavior. Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 16dab72f65a6aab0aa72866e00c91b58a2794082 Author: Jamal Hadi Salim Date: Mon Jul 2 22:39:50 2007 -0700 [PKTGEN]: Centralize packet overhead tracking Track the extra packet overhead for VLAN tags, MPLS, IPSEC etc Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit eef6caf8a916f32f8d9b2a02d4fa7674736c00ac Author: Larry Finger Date: Mon Jul 2 22:36:38 2007 -0700 [MAC80211]: Set low initial rate in rc80211_simple The initial rate for STA's using rc80211_simple is set to the last rate in the rate table. For situations for which the signal is weak, the rate may be too high for authentication and association. Although the rc80211_simple module will adjust the speed, the response may not be fast enough for a successful connection. This modification sets the initial rate to the lowest supported value. Signed-off-by: Larry Finger Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d0410051164bbbc597e15f068b53c06a954ae0d4 Author: Ilpo Järvinen Date: Mon Jul 2 22:07:22 2007 -0700 [TCP]: SACK fastpath did override adjusted fackets_out Do same adjustment to SACK fastpath counters provided that they're valid. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 61cbc2fca6335be52788773b21efdc52a2750924 Author: Patrick McHardy Date: Sat Jun 30 13:35:52 2007 -0700 [NET]: Fix secondary unicast/multicast address count maintenance When a reference to an existing address is increased or decreased without hitting zero, the address count is incorrectly adjusted. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d62733c8e437fdb58325617c4b3331769ba82d70 Author: Peter P Waskiewicz Jr Date: Thu Jun 28 21:04:31 2007 -0700 [SCHED]: Qdisc changes and sch_rr added for multiqueue Add the new sch_rr qdisc for multiqueue network device support. Allow sch_prio and sch_rr to be compiled with or without multiqueue hardware support. sch_rr is part of sch_prio, and is referenced from MODULE_ALIAS. This was done since sch_prio and sch_rr only differ in their dequeue routine. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f25f4e44808f0f6c9875d94ef1c41ef86c288eb2 Author: Peter P Waskiewicz Jr Date: Fri Jul 6 13:36:20 2007 -0700 [CORE] Stack changes to add multiqueue hardware support API Add the multiqueue hardware device support API to the core network stack. Allow drivers to allocate multiple queues and manage them at the netdev level if they choose to do so. Added a new field to sk_buff, namely queue_mapping, for drivers to know which tx_ring to select based on OS classification of the flow. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a093bf006e09a305e95ff0938c0a18b7520aef67 Author: Peter P Waskiewicz Jr Date: Thu Jun 28 20:45:47 2007 -0700 [NET]: [DOC] Multiqueue hardware support documentation Add a brief howto to Documentation/networking for multiqueue. It explains how to use the multiqueue API in a driver to support multiqueue paths from the stack, as well as the qdiscs to use for feeding a multiqueue device. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit a298830cd026b4c0cde45ef3679a5f68a17577e6 Author: Herbert Xu Date: Thu Jun 28 13:44:37 2007 -0700 [NET]: Fix TX checksum feature check This patch fixes a boolean error in the new TX checksum check that causes bogus TSO packets to be generated. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 58e50a904ec78caf4ca938801c031413b0d3f962 Author: James Chapman Date: Wed Jun 27 15:53:49 2007 -0700 [L2TP]: Add PPPoL2TP in-kernel documentation Signed-off-by: James Chapman Signed-off-by: David S. Miller commit a6d2370b0839c228ae4e680e75263ecf0a73e251 Author: James Chapman Date: Wed Jun 27 15:53:17 2007 -0700 [L2TP]: Add PPPoL2TP maintainer Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 38d15b656258b52a659fcf3e181f85b51bd1851f Author: David S. Miller Date: Wed Jun 27 15:52:25 2007 -0700 [PPPOL2TP]: Use proper printf format specifier for size_t. Signed-off-by: David S. Miller commit 3557baabf28088f49bdf72a048fd33ab62e205b1 Author: James Chapman Date: Wed Jun 27 15:49:24 2007 -0700 [L2TP]: PPP over L2TP driver core This driver handles only L2TP data frames; control frames are handled by a userspace application. It implements L2TP using the PPPoX socket family. There is a PPPoX socket for each L2TP session in an L2TP tunnel. PPP data within each session is passed through the kernel's PPP subsystem via this driver. Kernel parameters of each socket can be read or modified using ioctl() or [gs]etsockopt() calls. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit cf14a4d06742d59ecb2d837a3f53bb24d1ff9acb Author: James Chapman Date: Wed Jun 27 15:43:43 2007 -0700 [L2TP]: Changes to existing ppp and socket kernel headers for L2TP Add struct sockaddr_pppol2tp to carry L2TP-specific address information for the PPPoX (PPPoL2TP) socket. Unfortunately we can't use the union inside struct sockaddr_pppox because the L2TP-specific data is larger than the current size of the union and we must preserve the size of struct sockaddr_pppox for binary compatibility. Also add a PPPIOCGL2TPSTATS ioctl to allow userspace to obtain L2TP counters and state from the kernel. Add new if_pppol2tp.h header. [ Modified to use aligned_u64 in statistics structure -DaveM ] Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 342f0234c71b40da785dd6a7ce1dd481ecbfdb81 Author: James Chapman Date: Wed Jun 27 15:37:46 2007 -0700 [UDP]: Introduce UDP encapsulation type for L2TP This patch adds a new UDP_ENCAP_L2TPINUDP encapsulation type for UDP sockets. When a UDP socket's encap_type is UDP_ENCAP_L2TPINUDP, the skb is delivered to a function pointed to by the udp_sock's encap_rcv funcptr. If the skb isn't wanted by L2TP, it returns >0, which causes it to be passed through to UDP. Include padding to put the new encap_rcv field on a 4-byte boundary. Previously, the only user of UDP encap sockets was ESP, so when CONFIG_XFRM was not defined, some of the encap code was compiled out. This patch changes that. As a result, udp_encap_rcv() will now do a little more work when CONFIG_XFRM is not defined. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 4417da668c0021903464f92db278ddae348e0299 Author: Patrick McHardy Date: Wed Jun 27 01:28:10 2007 -0700 [NET]: dev: secondary unicast address support Add support for configuring secondary unicast addresses on network devices. To support this devices capable of filtering multiple unicast addresses need to change their set_multicast_list function to configure unicast filters as well and assign it to dev->set_rx_mode instead of dev->set_multicast_list. Other devices are put into promiscous mode when secondary unicast addresses are present. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3fba5a8b1e3df2384b90493538161e83cf15dd5f Author: Patrick McHardy Date: Wed Jun 27 01:26:58 2007 -0700 [NET]: dev_mcast: switch to generic net_device address lists Use generic net_device address lists for multicast list handling. Some defines are used to keep drivers working. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bf742482d7a647c5c6f03f78eb35a862e159ecf5 Author: Patrick McHardy Date: Wed Jun 27 01:26:19 2007 -0700 [NET]: dev: introduce generic net_device address lists Introduce struct dev_addr_list and list maintenance functions based on dev_mc_list and the related functions. This will be used by follow-up patches for both multicast and secondary unicast addresses. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 75ebe8f73610636be8bbd8d73db883512850e6be Author: Patrick McHardy Date: Wed Jun 27 01:25:11 2007 -0700 [NET]: dev_mcast: unexport dev_mc_upload dev_mc_add/dev_mc_delete take care of uploading the list when necessary and thats the only interface other code should use. Also remove two incorrect calls in DECnet. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d212f87b068c9d72065ef579d85b5ee6b8b59381 Author: Stephen Hemminger Date: Wed Jun 27 00:47:37 2007 -0700 [NET]: IPV6 checksum offloading in network devices The existing model for checksum offload does not correctly handle devices that can offload IPV4 and IPV6 only. The NETIF_F_HW_CSUM flag implies device can do any arbitrary protocol. This patch: * adds NETIF_F_IPV6_CSUM for those devices * fixes bnx2 and tg3 devices that need it * add NETIF_F_IPV6_CSUM to ipv6 output (incl GSO) * fixes assumptions about NETIF_F_ALL_CSUM in nat * adjusts bridge union of checksumming computation Signed-off-by: David S. Miller commit d3d6dd3adaaad71eae20902ed81808a66a40a5b9 Author: Masahide NAKAMURA Date: Tue Jun 26 23:57:49 2007 -0700 [XFRM]: Add module alias for transformation type. It is clean-up for XFRM type modules and adds aliases with its protocol: ESP, AH, IPCOMP, IPIP and IPv6 for IPsec ROUTING and DSTOPTS for MIPv6 It is almost the same thing as XFRM mode alias, but it is added new defines XFRM_PROTO_XXX for preprocessing since some protocols are defined as enum. Signed-off-by: Masahide NAKAMURA Acked-by: Ingo Oeser Signed-off-by: David S. Miller commit 59fbb3a61e02deaeaa4fb50792217921f3002d64 Author: Masahide NAKAMURA Date: Tue Jun 26 23:56:32 2007 -0700 [IPV6] MIP6: Loadable module support for MIPv6. This patch makes MIPv6 loadable module named "mip6". Here is a modprobe.conf(5) example to load it automatically when user application uses XFRM state for MIPv6: alias xfrm-type-10-43 mip6 alias xfrm-type-10-60 mip6 Some MIPv6 feature is not included by this modular, however, it should not be affected to other features like either IPsec or IPv6 with and without the patch. We may discuss XFRM, MH (RAW socket) and ancillary data/sockopt separately for future work. Loadable features: * MH receiving check (to send ICMP error back) * RO header parsing and building (i.e. RH2 and HAO in DSTOPTS) * XFRM policy/state database handling for RO These are NOT covered as loadable: * Home Address flags and its rule on source address selection * XFRM sub policy (depends on its own kernel option) * XFRM functions to receive RO as IPv6 extension header * MH sending/receiving through raw socket if user application opens it (since raw socket allows to do so) * RH2 sending as ancillary data * RH2 operation with setsockopt(2) Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 136ebf08b46f839e2dc9db34322b654e5d9b9936 Author: Masahide NAKAMURA Date: Tue Jun 26 23:51:41 2007 -0700 [IPV6] MIP6: Kill unnecessary ifdefs. Kill unnecessary CONFIG_IPV6_MIP6. o It is redundant for RAW socket to keep MH out with the config then it can handle any protocol. o Clean-up at AH. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 2371baa4bdab3268b32009926f75e7a5d3a41506 Author: Patrick McHardy Date: Tue Jun 26 03:23:44 2007 -0700 [RTNETLINK]: Fix rtnetlink compat attribute patch Sent the wrong patch previously. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit afdc3238ec948531205f5c5f77d2de7bae519c71 Author: Patrick McHardy Date: Mon Jun 25 14:30:16 2007 -0700 [RTNETLINK]: Add nested compat attribute Add a nested compat attribute type that can be used to convert attributes that contain a structure to nested attributes in a backwards compatible way. The attribute looks like this: struct { [ compat contents ] struct rtattr { .rta_len = total size, .rta_type = type, } rta; struct old_structure struct; [ nested top-level attribute ] struct rtattr { .rta_len = nest size, .rta_type = type, } nest_attr; [ optional 0 .. n nested attributes ] struct rtattr { .rta_len = private attribute len, .rta_type = private attribute typ, } nested_attr; struct nested_data data; }; Since both userspace and kernel deal correctly with attributes that are larger than expected old versions will just parse the compat part and ignore the rest. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1092cb219774a82b1f16781aec7b8d4ec727c981 Author: Patrick McHardy Date: Mon Jun 25 13:49:35 2007 -0700 [NETLINK]: attr: add nested compat attribute type Add a nested compat attribute type that can be used to convert attributes that contain a structure to nested attributes in a backwards compatible way. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 334a8132d9950f769f390f0f35c233d099688e7a Author: Patrick McHardy Date: Mon Jun 25 04:35:20 2007 -0700 [SKBUFF]: Keep track of writable header len of headerless clones Currently NAT (and others) that want to modify cloned skbs copy them, even if in the vast majority of cases its not necessary because the skb is a clone made by TCP and the portion NAT wants to modify is actually writable because TCP release the header reference before cloning. The problem is that there is no clean way for NAT to find out how long the writable header area is, so this patch introduces skb->hdr_len to hold this length. When a headerless skb is cloned skb->hdr_len is set to the current headroom, for regular clones it is copied from the original. A new function skb_clone_writable(skb, len) returns whether the skb is writable up to len bytes from skb->data. To avoid enlarging the skb the mac_len field is reduced to 16 bit and the new hdr_len field is put in the remaining 16 bit. I've done a few rough benchmarks of NAT (not with this exact patch, but a very similar one). As expected it saves huge amounts of system time in case of sendfile, bringing it down to basically the same amount as without NAT, with sendmsg it only helps on loopback, probably because of the large MTU. Transmit a 1GB file using sendfile/sendmsg over eth0/lo with and without NAT: - sendfile eth0, no NAT: sys 0m0.388s - sendfile eth0, NAT: sys 0m1.835s - sendfile eth0: NAT + path: sys 0m0.370s (~ -80%) - sendfile lo, no NAT: sys 0m0.258s - sendfile lo, NAT: sys 0m2.609s - sendfile lo, NAT + patch: sys 0m0.260s (~ -90%) - sendmsg eth0, no NAT: sys 0m2.508s - sendmsg eth0, NAT: sys 0m2.539s - sendmsg eth0, NAT + patch: sys 0m2.445s (no change) - sendmsg lo, no NAT: sys 0m2.151s - sendmsg lo, NAT: sys 0m3.557s - sendmsg lo, NAT + patch: sys 0m2.159s (~ -40%) I expect other users can see a similar performance improvement, packet mangling iptables targets, ipip and ip_gre come to mind .. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e50c41b53d7aa48152dd9c633b04fc7abd536f1f Author: Krishna Kumar Date: Sun Jun 24 19:57:27 2007 -0700 [NET]: qdisc_restart - couple of optimizations. Changes : - netif_queue_stopped need not be called inside qdisc_restart as it has been called already in qdisc_run() before the first skb is sent, and in __qdisc_run() after each intermediate skb is sent (note : we are the only sender, so the queue cannot get stopped while the tx lock was got in the ~LLTX case). - BUG_ON((int) q->q.qlen < 0) was a relic from old times when -1 meant more packets are available, and __qdisc_run used to loop when qdisc_restart() returned -1. During those days, it was necessary to make sure that qlen is never less than zero, since __qdisc_run would get into an infinite loop if no packets are on the queue and this bug in qdisc was there (and worse - no more skbs could ever get queue'd as we hold the queue lock too). With Herbert's recent change to return values, this check is not required. Hopefully Herbert can validate this change. If at all this is required, it should be added to skb_dequeue (in failure case), and not to qdisc_qlen. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 6c1361a6f285bf3df4b502651c0dd38d0eedc044 Author: Krishna Kumar Date: Sun Jun 24 19:56:09 2007 -0700 [NET]: qdisc_restart - readability changes plus one bug fix. New changes : - Incorporated Peter Waskiewicz's comments. - Re-added back one warning message (on driver returning wrong value). Previous changes : - Converted to use switch/case code which looks neater. - "if (ret == NETDEV_TX_LOCKED && lockless)" is buggy, and the lockless check should be removed, since driver will return NETDEV_TX_LOCKED only if lockless is true and driver has to do the locking. In the original code as well as the latest code, this code can result in a bug where if LLTX is not set for a driver (lockless == 0) but the driver is written wrongly to do a trylock (despite LLTX being set), the driver returns LOCKED. But since lockless is zero, the packet is requeue'd instead of calling collision code which will issue warning and free up the skb. Instead this skb will be retried with this driver next time, and the same result will ensue. Removing this check will catch these driver bugs instead of hiding the problem. I am keeping this change to readability section since : a. it is confusing to check two things as it is; and b. it is difficult to keep this check in the changed 'switch' code. - Changed some names, like try_get_tx_pkt to dev_dequeue_skb (as that is the work being done and easier to understand) and do_dev_requeue to dev_requeue_skb, merged handle_dev_cpu_collision and tx_islocked to dev_handle_collision (handle_dev_cpu_collision is a small routine with only one caller, so there is no need to have two separate routines which also results in getting rid of two macros, etc. - Removed an XXX comment as it should never fail (I suspect this was related to batch skb WIP, Jamal ?). Converted some functions to original coding style of having the return values and the function name on same line, eg prio2list. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 49d66a70cf9fd94057aacd6055334299ab3a5eac Author: Gerrit Renker Date: Sat Jun 16 13:48:50 2007 -0300 [CCID3]: Fix a bug in the send time processing ccid3_hc_tx_send_packet currently returns 0 when the time difference between current time and t_nom is less than 1000 microseconds. In this case the packet is sent immediately; but, unlike other packets that can be emitted on first attempt, it will not have its window counter updated and its options set as required. This is a bug. Fix: Require the time difference to be at least 1000 microseconds. The algorithm then converges: time differences > 1000 microseconds trigger the timer in dccp_write_xmit; after timer expiry this function is tried again; when the time difference is less than 1000, the packet will have its options added and window counter updated as required. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 8132da4d412ad51c34bad11133a8f0941e2a1972 Author: Gerrit Renker Date: Sat Jun 16 13:34:02 2007 -0300 [CCID3]: Sending time: update to ktime_t This updates the computation of t_nom and t_last_win_count to use the newer gettimeofday interface. Committer note: used ktime_to_timeval to set the 'now' variable to t_ld in ccid3hctx_no_feedback_timer Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 1e180f726a58089d15637b5495fecbad8c50c833 Author: Arnaldo Carvalho de Melo Date: Sat Jun 16 12:39:38 2007 -0300 [KTIME]: Introduce ktime_add_us Signed-off-by: Arnaldo Carvalho de Melo commit f1c91da44728fba24927e44056a56e507c11cf7b Author: Gerrit Renker Date: Sat Jun 16 12:38:51 2007 -0300 [KTIME]: Introduce ktime_us_delta This provides a reusable time difference function which returns the difference in microseconds, as often used in the DCCP code. Commiter note: renamed ktime_delta to ktime_us_delta and put it in ktime.h. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit dd36a9aba44e4ddbac011de2cb14a70444487303 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:56:44 2007 -0300 loss_interval: make struct dccp_li_hist_entry private net/dccp/ccids/lib/loss_interval.c is the only place where this struct is used. Signed-off-by: Arnaldo Carvalho de Melo commit cc4d6a3a34ce3976d7d01d044f3093cddc2921c2 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:53:08 2007 -0300 loss_interval: Nuke dccp_li_hist It had just a slab cache, so, for the sake of simplicity just make dccp_trfc_lib module init routine create the slab cache, no need for users of the lib to create a private loss_interval object. Signed-off-by: Arnaldo Carvalho de Melo commit c70b729e662a1b3ee2ef5370c1e4c9bc3ddc239f Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:25:12 2007 -0300 loss_interval: Make dccp_li_hist_entry_{new,delete} private Not used outside the loss_interval code anymore. Signed-off-by: Arnaldo Carvalho de Melo commit 8c281780c6f867460c84bd78d9c3885c10f00ae1 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:21:53 2007 -0300 loss_interval: unexport dccp_li_hist_interval_new Now its only used inside the loss_interval code. Signed-off-by: Arnaldo Carvalho de Melo commit cc0a910b942d11069d35f52b2c0ed0e229e2fb46 Author: Arnaldo Carvalho de Melo Date: Thu Jun 14 17:41:28 2007 -0300 [DCCP] loss_interval: Move ccid3_hc_rx_update_li to loss_interval Renaming it to dccp_li_update_li. Also based on previous work by Ian McDonald. Signed-off-by: Arnaldo Carvalho de Melo commit 878ac60023c4ba11a7fbf0b1dfe07b8472c0d6ce Author: Arnaldo Carvalho de Melo Date: Thu Jun 14 12:24:46 2007 -0300 [CCID3]: Pass ccid3_li_hist to ccid3_hc_rx_update_li Now ccid3_hc_rx_update_li is ready to be moved to net/dccp/ccids/lib/loss_interval, it uses the same interface as the other functions there. Signed-off-by: Arnaldo Carvalho de Melo commit d83258a3da1d3c7ae7b75549c8bf7ed689562c62 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:04:14 2007 -0300 Remove accesses to ccid3_hc_rx_sock in ccid3_hc_rx_{update,calc_first}_li This is a preparatory patch for moving these loss interval functions from net/dccp/ccids/ccid3.c to net/dccp/ccids/lib/loss_interval.c. Based on a patch by Ian McDonald. Signed-off-by: Arnaldo Carvalho de Melo commit 6bc7efe8efa627077f8f65d01dbb762fc9356a2f Author: Ian McDonald Date: Mon May 28 16:37:45 2007 -0300 loss_interval: Fix timeval initialisation When compiling with EXTRA_CFLAGS=-W noticed that tstamp is not initialised correctly in dccp_li_calc_first_li. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ian McDonald commit e961811fcde4202ae5c3c9ce81dcfc244e8959bb Author: Ian McDonald Date: Mon May 28 16:32:26 2007 -0300 Fix dccp_sum_coverage When compiling with EXTRA_CFLAGS=-W notice that we have signed/unsigned issue in dccp.h. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ian McDonald commit b2f41ff4139c0df8d06f352acc962a62fc07a0c3 Author: Ian McDonald Date: Mon May 28 12:23:29 2007 -0300 ccid3: Update copyrights Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 07b5b17e157b7018d0ca40ca0d1581a23096fb45 Author: Patrick McHardy Date: Wed Jun 13 12:07:54 2007 -0700 [VLAN]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a4bf3af4ac46802436d352ef409cee4fe80445b3 Author: Patrick McHardy Date: Wed Jun 13 12:07:37 2007 -0700 [VLAN]: Introduce symbolic constants for flag values Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b020cb488586f982f40eb257a32e92a4de710d65 Author: Patrick McHardy Date: Wed Jun 13 12:07:22 2007 -0700 [VLAN]: Keep track of number of QoS mappings Keep track of the number of configured ingress/egress QoS mappings to avoid iteration while calculating the netlink attribute size. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 734423cf38021966a5d3bd5f5c6aaecaf32fb4ac Author: Patrick McHardy Date: Wed Jun 13 12:07:07 2007 -0700 [VLAN]: Use 32 bit value for skb->priority mapping skb->priority has only 32 bits and even VLAN uses 32 bit values in its API. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2ae0bf69b716d07126f0a9c17fcc2d76da172cb6 Author: Patrick McHardy Date: Wed Jun 13 12:06:43 2007 -0700 [VLAN]: Return proper error codes in register_vlan_device The returned device is unused, return proper error codes instead and avoid having the ioctl handler guess the error. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e89fe42cd03c8fd3686df82d8390a235717a66de Author: Patrick McHardy Date: Wed Jun 13 12:06:29 2007 -0700 [VLAN]: Move device registation to seperate function Move device registration and configuration of the underlying device to a seperate function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c1d3ee9925ca714a5ed3f8fce01a7027137f4e3f Author: Patrick McHardy Date: Wed Jun 13 12:06:14 2007 -0700 [VLAN]: Split up device checks Move the checks of the underlying device to a seperate function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 42429aaee5eb44f4a48fdb056d77d0c06ef5aebc Author: Patrick McHardy Date: Wed Jun 13 12:05:59 2007 -0700 [VLAN]: Move vlan_group allocation to seperate function Move group allocation to a seperate function to clean up the code a bit and allocate groups before registering the device. Device registration is globally visible and causes netlink events, so we shouldn't fail afterwards. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2f4284a406cb25d1e41454cbf9ec4545b5ed70a1 Author: Patrick McHardy Date: Wed Jun 13 12:05:41 2007 -0700 [VLAN]: Move some device intialization code to dev->init callback Move some device initialization code to new dev->init callback to make it shareable with netlink. Additionally this fixes a minor bug, dev->iflink is set after registration, which causes an incorrect value in the initial netlink message. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c17d8874f9959070552fddf1b4e1d73c0c144c0f Author: Patrick McHardy Date: Wed Jun 13 12:05:22 2007 -0700 [VLAN]: Convert name-based configuration functions to struct netdevice * Move the device lookup and checks to the ioctl handler under the RTNL and change all name-based interfaces to take a struct net_device * instead. This allows to use them from a netlink interface, which identifies devices based on ifindex not name. It also avoids races between the ioctl interface and the (upcoming) netlink interface since now all changes happen under the RTNL. As a nice side effect this greatly simplifies error handling in the helper functions and fixes a number of incorrect error codes like -EINVAL for device not found. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ba2cd656021e7f70038ba9d551224e04d0bfcef Author: Patrick McHardy Date: Wed Jun 13 12:05:06 2007 -0700 [IFB]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 62b7ffcaaa4e91ed547fc55758076ac536bd5571 Author: Patrick McHardy Date: Wed Jun 13 12:04:51 2007 -0700 [IFB]: Keep ifb devices on list Use a list instead of an array to allow creating new devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5d5cb173d85ebf6dfb16f456a8148ecb4b1cecbc Author: Patrick McHardy Date: Wed Jun 13 12:04:34 2007 -0700 [DUMMY]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 206c9fb26f5df2ea6d440fb64159faf4d8665398 Author: Patrick McHardy Date: Wed Jun 13 12:04:20 2007 -0700 [DUMMY]: Keep dummy devices on list Use a list instead of an array to allow creating new devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 58651b24acfd9a6fd3b217b52e577ce34b0932af Author: Patrick McHardy Date: Wed Jun 13 12:04:06 2007 -0700 [DUMMY]: Use dev->stats Use dev->stats instead of netdev_priv(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 38f7b870d4a6a5d3ec21557e849620cb7d032965 Author: Patrick McHardy Date: Wed Jun 13 12:03:51 2007 -0700 [RTNETLINK]: Link creation API Add rtnetlink API for creating, changing and deleting software devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0157f60c0caea24fa8347f4c0ed53297c412fce1 Author: Patrick McHardy Date: Wed Jun 13 12:03:36 2007 -0700 [RTNETLINK]: Split up rtnl_setlink Split up rtnl_setlink into a function performing validation and a function performing the actual changes. This allows to share the modifcation logic with rtnl_newlink, which is introduced by the next patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6472ce6096bf27d85a1f2580964a36f290bd60a9 Author: Patrick McHardy Date: Wed Jun 13 12:03:21 2007 -0700 [NET]: Mark struct net_device * argument to netdev_priv const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b3d88ad49a0623d09efcf998beb26288c8029f75 Author: Larry Finger Date: Sun Jun 10 17:57:33 2007 -0700 [MAC80211]: Add support for SIOCGIWRATE ioctl At present, transmission rate information for mac80211 is available only if verbose debugging is turned on, and then only in the logs. This patch implements the SIOCGIWRATE ioctl, which adds the current transmission rate to the output of iwconfig. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8c7b7faaa630fef7f68d8728cee1cce398cc9697 Author: David S. Miller Date: Tue Jul 10 22:08:12 2007 -0700 [NET]: Kill eth_copy_and_sum(). It hasn't "summed" anything in over 7 years, and it's just a straight mempcy ala skb_copy_to_linear_data() so just get rid of it. Signed-off-by: David S. Miller commit 8de0a15483b357d0f0b821330ec84d1660cadc4e Author: Ville Tervo Date: Wed Jul 11 09:23:41 2007 +0200 [Bluetooth] Keep rfcomm_dev on the list until it is freed This patch changes the RFCOMM TTY release process so that the TTY is kept on the list until it is really freed. A new device flag is used to keep track of released TTYs. Signed-off-by: Ville Tervo Signed-off-by: Marcel Holtmann commit a7ab4b501f9b8a9dc4d5cee542db67b6ccd1088b Author: Herbert Xu Date: Sun Jun 10 17:33:08 2007 -0700 [TCPv4]: Improve BH latency in /proc/net/tcp Currently the code for /proc/net/tcp disable BH while iterating over the entire established hash table. Even though we call cond_resched_softirq for each entry, we still won't process softirq's as regularly as we would otherwise do which results in poor performance when the system is loaded near capacity. This anomaly comes from the 2.4 code where this was all in a single function and the local_bh_disable might have made sense as a small optimisation. The cost of each local_bh_disable is so small when compared against the increased latency in keeping it disabled over a large but mostly empty TCP established hash table that we should just move it to the individual read_lock/read_unlock calls as we do in inet_diag. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c716a81ab946c68a8d84022ee32eb14674e72650 Author: Jamal Hadi Salim Date: Sun Jun 10 17:31:24 2007 -0700 [NET_SCHED]: Cleanup readability of qdisc restart Over the years this code has gotten hairier. Resulting in many long discussions over long summer days and patches that get it wrong. This patch helps tame that code so normal people will understand it. Thanks to Thomas Graf, Peter J. waskiewicz Jr, and Patrick McHardy for their valuable reviews. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 05646c91109bfd129361d57dc5d98464ab6f6578 Author: Allan Stephens Date: Sun Jun 10 17:25:24 2007 -0700 [TIPC]: Optimize stream send routine to avoid fragmentation This patch enhances TIPC's stream socket send routine so that it avoids transmitting data in chunks that require fragmentation and reassembly, thereby improving performance at both the sending and receiving ends of the connection. The "maximum packet size" hint that records MTU info allows the socket to decide how big a chunk it should send; in the event that the hint has become stale, fragmentation may still occur, but the data will be passed correctly and the hint will be updated in time for the following send. Note: The 66060 byte pseudo-MTU used for intra-node connections requires the send routine to perform an additional check to ensure it does not exceed TIPC"s limit of 66000 bytes of user data per chunk. Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit 5eee6a6dc945acc5bf4da12956b2f698bbb102b9 Author: Allan Stephens Date: Sun Jun 10 17:24:55 2007 -0700 [TIPC]: Use standard socket "not implemented" routines This patch modifies TIPC's socket API to utilize existing generic routines to indicate unsupported operations, rather than adding similar TIPC-specific routines. Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit f3ec75f627c746cfe460482d38a33b06a84d038f Author: Allan Stephens Date: Sun Jun 10 17:24:20 2007 -0700 [TIPC]: Improved support for Ethernet traffic filtering This patch simplifies TIPC's Ethernet receive routine to take advantage of information already present in each incoming sk_buff indicating whether the packet was explicitly sent to the interface, has been broadcast to all interfaces, or was picked up because the interface is in promiscous mode. This new approach also fixes the problem of TIPC accepting unwanted traffic through UML's multicast-based Ethernet interfaces (which deliver traffic in a promiscuous manner even if the interface is not configured to be promiscuous). Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit e06e7c615877026544ad7f8b309d1a3706410383 Author: David S. Miller Date: Sun Jun 10 17:22:39 2007 -0700 [IPV4]: The scheduled removal of multipath cached routing support. With help from Chris Wedgwood. Signed-off-by: David S. Miller commit 84950cf0ba02fd6a5defe2511bc41f9aa2237632 Author: Mikko Rapeli Date: Wed Jul 11 09:18:15 2007 +0200 [Bluetooth] Hangup TTY before releasing rfcomm_dev The core problem is that RFCOMM socket layer ioctl can release rfcomm_dev struct while RFCOMM TTY layer is still actively using it. Calling tty_vhangup() is needed for a synchronous hangup before rfcomm_dev is freed. Addresses the oops at http://bugzilla.kernel.org/show_bug.cgi?id=7509 Acked-by: Alan Cox Signed-off-by: Marcel Holtmann commit 924f0e4a06419fa1996425d1d2512030e43acbba Author: Robert P. J. Day Date: Wed Jul 11 09:07:07 2007 +0200 [Bluetooth] Remove the redundant non-seekable llseek method Remove the llseek method given that the open method already calls nonseekable_open(). Signed-off-by: Robert P. J. Day Signed-off-by: Marcel Holtmann commit 6164c8cd1333403a28202f7c7e64ff9086d8f1aa Author: Sean Hefty Date: Mon Jul 2 16:14:14 2007 -0700 IB/cm: Send no match if a SIDR REQ does not match a listen If a SIDR REQ does not match a listen, we should reply with status value 1 (service ID not supported), rather than dropping through to the default case of status 2 (rejected by service provider). Doing this also fixes a bug where the cm_id_priv is removed from the remote_sidr_table twice. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 29c2731cbfa9d5b560a73461775f2be03b46dd4c Author: Sean Hefty Date: Mon Jul 2 14:36:19 2007 -0700 IB/cm: Fix handling of duplicate SIDR REQs Fix handling to duplicate SIDR REQs to avoid sending a reject if a duplicate is detected. Duplicates should just be silently discarded. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 5d861be8c87b8a8f8e0f58b3b8864f31da7ee9c3 Author: Sean Hefty Date: Thu Jun 28 19:16:51 2007 -0700 IB/cm: cm_msgs.h should include ib_cm.h cm_msgs.h uses definitions from ib_cm.h. Include it directly, rather than depending on a specific include order. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 1d84612649427a85e1f311baa7215f9a6252d856 Author: Sean Hefty Date: Mon Jun 18 11:09:37 2007 -0700 IB/cm: Include HCA ACK delay in local ACK timeout The IB CM should include the HCA ACK delay when calculating the local ACK timeout value to use for RC QPs. If the HCA ACK delay is large enough relative to the packet life time, then if it is not taken into account, the calculated timeout value ends up being too small, which can result in "retry exceeded" errors. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 24be6e81c78314c91a47200272eb4bc31284bd7b Author: Sean Hefty Date: Mon Jun 18 11:09:36 2007 -0700 IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible The ib_cm is a little over zealous about using spin_lock_irqsave, when spin_lock_irq would do. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 2aec5c602c6a44e2a3a173339a9ab94549658e4b Author: Sean Hefty Date: Mon Jun 18 11:03:58 2007 -0700 IB/sa: Make sure SA queries use default P_Key MADs sent to the SA should use the the default P_Key (0x7fff/0xffff). There's no requirement that the default P_Key is stored at index 0 in the local P_Key table, so add code to the sa_query module to look up the index of the default P_Key when creating an address handle for the SA (which is done any time the P_Key table might change), and use this index for all SA queries. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit babf4d42d0a41ff58463b0a0515683cdce66f541 Author: Marcel Holtmann Date: Wed Jul 11 06:42:35 2007 +0200 [Bluetooth] Use hci_recv_fragment() within HCI USB driver This patch modifies the HCI USB driver to use the new helper function for reassembling HCI data packets and events. Signed-off-by: Marcel Holtmann commit ef222013fc8c1a2fcba5c7ab169be8ffcb778ec4 Author: Marcel Holtmann Date: Wed Jul 11 06:42:04 2007 +0200 [Bluetooth] Add hci_recv_fragment() helper function Most drivers must handle fragmented HCI data packets and events. This patch adds a generic function for their reassembly to the Bluetooth core layer and thus allows to shrink the complexity of the drivers. Signed-off-by: Marcel Holtmann commit d8558f99fbc5ef5d4ae76b893784005056450f82 Author: J. Bruce Fields Date: Tue Jul 10 15:19:26 2007 -0400 sunrpc: drop BKL around wrap and unwrap We don't need the BKL when wrapping and unwrapping; and experiments by Avishay Traeger have found that permitting multiple encryption and decryption operations to proceed in parallel can provide significant performance improvements. Signed-off-by: J. Bruce Fields Cc: Avishay Traeger Signed-off-by: Trond Myklebust commit 137d6acaa64afa4cf3d977417424e731ea04705a Author: Frank Filz Date: Mon Jul 9 15:32:29 2007 -0700 NFSv4: Make sure unlock is really an unlock when cancelling a lock I ran into a curious issue when a lock is being canceled. The cancellation results in a lock request to the vfs layer instead of an unlock request. This is particularly insidious when the process that owns the lock is exiting. In that case, sometimes the erroneous lock is applied AFTER the process has entered zombie state, preventing the lock from ever being released. Eventually other processes block on the lock causing a slow degredation of the system. In the 2.6.16 kernel this was investigated on, the problem is compounded by the fact that the cl_sem is held while blocking on the vfs lock, which results in most processes accessing the nfs file system in question hanging. In more detail, here is how the situation occurs: first _nfs4_do_setlk(): static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *fl, int reclaim) ... ret = nfs4_wait_for_completion_rpc_task(task); if (ret == 0) { ... } else data->cancelled = 1; then nfs4_lock_release(): static void nfs4_lock_release(void *calldata) ... if (data->cancelled != 0) { struct rpc_task *task; task = nfs4_do_unlck(&data->fl, data->ctx, data->lsp, data->arg.lock_seqid); The problem is the same file_lock that was passed in to _nfs4_do_setlk() gets passed to nfs4_do_unlck() from nfs4_lock_release(). So the type is still F_RDLCK or FWRLCK, not F_UNLCK. At some point, when cancelling the lock, the type needs to be changed to F_UNLCK. It seemed easiest to do that in nfs4_do_unlck(), but it could be done in nfs4_lock_release(). The concern I had with doing it there was if something still needed the original file_lock, though it turns out the original file_lock still needs to be modified by nfs4_do_unlck() because nfs4_do_unlck() uses the original file_lock to pass to the vfs layer, and a copy of the original file_lock for the RPC request. It seems like the simplest solution is to force all situations where nfs4_do_unlck() is being used to result in an unlock, so with that in mind, I made the following change: Signed-off-by: Frank Filz Signed-off-by: Trond Myklebust commit c98451bdb2f3e6d6cc1e03adad641e9497512b49 Author: Frank van Maarseveen Date: Mon Jul 9 22:25:29 2007 +0200 NLM: fix source address of callback to client Use the destination address of the original NLM request as the source address in callbacks to the client. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit d3bc9a1deb8964d774af8535814cb91bf8f6def0 Author: Frank van Maarseveen Date: Mon Jul 9 22:23:35 2007 +0200 SUNRPC client: add interface for binding to a local address In addition to binding to a local privileged port the NFS client should allow binding to a specific local address. This is used by the server for callbacks. The patch adds the necessary interface. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit a97476926ec061f90b77da478620ea6dc71a3237 Author: Frank van Maarseveen Date: Mon Jul 9 22:21:39 2007 +0200 SUNRPC server: record the destination address of a request Save the destination address of an incoming request over TCP like is done already for UDP. It is necessary later for callbacks by the server. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit 96802a095171f5b35cf0e1e0d4be943e6696a253 Author: Frank van Maarseveen Date: Sun Jul 8 13:08:54 2007 +0200 SUNRPC: cleanup transport creation argument passing Cleanup argument passing to functions for creating an RPC transport. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit 6f2e64d3e1f661095e274c9d9d47e3f39a6cf1c0 Author: Trond Myklebust Date: Fri Jul 6 10:53:21 2007 -0400 NFSv4: Make the NFS state model work with the nosharedcache mount option Consider the case where the user has mounted the remote filesystem server:/foo on the two local directories /bar and /baz using the nosharedcache mount option. The files /bar/file and /baz/file are represented by different inodes in the local namespace, but refer to the same file /foo/file on the server. Consider the case where a process opens both /bar/file and /baz/file, then closes /bar/file: because the nfs4_state is not shared between /bar/file and /baz/file, the kernel will see that the nfs4_state for /bar/file is no longer referenced, so it will send off a CLOSE rpc call. Unless the open_owners differ, then that CLOSE call will invalidate the open state on /baz/file too. Conclusion: we cannot share open state owners between two different non-shared mount instances of the same filesystem. Signed-off-by: Trond Myklebust commit 275a5d24bf56b2d9dd4644c54a56366b89a028f1 Author: Trond Myklebust Date: Wed May 16 16:53:28 2007 -0400 NFS: Error when mounting the same filesystem with different options Unless the user sets the NFS_MOUNT_NOSHAREDCACHE mount flag, we should return EBUSY if the filesystem is already mounted on a superblock that has set conflicting mount options. Signed-off-by: Trond Myklebust commit 75180df2ed467866ada839fe73cf7cc7d75c0a22 Author: Trond Myklebust Date: Wed May 16 16:53:28 2007 -0400 NFS: Add the mount option "nosharecache" Prior to David Howell's mount changes in 2.6.18, users who mounted different directories which happened to be from the same filesystem on the server would get different super blocks, and hence could choose different mount options. As long as there were no hard linked files that crossed from one subtree to another, this was quite safe. Post the changes, if the two directories are on the same filesystem (have the same 'fsid'), they will share the same super block, and hence the same mount options. Add a flag to allow users to elect not to share the NFS super block with another mount point, even if the fsids are the same. This will allow users to set different mount options for the two different super blocks, as was previously possible. It is still up to the user to ensure that there are no cache coherency issues when doing this, however the default behaviour will be to share super blocks whenever two paths result in the same fsid. Signed-off-by: Trond Myklebust commit 8007122520f0a3599bdc4df47358a5d83b2574aa Author: Chuck Lever Date: Sun Jul 1 12:13:59 2007 -0400 NFS: Add support for mounting NFSv4 file systems with string options Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 136d558ce766967fe3cbf54c3351aba261b5d53b Author: Chuck Lever Date: Sun Jul 1 12:13:54 2007 -0400 NFS: Add final pieces to support in-kernel mount option parsing Hook in final components required for supporting in-kernel mount option parsing for NFSv2 and NFSv3 mounts. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0076d7b7bab580ca2e94637d351fa7cd357743a8 Author: Chuck Lever Date: Sun Jul 1 12:13:49 2007 -0400 NFS: Introduce generic mount client API For NFSv2 and v3 mounts, the first step is to contact the server's MOUNTD and request the file handle for the root of the mounted share. Add a function to the NFS client that handles this operation. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit bf0fd7680f1cf31b9cbabcc037a204548e2c866d Author: Chuck Lever Date: Sun Jul 1 12:13:44 2007 -0400 NFS: Add enums and match tables for mount option parsing This generic infrastructure works for both NFS and NFSv4 mounts. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 013a8c1ab5a214c608e12b602770449fb6b15a81 Author: Chuck Lever Date: Sun Jul 1 12:13:38 2007 -0400 NFS: Improve debugging output in NFS in-kernel mount client Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 19207231c9874899e7511507ebb1b88d648a5743 Author: Chuck Lever Date: Sun Jul 1 12:13:33 2007 -0400 NFS: Clean up in-kernel NFS mount Clean up white space and coding conventions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 3ea97309e6b18bce200211b3f9188e8023321adc Author: Chuck Lever Date: Sun Jul 1 12:13:27 2007 -0400 NFS: Remake nfsroot_mount as a permanent part of NFS client In preparation for supporting NFSv2 and NFSv3 mount option handling in the kernel NFS client, convert mount_clnt.c to be a permanent part of the NFS client, instead of built only when CONFIG_ROOT_NFS is enabled. In addition, we also replace the "struct sockaddr_in *" argument with something more generic, to help support IPv6 at some later point. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 43780b87fa799ae65df11d89d4539d8d6a7c67eb Author: Chuck Lever Date: Sun Jul 1 12:13:22 2007 -0400 SUNRPC: Add a convenient default for the hostname when calling rpc_create() A couple of callers just use a stringified IP address for the rpc client's hostname. Move the logic for constructing this into rpc_create(), so it can be shared. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 45160d6275814e0c86206e6981f0b92c61a50a21 Author: Chuck Lever Date: Sun Jul 1 12:13:17 2007 -0400 SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name Clean up, for consistency. Rename rpcb_getport as rpcb_getport_async, to match the naming scheme of rpcb_getport_sync. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit cce63cd6374e6f1b4ea897ece1454feb13993d7c Author: Chuck Lever Date: Sun Jul 1 12:13:12 2007 -0400 SUNRPC: Rename rpcb_getport_external routine In preparation for handling NFS mount option parsing in the kernel, rename rpcb_getport_external as rpcb_get_port_sync, and make it available always (instead of only when CONFIG_ROOT_NFS is enabled). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f7fb558e503dc80e100acaf116f7261cdd97f0ca Author: Chuck Lever Date: Sun Jul 1 12:13:07 2007 -0400 SUNRPC: Allow rpcbind requests to be interrupted by a signal. This allows NFS mount requests and RPC re-binding to be interruptible if the server isn't responding. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f0768ebd09385551277fcbc8b28c29eb491bf9e2 Author: Chuck Lever Date: Sun Jul 1 12:13:01 2007 -0400 NFS: Introduce nfs4_validate_mount_options Refactor NFSv4 mount processing to break out mount data validation in the same way it's broken out in the NFSv2/v3 mount path. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5df36e78da9db1c5f02b429116ed98902bcc75e5 Author: Chuck Lever Date: Sun Jul 1 12:12:56 2007 -0400 NFS: Clean up nfs_validate_mount_data Move error handling code out of the main code path. The switch statement was also improperly indented, according to Documentation/CodingStyle. This prepares nfs_validate_mount_data for the addition of option string parsing. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f18289931d705f9c4634b361341a1677bea97aca Author: Chuck Lever Date: Sun Jul 1 12:12:51 2007 -0400 NFS: Add a new NFS debugging flag just for mount processing Note to self: fix up /usr/sbin/rpcdebug too Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fc50d58fd053862d6bafcf92f1ef2961296f3a1c Author: Chuck Lever Date: Sun Jul 1 12:12:46 2007 -0400 NFS: Clean-up: Refactor IP address sanity checks in NFS client NFS and NFSv4 mounts can now share server address sanity checking. And, it provides an easy mechanism for adding IPv6 address checking at some later point. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 4d81cd16112f86dc279d90ef7a24f2b1be339c3c Author: Chuck Lever Date: Sun Jul 1 12:12:40 2007 -0400 NFS: Clean-up: fix a compiler warning in fs/nfs/super.c /home/cel/linux/fs/nfs/super.c: In function 'nfs_pseudoflavour_to_name': /home/cel/linux/fs/nfs/super.c:270: warning: comparison between signed and unsigned Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0655960f76922a720ad14a510ed91a51395e742b Author: Chuck Lever Date: Sun Jul 1 12:12:35 2007 -0400 NFS: Clean up error handling in nfs_get_sb The error return logic in nfs_get_sb now matches nfs4_get_sb, and is more maintainable. A subsequent patch will take advantage of this simplification. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 29eb981a3b8eb4e61cd5b9da835768045d0446cb Author: Chuck Lever Date: Sun Jul 1 12:12:30 2007 -0400 NFS: Clean-up: Replace nfs_copy_user_string with strndup_user The new string utility function strndup_user can be used instead of nfs_copy_user_string, eliminating an unnecessary duplication of function. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5680d48be88d12cd987e5579a6072a4ca34ca6ea Author: Chuck Lever Date: Sun Jul 1 12:12:24 2007 -0400 NFS: Clean-up: Define macros for maximum host and export path name lengths Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9eaa67c6a5b77f248c4703d81c4a6c6434e35385 Author: Chuck Lever Date: Sun Jul 1 12:12:19 2007 -0400 NFS: Clean-up: use correct type when converting NFS blocks to local blocks inode->i_blocks is a blkcnt_t these days, which can be a u64 or unsigned long, depending on the setting of CONFIG_LSF. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 433c92379d9c2c59c2ebc7628fe4fb02cfc2daf8 Author: Chuck Lever Date: Sun Jul 1 12:12:14 2007 -0400 NFS: Clean up nfs_size_to_loff_t() Use the same file size limit that lockd uses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8bda4e4c98d14566fc1a354c62fb59d70cc49b97 Author: Trond Myklebust Date: Mon Jul 9 10:45:42 2007 -0400 NFSv4: Fix up stateid locking... We really don't need to grab both the state->so_owner and the inode->i_lock. Signed-off-by: Trond Myklebust commit 1ac7e2fd35905f3d44df06568bca5f9d140369b3 Author: Trond Myklebust Date: Sun Jul 8 21:04:15 2007 -0400 NFSv4: Clean up the callers of nfs4_open_recover_helper() Rely on nfs4_try_open_cached() when appropriate. Also fix an RCU violation in _nfs4_do_open_reclaim() Signed-off-by: Trond Myklebust commit 6ee412689027dc7954453aed392ab5c7599c0f73 Author: Trond Myklebust Date: Sun Jul 8 14:11:36 2007 -0400 NFSv4: Don't call OPEN if we already have an open stateid for a file If we already have a stateid with the correct open mode for a given file, then we can reuse that stateid instead of re-issuing an OPEN call without violating the close-to-open caching semantics. Signed-off-by: Trond Myklebust commit aac00a8d0a53097063da532cbdf0b8775a4dcd53 Author: Trond Myklebust Date: Thu Jul 5 19:02:21 2007 -0400 NFSv4: Check for the existence of a delegation in nfs4_open_prepare() We should not be calling open() on an inode that has a delegation unless we're doing a reclaim. Signed-off-by: Trond Myklebust commit 3e309914a15333a5493058e4927e979c7434ae44 Author: Trond Myklebust Date: Sat Jul 7 13:19:59 2007 -0400 NFSv4: Clean up _nfs4_proc_open() Use a flag instead of the 'data->rpc_status = -ENOMEM hack. Signed-off-by: Trond Myklebust commit 1b370bc28f90955bccda8be5e7d7047ad1381da7 Author: Trond Myklebust Date: Sat Jul 7 08:04:47 2007 -0400 NFSv4: Allow nfs4_opendata_to_nfs4_state to return errors. Signed-off-by: Trond Myklebust commit 6f43ddccb31b5bd2297878f6f3735d45fd4dfce3 Author: Trond Myklebust Date: Sun Jul 8 16:49:11 2007 -0400 NFSv4: Improve the debugging of bad sequence id errors... Signed-off-by: Trond Myklebust commit 003707c7225dbd4bf879b6c204743554de0a08d6 Author: Trond Myklebust Date: Thu Jul 5 18:07:55 2007 -0400 NFSv4: Always use the delegation if we have one Signed-off-by: Trond Myklebust commit 0f9f95e0ad1f9d07d77832c5b60f7d30440602ee Author: Trond Myklebust Date: Sun Jul 8 16:19:56 2007 -0400 NFSv4: Clean up confirmation of sequence ids... Signed-off-by: Trond Myklebust commit 412c77cee6d6e73fbe1dc3d67f52163efed33fc4 Author: Trond Myklebust Date: Tue Jul 3 16:10:55 2007 -0400 NFSv4: Defer inode revalidation when setting up a delegation Currently we force a synchronous call to __nfs_revalidate_inode() in nfs_inode_set_delegation(). This not only ensures that we cannot call nfs_inode_set_delegation from an asynchronous context, but it also slows down any call to open(). Signed-off-by: Trond Myklebust commit 8383e4602c89857ef926f29ca61ac0a83a614443 Author: Trond Myklebust Date: Fri Jul 6 15:12:04 2007 -0400 NFSv4: Use RCU to protect delegations Signed-off-by: Trond Myklebust commit 13437e12fb43cb7e285ff59248f781c91578eafe Author: Trond Myklebust Date: Fri Jul 6 15:10:43 2007 -0400 NFSv4: Support recalling delegations by stateid part 2 Signed-off-by: Trond Myklebust commit 901630278469c0d7610554227f39ed2d02d0d270 Author: Trond Myklebust Date: Thu Jul 5 14:55:18 2007 -0400 NFSv4: Support recalling delegations by stateid There appear to be some rogue servers out there that issue multiple delegations with different stateids for the same file. Ensure that when we return delegations, we do so on a per-stateid basis rather than a per-file basis. Signed-off-by: Trond Myklebust commit 2ced46c27058710a6d731d6eca77f1dd14ccde75 Author: Trond Myklebust Date: Tue Jul 3 23:48:13 2007 -0400 NFSv4: Fix up a bug in nfs4_open_recover() Don't clobber the delegation info... Signed-off-by: Trond Myklebust commit 549d6ed5e85003370fe858e70864a71882491d28 Author: Trond Myklebust Date: Tue Jul 3 16:42:45 2007 -0400 NFSv4: set the delegation in nfs4_opendata_to_nfs4_state This ensures that nfs4_open_release() and nfs4_open_confirm_release() can now handle an eventual delegation that was returned with out open. As such, it fixes a delegation "leak" when the user breaks out of an open call. Signed-off-by: Trond Myklebust commit 1c816efa245111c52858fbe55d99474f3c149dd3 Author: Trond Myklebust Date: Tue Jul 3 14:41:19 2007 -0400 NFSv4: Fix a bug in __nfs4_find_state_byowner The test for state->state == 0 does not tell you that the stateid is in the process of being freed. It really tells you that the stateid is not yet initialised... Signed-off-by: Trond Myklebust commit 1b45c46cf75d9c48eb611d5cc41607ac1f046606 Author: Trond Myklebust Date: Tue Jul 3 13:04:56 2007 -0400 NFSv4: Fix atomic open for execute... Currently we do not check for the FMODE_EXEC flag as we should. For that particular case, we need to perform an ACCESS call to the server in order to check that the file is executable. Signed-off-by: Trond Myklebust commit 9f958ab8858c75df800e0121b1920182820cbc39 Author: Trond Myklebust Date: Mon Jul 2 13:58:33 2007 -0400 NFSv4: Reduce the chances of an open_owner identifier collision Currently we just use a 32-bit counter. Signed-off-by: Trond Myklebust commit 88d9093997e1c73ca98db41b5605dbde7783845f Author: Trond Myklebust Date: Mon Jul 2 14:03:03 2007 -0400 NFSv4: nfs_increment_open_seqid should not return a value It is a void function... Signed-off-by: Trond Myklebust commit e6889620e89525ebf41f0eed937edb3dc065cf1d Author: Trond Myklebust Date: Mon Jul 2 13:58:30 2007 -0400 NFSv4: Fix underestimate of NFSv4 lookup request size Also fix up the underestimate of fs_locations Signed-off-by: Trond Myklebust commit 2cebf82883f49fd26148da5d9a43d1b4363f1d59 Author: Trond Myklebust Date: Mon Jul 2 13:57:28 2007 -0400 NFSv4: Fix the underestimate of NFSv4 open request size The maximum size depends on the filename size and a number of other elements which are currently not being counted. Signed-off-by: Trond Myklebust commit bd625ba80d84d9de003b8a4bf61fd937b82aca09 Author: Trond Myklebust Date: Sun Jul 8 18:38:23 2007 -0400 NFSv4: Fix the NFSv4 owner and owner_group size estimates Signed-off-by: Trond Myklebust commit 7af654f8d1b7460415af5d1d326233478dd0f563 Author: Trond Myklebust Date: Mon Jul 2 12:49:23 2007 -0400 NFSv4: Don't reuse expired nfs4_state_owner structs That just confuses certain NFSv4 servers. Signed-off-by: Trond Myklebust commit 27b3f949b769a208e2849d28e7ad64cadac5d0e3 Author: Trond Myklebust Date: Mon Jul 2 10:24:56 2007 -0400 NFSv4: Fix a credential reference leak in nfs4_get_state_owner() Signed-off-by: Trond Myklebust commit 587142f85f796cf0b823dd3080e815f02ff6b952 Author: Trond Myklebust Date: Mon Jul 2 09:57:54 2007 -0400 NFS: Replace NFS_I(inode)->req_lock with inode->i_lock There is no justification for keeping a special spinlock for the exclusive use of the NFS writeback code. Signed-off-by: Trond Myklebust commit 4e56e082dd89266d320ccfbc7bd0102186a765ac Author: Trond Myklebust Date: Sun Jul 1 18:13:52 2007 -0400 NFSv4: Clean up _nfs4_proc_lookup() vs _nfs4_proc_lookupfh() They differ only slightly in the arguments they take. Why have they not been merged? Signed-off-by: Trond Myklebust commit 8a702bbb7ddaa2e78c17dbaaf48e3cd5943676f0 Author: Trond Myklebust Date: Wed Jun 27 18:30:26 2007 -0400 SUNRPC: Suppress some noisy and unnecessary printk() calls in call_verify() Convert them into dprintk() calls. Signed-off-by: Trond Myklebust commit 0df7fb74fbb709591301871a38aac7735a1d6583 Author: Trond Myklebust Date: Tue Jun 26 17:04:57 2007 -0400 SUNRPC: Ensure RPCSEC_GSS destroys the security context when freeing a cred Do so by set the gc_proc field to RPC_GSS_PROC_DESTROY, and then sending a NULL RPC call. Signed-off-by: Trond Myklebust commit 0285ed1f12298e5304f0f2642e2cf31a5f302e61 Author: Trond Myklebust Date: Wed Jun 27 14:29:12 2007 -0400 SUNRPC: Ensure that the struct gss_auth lifetime exceeds the credential's Add a refcount in order to ensure that the gss_auth doesn't disappear from underneath us while we're freeing up GSS contexts. Signed-off-by: Trond Myklebust commit 1be27f36601973815171db684c711d30557cf50c Author: Trond Myklebust Date: Wed Jun 27 14:29:04 2007 -0400 SUNRPC: Remove the tk_auth macro... We should almost always be deferencing the rpc_auth struct by means of the credential's cr_auth field instead of the rpc_clnt->cl_auth anyway. Fix up that historical mistake, and remove the macro that propagated it. Signed-off-by: Trond Myklebust commit 1dd17ec693bf4a08b666c2ef76b68ca08ce3c93d Author: Trond Myklebust Date: Tue Jun 26 16:57:41 2007 -0400 SUNRPC: Allow rpc_auth to run clean up before the rpc_client is destroyed RPCSEC_GSS needs to be able to send NULL RPC calls to the server in order to free up any remaining GSS contexts. Signed-off-by: Trond Myklebust commit 5d28dc82074f1e64b22c9424b161abc1f5d6bcdb Author: Trond Myklebust Date: Tue Jun 26 19:18:38 2007 -0400 SUNRPC: Convert gss_ctx_lock to an RCU lock Signed-off-by: Trond Myklebust commit f5c2187cfef628784d8a09b6d0f77888246d0c0f Author: Trond Myklebust Date: Mon Jun 25 17:11:20 2007 -0400 SUNRPC: Convert the credential garbage collector into a shrinker callback Signed-off-by: Trond Myklebust commit 9499b4341b56935f61af9e7e354e7d11e70f5258 Author: Trond Myklebust Date: Sun Jun 24 15:57:57 2007 -0400 SUNRPC: Give credential cache a local spinlock Signed-off-by: Trond Myklebust commit 31be5bf15f3dafffce110eb1afadccbf2e3067b4 Author: Trond Myklebust Date: Sun Jun 24 15:55:26 2007 -0400 SUNRPC: Convert the credcache lookup code to use RCU Signed-off-by: Trond Myklebust commit e092bdcd939416ef911090890096fe07d0281a5e Author: Trond Myklebust Date: Sat Jun 23 19:45:36 2007 -0400 SUNRPC: cleanup rpc credential cache garbage collection Signed-off-by: Trond Myklebust commit fc432dd90760a629c57026e57f65ff80a1a31d2f Author: Trond Myklebust Date: Mon Jun 25 10:15:15 2007 -0400 SUNRPC: Enforce atomic updates of rpc_cred->cr_flags Convert to the use of atomic bitops... Signed-off-by: Trond Myklebust commit 696e38df9d1b256e97b077ecde7afb8dd60364fd Author: Trond Myklebust Date: Mon Jun 25 09:48:25 2007 -0400 SUNRPC: replace casts in auth_unix.c with container_of() Signed-off-by: Trond Myklebust commit 5fe4755e2526a2aa82b7ed8daeb3aed74a236925 Author: Trond Myklebust Date: Sat Jun 23 19:55:31 2007 -0400 SUNRPC: Clean up rpc credential initialisation Add a helper rpc_cred_init() Signed-off-by: Trond Myklebust commit f1c0a8615090359d57e096157feb9f900cbb233c Author: Trond Myklebust Date: Sat Jun 23 20:17:58 2007 -0400 SUNRPC: Mark auth and cred operation tables as constant. Also do the same for gss_api operation tables. Signed-off-by: Trond Myklebust commit de7a8ce38aea529876db3890b61947bc4bc004da Author: Trond Myklebust Date: Sat Jun 23 10:46:47 2007 -0400 SUNRPC: Rename rpcauth_destroy() to rpcauth_release() Signed-off-by: Trond Myklebust commit 5e1550d6a2c2dd33ff0ca5febefd8e9c65c6ca1e Author: Trond Myklebust Date: Sat Jun 23 10:17:16 2007 -0400 SUNRPC: Add the helper function 'rpc_call_null()' Does a NULL RPC call and returns a pointer to the resulting rpc_task. The call may be either synchronous or asynchronous. Signed-off-by: Trond Myklebust commit 64c91a1f1c8bc4295fd6b90df8adf911a7dd64f4 Author: Trond Myklebust Date: Sat Jun 23 10:17:16 2007 -0400 SUNRPC: Make rpc_ping() static Signed-off-by: Trond Myklebust commit fc1b356f566fe05929ec2a88ce2c7b15f8b6279f Author: Trond Myklebust Date: Sat Jun 9 16:15:46 2007 -0400 SUNRPC: Fix races in rpcauth_create See the FIXME: auth_flavors[] really needs a lock and module refcounting. Signed-off-by: Trond Myklebust commit 07a2bf1da4765d987ffd1d8045e92ba032e0ad78 Author: Trond Myklebust Date: Sat Jun 9 15:42:01 2007 -0400 SUNRPC: Fix a memory leak in gss_create() Fix a memory leak in gss_create() whereby the rpc credcache was not being freed if the rpc_mkpipe() call failed. Signed-off-by: Trond Myklebust commit 5c9cfc828ae34e19dabbdb9f2861b8c920454047 Author: Trond Myklebust Date: Sun Jun 24 15:24:29 2007 -0400 SUNRPC: Fix a typo in unx_create() We want to set the unix_cred_cache.nextgc on the first call to unx_create(), which should be when unix_auth.au_count === 1 Signed-off-by: Trond Myklebust commit 3ab9bb7243489f9db3abf3d05521ddfc6b184c0a Author: Trond Myklebust Date: Sat Jun 9 15:41:42 2007 -0400 SUNRPC: Fix a memory leak in the auth credcache code The leak only affects the RPCSEC_GSS caches, since they are the only ones that are dynamically allocated... Rename the existing rpcauth_free_credcache() to rpcauth_clear_credcache() in order to better describe its role, then add a new function rpcauth_destroy_credcache() that actually frees the cache in addition to clearing it out. Also move the call to destroy the credcache in gss_destroy() to come before the rpc upcall pipe is unlinked. Signed-off-by: Trond Myklebust commit 03a1256f06cf1f58e33971fb4a524479e75c200e Author: Trond Myklebust Date: Fri Jun 8 14:14:53 2007 -0400 SUNRPC: Add a field to track the number of kernel users of an rpc_pipe This allows us to correctly deduce when we need to remove the pipe. Signed-off-by: Trond Myklebust commit 62e1761ceff5dbb78c4b4b9486d8ca9fed11b660 Author: Trond Myklebust Date: Fri Jun 8 14:14:46 2007 -0400 SUNRPC: Clean up rpc_pipefs. Add a dentry_ops with a d_delete() method in order to ensure that dentries are removed as soon as the last reference is gone. Clean up rpc_depopulate() so that it only removes files that were created via rpc_populate(). Signed-off-by: Trond Myklebust commit 34f308960818e514fadd9365cb5b14cca319320b Author: Trond Myklebust Date: Thu Jun 7 18:28:02 2007 -0400 SUNRPC: Enable non-exclusive create in rpc_mkpipe() Signed-off-by: Trond Myklebust commit 6e84c7b66a0aa0be16a7728d1e687c57978dac2c Author: Trond Myklebust Date: Thu Jun 7 15:31:36 2007 -0400 SUNRPC: Add a downcall queue to struct rpc_inode Currently, the downcall queue is tied to the struct gss_auth, which means that different RPCSEC_GSS pseudoflavours must use different upcall pipes. Add a list to struct rpc_inode that can be used instead. Signed-off-by: Trond Myklebust commit 3b68aaeaf54065e5c44583a1d33ffb7793953ba4 Author: Trond Myklebust Date: Thu Jun 7 10:14:15 2007 -0400 SUNRPC: Always match an upcall message in gss_pipe_downcall() It used to be possible for an rpc.gssd daemon to stuff the RPC credential cache for any rpc client simply by creating RPCSEC_GSS contexts and then doing downcalls. In practice, no daemons ever made use of this feature. Remove this feature now, since it will be impossible to figure out which mechanism a given context actually matches if we enable more than one gss mechanism to use the same upcall pipe. Signed-off-by: Trond Myklebust commit b185f835e243e654047ae85f42346827d3894171 Author: Trond Myklebust Date: Thu Jun 7 10:14:14 2007 -0400 SUNRPC: Remove the gss_auth spinlock We're just as well off using the inode spinlock instead. Signed-off-by: Trond Myklebust commit 4a8c1344dccb848dbcf0edabc8b5c51a8ecf2808 Author: Trond Myklebust Date: Thu Jun 7 10:14:14 2007 -0400 SUNRPC: Add a backpointer from the struct rpc_cred to the rpc_auth Cleans up an issue whereby rpcsec_gss uses the rpc_clnt->cl_auth. If we want to be able to add several rpc_auths to a single rpc_clnt, then this abuse must go. Signed-off-by: Trond Myklebust commit c1384c9c4c184543375b52a0997d06cd98145164 Author: Trond Myklebust Date: Thu Jun 14 18:00:42 2007 -0400 SUNRPC: fix hang due to eventd deadlock... Brian Behlendorf writes: The root cause of the NFS hang we were observing appears to be a rare deadlock between the kernel provided usermodehelper API and the linux NFS client. The deadlock can arise because both of these services use the generic linux work queues. The usermodehelper API run the specified user application in the context of the work queue. And NFS submits both cleanup and reconnect work to the generic work queue for handling. Normally this is fine but a deadlock can result in the following situation. - NFS client is in a disconnected state - [events/0] runs a usermodehelper app with an NFS dependent operation, this triggers an NFS reconnect. - NFS reconnect happens to be submitted to [events/0] work queue. - Deadlock, the [events/0] work queue will never process the reconnect because it is blocked on the previous NFS dependent operation which will not complete.` The solution is simply to run reconnect requests on rpciod. Signed-off-by: Trond Myklebust commit 6e5b70e9d1e712d8dad5514e0ab5240ac4b5fb57 Author: Trond Myklebust Date: Tue Jun 12 10:02:37 2007 -0400 SUNRPC: clean up rpc_call_async/rpc_call_sync/rpc_run_task Signed-off-by: Trond Myklebust commit 188fef11db219f13f32d055ba59985e7d1a349fe Author: Trond Myklebust Date: Sat Jun 16 14:18:40 2007 -0400 SUNRPC: Move rpc_register_client and friends into net/sunrpc/clnt.c Signed-off-by: Trond Myklebust commit f61534dfd38f895b203e2aadaba04f21a992ca8c Author: Trond Myklebust Date: Thu Jun 14 17:31:58 2007 -0400 SUNRPC: Remove redundant calls to rpciod_up()/rpciod_down() Signed-off-by: Trond Myklebust commit 4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b Author: Trond Myklebust Date: Thu Jun 14 17:26:17 2007 -0400 SUNRPC: Make create_client() take a reference to the rpciod workqueue Ensures that an rpc_client always has the possibility to send asynchronous RPC calls. Signed-off-by: Trond Myklebust commit ab418d70e1fceda1e2824c45ba3323a1b1413507 Author: Trond Myklebust Date: Thu Jun 14 17:08:36 2007 -0400 SUNRPC: Optimise rpciod_up() Instead of taking the mutex every time we just need to increment/decrement rpciod_users, we can optmise by using atomic_inc_not_zero and atomic_dec_and_test. Signed-off-by: Trond Myklebust commit d431a555fcf920e1b5c3e3eba52eb5f5e7836771 Author: Trond Myklebust Date: Sun Jun 17 17:07:54 2007 -0400 SUNRPC: Don't create an rpc_pipefs directory before rpc_clone is initialised Signed-off-by: Trond Myklebust commit 4c402b40970382ded616eadd544fd63feb76cc79 Author: Trond Myklebust Date: Thu Jun 14 16:40:32 2007 -0400 SUNRPC: Remove rpc_clnt->cl_count The kref now does most of what cl_count + cl_user used to do. The only remaining role for cl_count is to tell us if we are in a 'shutdown' phase. We can provide that information using a single bit field instead of a full atomic counter. Also rename rpc_destroy_client() to rpc_close_client(), which reflects better what its role is these days. Signed-off-by: Trond Myklebust commit 8ad7c892e18ff8e6df422eb48ca0f73268ffd632 Author: Trond Myklebust Date: Thu Jun 14 16:40:32 2007 -0400 SUNRPC: Make rpc_clone take a reference instead of using cl_count Signed-off-by: Trond Myklebust commit 90c5755ff5111ffdcca10a1e8a823dba29f37b6d Author: Trond Myklebust Date: Sat Jun 9 19:49:36 2007 -0400 SUNRPC: Kill rpc_clnt->cl_oneshot Replace it with explicit calls to rpc_shutdown_client() or rpc_destroy_client() (for the case of asynchronous calls). Signed-off-by: Trond Myklebust commit 848f1fe6be2e290691bb6c13cbb8fd92bd0cfaab Author: Trond Myklebust Date: Sat Jun 9 19:39:12 2007 -0400 SUNRPC: Kill rpc_clnt->cl_dead Its use is at best racy, and there is only one user (lockd), which has additional locking that makes the whole thing redundant. Signed-off-by: Trond Myklebust commit 34f52e3591f241b825353ba27def956d8487c400 Author: Trond Myklebust Date: Thu Jun 14 16:40:31 2007 -0400 SUNRPC: Convert rpc_clnt->cl_users to a kref Signed-off-by: Trond Myklebust commit c44fe705530ff9ea5e563bf9b65bdd29defe682b Author: Trond Myklebust Date: Sat Jun 16 14:17:01 2007 -0400 SUNRPC: Clean up tk_pid allocation and make it lockless Signed-off-by: Trond Myklebust commit 4bef61ff7514396419563ca54fd42ef846485b06 Author: Trond Myklebust Date: Sat Jun 16 14:17:01 2007 -0400 SUNRPC: Add a per-rpc_clnt spinlock Use that to protect the rpc_clnt->cl_tasks list instead of using a global lock. Signed-off-by: Trond Myklebust commit 6529eba08fe7297852391a468d95322913de73fa Author: Trond Myklebust Date: Thu Jun 14 16:40:14 2007 -0400 SUNRPC: Move rpc_task->tk_task list into struct rpc_clnt Signed-off-by: Trond Myklebust commit c6d00e639bdec5f33460bc95bae4efda7177a6ed Author: Trond Myklebust Date: Sun Jun 17 16:02:44 2007 -0400 NFSv4: Convert struct nfs4_opendata to use struct kref Signed-off-by: Trond Myklebust commit 3bec63db55463365110d00721ed60a31e4614cb6 Author: Trond Myklebust Date: Sun Jun 17 16:02:44 2007 -0400 NFS: Convert struct nfs_open_context to use a kref Signed-off-by: Trond Myklebust commit edc05fc1c24ba49dae585da1b2a22686f0b221f0 Author: Trond Myklebust Date: Sun Jun 17 16:02:34 2007 -0400 NFS: reduce latency by using conditional rescheduling in nfs_scan_list Signed-off-by: Trond Myklebust commit dce34ce298d85b81630401f4feb4bd7ac77fe9c7 Author: Trond Myklebust Date: Sun Jun 17 15:47:53 2007 -0400 NFS: Prevent integer overflow in nfs_scan_list() Also ensure that nfs_inode ncommit and npages are large enough to represent all possible values for the number of pages. Signed-off-by: Trond Myklebust commit 2aefa104313996d1a9582476cee53d1296c834bf Author: Trond Myklebust Date: Sun Jun 17 15:40:59 2007 -0400 NFS: Remove the redundant 'dirty' and 'commit' lists from nfs_inode Signed-off-by: Trond Myklebust commit 5c36968343fcd013a3f7ae93f246c2e75596780b Author: Trond Myklebust Date: Sun Jun 17 15:27:42 2007 -0400 NFS cleanup: speed up nfs_scan_commit using radix tree tags Add a tag for requests that are waiting for a COMMIT Signed-off-by: Trond Myklebust commit 9fd367f0f376ccfb2592eed9be0eece70429894f Author: Trond Myklebust Date: Sun Jun 17 15:10:24 2007 -0400 NFS cleanup: Rename NFS_PAGE_TAG_WRITEBACK to NFS_PAGE_TAG_LOCKED Signed-off-by: Trond Myklebust commit c03b40246123b2ced79e2620d1d2c089bb12369a Author: Trond Myklebust Date: Sun Jun 17 13:26:38 2007 -0400 NFS: Convert struct nfs_page to use krefs Signed-off-by: Trond Myklebust commit a50f7951a31d3b976e829250853f89c9d2da32c0 Author: Trond Myklebust Date: Tue Jun 5 19:23:43 2007 -0400 NFS: Fix an Oops in the nfs_access_cache_shrinker() The nfs_access_cache_shrinker may race with nfs_access_zap_cache(). Signed-off-by: Trond Myklebust commit e2f032e9ef66e33089d09452892696ea97d1dca1 Author: Trond Myklebust Date: Tue Jun 5 19:27:00 2007 -0400 NFS: nfs3_proc_create() should use nfs_post_op_update_inode() Also get rid of a redundant call to nfs_setattr_update_inode(). The call to nfs3_proc_setattr() already takes care of that. Signed-off-by: Trond Myklebust commit aa53ed541a1fec78a78d02afc8b042d040cc080d Author: Jeff Layton Date: Tue Jun 5 14:49:03 2007 -0400 NFS4: on a O_EXCL OPEN make sure SETATTR sets the fields holding the verifier The Linux NFS4 client simply skips over the bitmask in an O_EXCL open call and so it doesn't bother to reset any fields that may be holding the verifier. This patch has us save the first two words of the bitmask (which is all the current client has #defines for). The client then later checks this bitmask and turns on the appropriate flags in the sattr->ia_verify field for the following SETATTR call. This patch only currently checks to see if the server used the atime and mtime slots for the verifier (which is what the Linux server uses for this). I'm not sure of what other fields the server could reasonably use, but adding checks for others should be trivial. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit fc6ae3cf482c385a6fe87ba119d399bb85aa670b Author: Trond Myklebust Date: Tue Jun 5 19:13:47 2007 -0400 NFS: Re-enable forced umounts They disappeared some time around 2.6.18. Signed-off-by: Trond Myklebust commit 83d93f2229348837bf988a1048f7f38789474471 Author: Jeff Layton Date: Thu Jun 7 09:58:08 2007 -0400 NFS: Use GFP_HIGHUSER for page allocation in nfs_symlink() nfs_symlink() allocates a GFP_KERNEL page for the pagecache. Most pagecache pages are allocated using GFP_HIGHUSER, and there's no reason not to do that in nfs_symlink() as well. Signed-off-by: Jeff Layton commit a0356862bcbeb20acf64bc1a82d28a4c5bb957a7 Author: Trond Myklebust Date: Tue Jun 5 13:26:15 2007 -0400 NFS: Fix nfs_reval_fsid() We don't need to revalidate the fsid on the root directory. It suffices to revalidate it on the current directory. Signed-off-by: Trond Myklebust commit b39e625b6e75aa70e26c13f9378756bb5f2af032 Author: Trond Myklebust Date: Mon Jun 11 23:05:07 2007 -0400 NFSv4: Clean up nfs4_call_async() Use rpc_run_task() instead of doing it ourselves. Signed-off-by: Trond Myklebust commit 4a35bd41aff5714deb41c8f14766df3871e2e8f7 Author: Trond Myklebust Date: Tue Jun 5 10:31:33 2007 -0400 NFSv4: Ensure that nfs4_do_close() doesn't race with umount nfs4_do_close() does not currently have any way to ensure that the user won't attempt to unmount the partition while the asynchronous RPC call is completing. This again may cause Oopses in nfs_update_inode(). Add a vfsmount argument to nfs4_close_state to ensure that the partition remains mounted while we're closing the file. Signed-off-by: Trond Myklebust commit ad389da79f7bf9dc12dbc79c9c2740f9ed2f13d1 Author: Trond Myklebust Date: Tue Jun 5 12:30:00 2007 -0400 NFSv4: Ensure asynchronous open() calls always pin the mountpoint A number of race conditions may currently ensue if the user presses ^C and then unmounts the partition while an asynchronous open() is in progress. Signed-off-by: Trond Myklebust commit 539cd03a5708c9861a3e738e6f363ad743c85ddf Author: Trond Myklebust Date: Tue Jun 5 11:46:42 2007 -0400 NFSv4: Cleanup: pass the nfs_open_context to open recovery code Signed-off-by: Trond Myklebust commit 88be9f990fe70f0f177ef44a16a477599e91f825 Author: Trond Myklebust Date: Tue Jun 5 10:42:27 2007 -0400 NFS: Replace vfsmount and dentry in nfs_open_context with struct path Signed-off-by: Trond Myklebust commit de05a0cc2a2ae16eb8d8dbf88fe728ace45beb9a Author: Trond Myklebust Date: Sun May 20 13:05:05 2007 -0400 NFS: Minor read optimisation... Since PG_uptodate may now end up getting set during the call to nfs_wb_page(), we can avoid putting a read request on the wire in those situations. Signed-off-by: Trond Myklebust commit 44dd151d5c21234cc534c47d7382f5c28c3143cd Author: Trond Myklebust Date: Sat May 19 11:58:03 2007 -0400 NFS: Don't mark a written page as uptodate until it is on disk The write may fail, so we should not mark the page as uptodate until we are certain that the data has been accepted and written to disk by the server. Signed-off-by: Trond Myklebust commit d9df8d6b38228afab519094048aa2c082b0b2cf4 Author: Trond Myklebust Date: Tue May 22 10:22:20 2007 -0400 NFS: Don't fail an O_DIRECT read/write if get_user_pages() returns pages There is no need to fail the entire O_DIRECT read/write just because get_user_pages() returned fewer pages than we requested. Signed-off-by: Trond Myklebust commit 070ea60214c1894c9eec86ca9aa5dff57a5ab525 Author: Chuck Lever Date: Sat May 19 17:22:52 2007 -0400 NFS: Clean ups in fs/nfs/direct.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 93ab471889c6662b42ce7da257f31f24c08d7d9e Author: Wade Farnsworth Date: Wed Jul 11 02:55:46 2007 +1000 [POWERPC] Create add_rtc() function to enable the RTC CMOS driver In order to use the RTC CMOS driver, each architecture must register a platform device for the RTC. This creates a function to register the platform device based on the RTC device node and verifies that the RTC port against the hard-coded value in asm/mc146818rtc.h. Signed-off-by: Wade Farnsworth Signed-off-by: Paul Mackerras commit 3c0c9e389bb9618fee2300eea2d135e4db64c4ba Author: Brian King Date: Wed Jul 11 00:41:14 2007 +1000 [POWERPC] Add H_ILLAN_ATTRIBUTES hcall number Adds the number for the H_ILLAN_ATTRIBUTES hcall. Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit a527ad88a2f11f7ccab3038608e5c50ceae570a3 Author: Grant Likely Date: Tue Jul 10 09:51:05 2007 +1000 [POWERPC] xilinxfb: Parameterize xilinxfb platform device registration This allows multiple xilinxfb devices to be registered and used. Signed-off-by: Grant Likely cc: Andrei Konovalov Signed-off-by: Paul Mackerras commit 31a12cece7c71c47e61ab8ed45bbff5aac4c1931 Author: Mike Wolf Date: Tue Jul 10 13:13:47 2007 -0500 [POWERPC] Oprofile support for Power 5++ This adds a new oprofile cpu type for Power 5 revision 3 chips. The new name is ppc64/power5++ and is used so that the performance counters can be set up correctly. Signed-off-by: Mike Wolf Signed-off-by: Paul Mackerras commit c6c656b4b6ddfc964f1a43394bf86bc76c5e8119 Author: Oliver McFadden Date: Wed Jul 11 12:24:10 2007 +1000 r300: updates register header This updates the R300 register names and allows the VAP_PVS_WAITIDLE register to be written. Signed-off-by: Dave Airlie commit ddbee33328dcfb892cd91f2d57a1822f4d6f70d9 Author: Dave Airlie Date: Wed Jul 11 12:16:01 2007 +1000 radeon: add support for vblank on crtc2 This adds support for CRTC2 vblank on radeon similiar to the i915. Signed-off-by: Dave Airlie commit 7c158acef8f0e51c3a5f71133aaf402628370a64 Author: Dave Airlie Date: Wed Jul 11 12:05:36 2007 +1000 drm: cleanup list initialisation Signed-off-by: Dave Airlie commit 6f710105f5a4971078c46ae258cbb76db1ee967a Author: Dave Airlie Date: Mon May 28 19:41:35 2007 +1000 drm: fix typo on code drm getsarea Signed-off-by: Dave Airlie commit da509d7a02cb54938776439edc81f057e39f81e0 Author: Dave Airlie Date: Sat May 26 05:04:51 2007 +1000 drm: remove DRM_GETSAREA and replace with drm_getsarea function Signed-off-by: Dave Airlie commit bd1b331fae2813d9f03ceee649296f02edc0b893 Author: Dave Airlie Date: Sat May 26 05:01:51 2007 +1000 drm: cleanup use of Linux list handling macros This makes the drms use of the list handling macros a lot cleaner and more along the lines of how they should be used and uses them in some more places. Signed-off-by: Dave Airlie commit 814600ee10d3c056ada315cdbdc2ebe48f54c75a Author: Tejun Heo Date: Sun Jul 1 19:05:58 2007 +0900 libata-link: add PMP related ATA constants Add Port Multiplier related ATA constants and macros. Some of these will be used by ata_link implementation. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fee7ca72d3dae1078031b6fd272b9930f43bd3d1 Author: Tejun Heo Date: Sun Jul 1 19:05:58 2007 +0900 libata-link: separate out ata_eh_handle_dev_fail() Separate out ata_eh_handle_dev_fail() from ata_eh_recover(). This is in preparation of ata_link and PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 790956e7bbf0a7b73e72b04d3bd63d974c7e29bb Author: Jeff Garzik Date: Tue Jul 10 21:36:13 2007 -0400 pata_hpt3x3: fix DMA Kconfig option to actually have a hope of working The hook that set DMA mode was accidentally deleted in the original patch. Signed-off-by: Jeff Garzik commit 2f8d90ab797682ab51b27748b960aec8aa42892f Author: Prarit Bhargava Date: Tue Jul 10 18:13:28 2007 -0400 Add Hitachi HDS7250SASUN500G 0621KTAWSD to NCQ blacklist Add Hitachi HDS7250SASUN500G 0621KTAWSD to list of devices with broken NCQ. Signed-off-by: Prarit Bhargava Signed-off-by: Jeff Garzik commit fae57d348379861f115fe1e586a1e0902b71ae9e Author: Akira Iguchi Date: Tue Jul 10 18:29:34 2007 +0900 pata_scc.c: Workaround for errata A308 Workaround for errata A308: turn down the UDMA mode and retry the DMA command when the data lost condition is detected. Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Signed-off-by: Jeff Garzik commit a520f2614690b8d3a7b431a1d8a40ea6a04d4827 Author: Tejun Heo Date: Tue Jul 10 16:16:18 2007 +0900 libata: add FUJITSU MHV2080BH to NCQ blacklist Please warmly welcome the first member from FUJITSU to the prestigious NCQ spurious completion club. This is reported by Serge Van Thillo in bugzilla bug 8730. http://bugzilla.kernel.org/show_bug.cgi?id=8730 Signed-off-by: Tejun Heo Cc: Serge van Thillo Signed-off-by: Jeff Garzik commit 66e7da4e34610e84bdb1bf726031d6c4c88cbbf9 Author: Alan Cox Date: Mon Jul 9 11:46:22 2007 -0700 pata_hpt3x3: major reworking and testing The HPT343/345 (aka 363) is a bit of a warped device. For many setups you need to access the other registers via BAR4 offsets. PIO is now rock solid, DMA isn't. Unfortunately the drivers/ide hpt34x driver is completely broken so doesn't help further debug. Signed-off-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 75683fe7153c3817bb4fd4491e2a5913af6c463e Author: Tejun Heo Date: Thu Jul 5 13:31:27 2007 +0900 libata: clean up horkage handling Horkage handling had the following problems. * dev->horkage was positioned after ATA_DEVICE_CLEAR_OFFSET, so it was cleared before the device is configured. This broke HORKAGE_DIAGNOSTIC. * Some used dev->horkage while others called ata_device_blacklisted() directly. This was at best confusing. This patch moves dev->horkage right after dev->flags and set the field according to the blacklist during device configuration. All users test against dev->horkage. ata_device_blacklisted() now has only one user, make it static. While at it, rename it to ata_dev_blacklisted() for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 39ce7128066f2ac5954bcda9f07f429f28166da3 Author: Tejun Heo Date: Thu Jul 5 12:31:31 2007 +0900 libata: quirk IOMEGA ZIP 250 ATAPI FLOPPY The Zip 250 which chokes on MWDMA SET_XFERMODE sometimes have "Floppy" appeneded to its model number. Quirk it too. http://bugzilla.kernel.org/show_bug.cgi?id=8563 Signed-off-by: Tejun Heo Cc: Hans de Bruin Signed-off-by: Jeff Garzik commit d583bc18812f8da52bf25eef9cd111e5fd46a6ab Author: Tejun Heo Date: Wed Jul 4 18:02:07 2007 +0900 libata: simplify PCI legacy SFF host handling With PCI resource fix up for legacy hosts. We can use the same code path to allocate IO resources and initialize host for both legacy and native SFF hosts. Only IRQ requesting needs to be different. Rename ata_pci_*_native_host() to ata_pci_*_sff_host(), kill all legacy specific functions and use the renamed functions instead. This simplifies code a lot. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 35142ddbf7d81ff3f1d9521611e734b8d5014df2 Author: Domen Puncer Date: Tue Jul 3 10:27:38 2007 +0200 pata_mpc52xx: suspend/resume support Implement suspend and resume routines for mpc52xx ata driver. Tested on Lite5200b with deep-sleep and low-power (not yet in-tree) modes. Signed-off-by: Domen Puncer Signed-off-by: Jeff Garzik commit a77720ad0a4049e4bc6355e4febf899966a48222 Author: Mikael Pettersson Date: Tue Jul 3 01:09:05 2007 +0200 sata_promise: SATA hotplug support, take 2 This patch enables hotplugging of SATA devices in the sata_promise driver. It's been tested successfully on both first- and second-generation Promise SATA chips: SATA150 TX2plus, SATAII150 TX2plus, SATAII150 TX4, SATA300 TX2plus, and SATA300 TX4. The only quirk I've seen is that hotplugging (insertion) on the first-generation SATA150 TX2plus requires a lengthier EH sequence than on the second-generation chips. On the second-generation chips a simple soft reset seems to suffice, but on the first-generation chip there's a "port is slow to respond" after the initial soft reset, after which libata issues a hard reset, and then the device is recognised. The hotplug checks are high up in the interrupt handling path, not deep down in error_intr as in ahci/sata_sil24. That's because the chip doesn't signal hotplug status changes in the per-port status register: instead a global register contains hotplug control and status flags for all ports. I considered following the ahci/sata_sil24 structure, but that would have required non-trivial changes to the interrupt handling path, so I chose to keep the hotplug changes simple and unobtrusive. Signed-off-by: Mikael Pettersson -- This patch depends on the "sata_promise: cleanups" patch. Changes since the previous version (posted June 19): - Correct pdc_interrupt() to increment 'handled' also in the hotplug case. This prevents IRQ_NONE from being returned when an interrupt only has hotplug events to handle, which could confuse the kernel's IRQ machinery. - Added testing on the SATAII150 TX4. drivers/ata/sata_promise.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) Signed-off-by: Jeff Garzik commit 15ce09432a4399e61b57f2ceb564522d6534c15f Author: Alan Cox Date: Fri May 25 20:50:24 2007 +0100 pata_sis: FIFO whack If you are using a SiS controller and the BIOS didn't set it up then the FIFO may be left active when we try and set up the CD. Not convinced this matters but I'd prefer to be safe Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 45a66c1c3ff88e8050dd25e81bafdf79a12a8042 Author: Oleg Nesterov Date: Mon Jul 9 11:46:13 2007 -0700 libata-core: convert to use cancel_rearming_delayed_work() We should not use cancel_work_sync(delayed_work->work). This works, but not good. We can use cancel_rearming_delayed_work(), this also simplifies the code. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4 Author: Alan Cox Date: Tue Jul 10 17:22:27 2007 -0700 lots-of-architectures: enable arbitary speed tty support Add the termios2 structure ready for enabling on most platforms. One or two like Sparc are plain weird so have been left alone. Most can use the same structure as ktermios for termios2 (ie the newer ioctl uses the structure matching the current kernel structure) Signed-off-by: Alan Cox Cc: Bryan Wu Cc: Ian Molton Cc: Haavard Skinnemoen Cc: Yoshinori Sato Cc: Mikael Starvik Cc: David Howells Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Ralf Baechle Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: Miles Bader Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf67e16251c42302499499b1c50f7d35622f564 Author: Pavel Emelianov Date: Tue Jul 10 17:22:26 2007 -0700 Make common helpers for seq_files that work with list_heads Many places in kernel use seq_file API to iterate over a regular list_head. The code for such iteration is identical in all the places, so it's worth introducing a common helpers. This makes code about 300 lines smaller: The first version of this patch made the helper functions static inline in the seq_file.h header. This patch moves them to the fs/seq_file.c as Andrew proposed. The vmlinux .text section sizes are as follows: 2.6.22-rc1-mm1: 0x001794d5 with the previous version: 0x00179505 with this patch: 0x00179135 The config file used was make allnoconfig with the "y" inclusion of all the possible options to make the files modified by the patch compile plus drivers I have on the test node. This patch: Many places in kernel use seq_file API to iterate over a regular list_head. The code for such iteration is identical in all the places, so it's worth introducing a common helpers. Signed-off-by: Pavel Emelianov Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c14d444b55f285063a4018c10d521614b70b581a Author: Jiri Slaby Date: Tue Jul 10 17:22:25 2007 -0700 sx: switch subven and subid values sx.c is failing to locate Graham's card. Signed-off-by: Jiri Slaby Cc: Graham Murray Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64c70b1cf43de158282bc1675918d503e5b15cc1 Author: Richard Purdie Date: Tue Jul 10 17:22:24 2007 -0700 Add LZO1X algorithm to the kernel This is a hybrid version of the patch to add the LZO1X compression algorithm to the kernel. Nitin and myself have merged the best parts of the various patches to form this version which we're both happy with (and are jointly signing off). The performance of this version is equivalent to the original minilzo code it was based on. Bytecode comparisons have also been made on ARM, i386 and x86_64 with favourable results. There are several users of LZO lined up including jffs2, crypto and reiser4 since its much faster than zlib. Signed-off-by: Nitin Gupta Signed-off-by: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54c57dc3b6578356c0a428c767d4bf080254a2ee Author: Eric Sandeen Date: Wed Jun 20 17:15:10 2007 -0700 [PATCH] ocfs2: zero_user_page conversion Signed-off-by: Eric Sandeen Signed-off-by: Mark Fasheh commit b25801038da5823bba1b5440a57ca68afc51b6bd Author: Mark Fasheh Date: Fri Mar 9 16:53:21 2007 -0800 ocfs2: Support xfs style space reservation ioctls We re-use the RESVSP/UNRESVSP ioctls from xfs which allow the user to allocate and deallocate regions to a file without zeroing data or changing i_size. Though renamed, the structure passed in from user is identical to struct xfs_flock64. The three fields that are actually used right now are l_whence, l_start and l_len. This should get ocfs2 immediate compatibility with userspace software using the pre-existing xfs ioctls. Signed-off-by: Mark Fasheh commit 063c4561f52a74de686fe0ff2f96f4f54c9fecd2 Author: Mark Fasheh Date: Tue Jul 3 13:34:11 2007 -0700 ocfs2: support for removing file regions Provide an internal interface for the removal of arbitrary file regions. ocfs2_remove_inode_range() takes a byte range within a file and will remove existing extents within that range. Partial clusters will be zeroed so that any read from within the region will return zeros. Signed-off-by: Mark Fasheh commit 35edec1d52c075975991471d624b33b9336226f2 Author: Mark Fasheh Date: Fri Jul 6 14:41:18 2007 -0700 ocfs2: update truncate handling of partial clusters The partial cluster zeroing code used during truncate usually assumes that the rightmost byte in the range to be zeroed lies on a cluster boundary. This makes sense for truncate, but punching holes might require zeroing on non-aligned rightmost boundaries. Signed-off-by: Mark Fasheh commit d0c7d7082ee1ec4f95ee57bf86ed39d1a27c4037 Author: Mark Fasheh Date: Tue Jul 3 13:27:22 2007 -0700 ocfs2: btree support for removal of arbirtrary extents Add code to the btree paths to support the removal of arbitrary regions within an existing extent. With proper higher level support this can be used to "punch holes" in a file. Truncate (a special case of hole punching) could also be converted to use these methods. Signed-off-by: Mark Fasheh commit 2ae99a60374f360ba07037ebbf33d19b89ac43a6 Author: Mark Fasheh Date: Fri Mar 9 16:43:28 2007 -0800 ocfs2: Support creation of unwritten extents This can now be trivially supported with re-use of our existing extend code. ocfs2_allocate_unwritten_extents() takes a start offset and a byte length and iterates over the inode, adding extents (marked as unwritten) until len is reached. Existing extents are skipped over. Signed-off-by: Mark Fasheh commit b27b7cbcf12a1bfff1ed68a73ddd7d11edc20daf Author: Mark Fasheh Date: Mon Jun 18 11:22:56 2007 -0700 ocfs2: support writing of unwritten extents Update the write code to detect when the user is asking to write to an unwritten extent. Like writing to a hole, we must zero the region between the write and the cluster boundaries. Most of the existing cluster zeroing logic can be re-used with some additional checks for the unwritten flag on extent records. Signed-off-by: Mark Fasheh commit 0d172baa5586071ae0ae0c07356a378fdbedecdb Author: Mark Fasheh Date: Mon May 14 18:09:54 2007 -0700 ocfs2: small cleanup of ocfs2_write_begin_nolock() We can easily seperate out the write descriptor setup and manipulation into helper functions. Signed-off-by: Mark Fasheh commit 328d5752e1259dfb29b7e65f6c2d145fddbaa750 Author: Mark Fasheh Date: Mon Jun 18 10:48:04 2007 -0700 ocfs2: btree changes for unwritten extents Writes to a region marked as unwritten might result in a record split or merge. We can support splits by making minor changes to the existing insert code. Merges require left rotations which mostly re-use right rotation support functions. Signed-off-by: Mark Fasheh commit c3afcbb34426a9291e4c038540129053a72c3cd8 Author: Mark Fasheh Date: Tue May 29 14:28:51 2007 -0700 ocfs2: abstract btree growing calls The top level calls and logic for growing a tree can easily be abstracted out of ocfs2_insert_extent() into a seperate function - ocfs2_grow_tree(). This allows future code to easily grow btrees when needed. Signed-off-by: Mark Fasheh commit 1f6697d072e6fd0b332a4301c21060dcb89bd623 Author: Mark Fasheh Date: Mon Jun 25 14:53:33 2007 -0700 ocfs2: use all extent block suballocators Now that we have a method to deallocate blocks from them, each node should allocate extent blocks from their local suballocator file. Signed-off-by: Mark Fasheh commit 59a5e416d1ab543a5248a2b34d83202c4d55d132 Author: Mark Fasheh Date: Fri Jun 22 15:52:36 2007 -0700 ocfs2: plug truncate into cached dealloc routines Signed-off-by: Mark Fasheh commit 2b604351bc99b4e4504758cbac369b660b71de0b Author: Mark Fasheh Date: Fri Jun 22 15:45:27 2007 -0700 ocfs2: simplify deallocation locking Deallocation of suballocator blocks, most notably extent blocks, might involve multiple suballocator inodes. The locking for this can get extremely complicated, especially when the suballocator inodes to delete from aren't known until deep within an unrelated codepath. Implement a simple scheme for recording the blocks to be unlinked so that the actual deallocation can be done in a context which won't deadlock. Signed-off-by: Mark Fasheh commit bce997682fe3121516f5a20cf7bad2e6029ba018 Author: Mark Fasheh Date: Mon Jun 18 11:12:36 2007 -0700 ocfs2: harden buffer check during mapping of page blocks We don't want to submit buffer_new blocks for read i/o. This actually won't happen right now because those requests during an allocating write are all nicely aligned. It's probably a good idea to provide an explicit check though. Signed-off-by: Mark Fasheh commit 7307de80510a70e5e5aa98de1e80ccbb7d90a3a8 Author: Mark Fasheh Date: Wed May 9 15:16:19 2007 -0700 ocfs2: shared writeable mmap Implement cluster consistent shared writeable mappings using the ->page_mkwrite() callback. Signed-off-by: Mark Fasheh commit 607d44aa3fa6f40b0facaf1028886ed362b92682 Author: Mark Fasheh Date: Wed May 9 15:14:45 2007 -0700 ocfs2: factor out write aops into nolock variants ocfs2_mkwrite() will want this so that it can add some mmap specific checks before asking for a write. Signed-off-by: Mark Fasheh commit 3a307ffc2730bfa1a4dfa94537be9d412338aad2 Author: Mark Fasheh Date: Tue May 8 17:47:32 2007 -0700 ocfs2: rework ocfs2_buffered_write_cluster() Use some ideas from the new-aops patch series and turn ocfs2_buffered_write_cluster() into a 2 stage operation with the caller copying data in between. The code now understands multiple cluster writes as a result of having to deal with a full page write for greater than 4k pages. This sets us up to easily call into the write path during ->page_mkwrite(). Signed-off-by: Mark Fasheh commit 2e89b2e48e1da09ed483f195968c9172aa95b5e2 Author: Mark Fasheh Date: Wed May 9 13:40:18 2007 -0700 ocfs2: take ip_alloc_sem during entire truncate Use of the alloc sem during truncate was too narrow - we want to protect the i_size change and page truncation against mmap now. Signed-off-by: Mark Fasheh commit baf4661a8225d3a39622b795a8db0e6aa845c1ec Author: Sunil Mushran Date: Mon Jun 18 17:00:24 2007 -0700 ocfs2: Add "preferred slot" mount option ocfs2 will attempt to assign the node the slot# provided in the mount option. Failure to assign the preferred slot is not an error. This small feature can be useful for automated testing. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 5fb0f7f010ba07e373c30c3e99b0efd868c6c977 Author: Shani Moideen Date: Mon Jun 11 09:38:19 2007 +0530 [KJ PATCH] Replacing memset(,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c Replacing memset(,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c Signed-off-by: Shani Moideen Signed-off-by: Mark Fasheh commit 800deef3f6f87fee3a2e89cf7237a1f20c1a78d7 Author: Christoph Hellwig Date: Thu May 17 16:03:13 2007 +0200 [PATCH] ocfs2: use list_for_each_entry where benefical Signed-off-by: Christoph Hellwig Signed-off-by: Mark Fasheh commit e6df3a663a5d1ee68aeae7f007197f272700d9cc Author: Joel Becker Date: Tue Feb 6 15:45:39 2007 -0800 ocfs2: Wake up a starting region if it gets killed in the background. Tell o2cb_region_dev_write() to wake up if rmdir(2) happens on the heartbeat region while it is starting up. Then o2hb_region_dev_write() can check to see if it is alive and act accordingly. This prevents a hang (not being woken) and a crash (if it's woken by a signal). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 16c6a4f24de2933b26477ad5dfb71f518220d641 Author: Joel Becker Date: Tue Jun 19 11:34:03 2007 -0700 ocfs2: live heartbeat depends on the local node configuration Removing the local node configuration out from underneath a running heartbeat is "bad". Provide an API in the ocfs2 nodemanager to request a configfs dependancy on the local node, then use it in heartbeat. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 14829422be6d6b6721f61b1e749acf5a9cb664d8 Author: Joel Becker Date: Thu Jun 14 21:40:49 2007 -0700 ocfs2: Depend on configfs heartbeat items. ocfs2 mounts require a heartbeat region. Use the new configfs_depend_item() facility to actually depend on them so they can't go away from under us. First, teach cluster/nodemanager.c to depend an item on the o2cb subsystem. Then teach o2hb_register_callbacks to take a UUID and depend on the appropriate region. Finally, teach all users of o2hb to pass a UUID or NULL if they don't require a pin. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 631d1febab8e546e3bb800bdfe2c212b8adf87de Author: Joel Becker Date: Mon Jun 18 18:06:09 2007 -0700 configfs: config item dependancies. Sometimes other drivers depend on particular configfs items. For example, ocfs2 mounts depend on a heartbeat region item. If that region item is removed with rmdir(2), the ocfs2 mount must BUG or go readonly. Not happy. This provides two additional API calls: configfs_depend_item() and configfs_undepend_item(). A client driver can call configfs_depend_item() on an existing item to tell configfs that it is depended on. configfs will then return -EBUSY from rmdir(2) for that item. When the item is no longer depended on, the client driver calls configfs_undepend_item() on it. These API cannot be called underneath any configfs callbacks, as they will conflict. They can block and allocate. A client driver probably shouldn't calling them of its own gumption. Rather it should be providing an API that external subsystems call. How does this work? Imagine the ocfs2 mount process. When it mounts, it asks for a heart region item. This is done via a call into the heartbeat code. Inside the heartbeat code, the region item is looked up. Here, the heartbeat code calls configfs_depend_item(). If it succeeds, then heartbeat knows the region is safe to give to ocfs2. If it fails, it was being torn down anyway, and heartbeat can gracefully pass up an error. [ Fixed some bad whitespace in configfs.txt. --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 299894cc9001b09e3e9685f2709b49e7e1092ccc Author: Joel Becker Date: Fri Oct 6 17:33:23 2006 -0700 configfs: accessing item hierarchy during rmdir(2) Add a notification callback, ops->disconnect_notify(). It has the same prototype as ->drop_item(), but it will be called just before the item linkage is broken. This way, configfs users who want to do work while the object is still in the heirarchy have a chance. Client drivers will still need to config_item_put() in their ->drop_item(), if they implement it. They need do nothing in ->disconnect_notify(). They don't have to provide it if they don't care. But someone who wants to be notified before ci_parent is set to NULL can now be notified. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 6d748924b753d63a57dad130fdf11f64c27ff54b Author: Johannes Berg Date: Fri Jun 22 11:20:00 2007 +0200 [PATCH] configsfs buffer: use mutex Seems copied from sysfs, but I don't see a reason here nor there to use a semaphore instead of a mutex. Convert. Signed-off-by: Johannes Berg Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit e6bd07aee739566803425acdbf5cdb29919164e1 Author: Joel Becker Date: Fri Jul 6 23:33:17 2007 -0700 configfs: Convert subsystem semaphore to mutex Convert the su_sem member of struct configfs_subsystem to a struct mutex, as that's what it is. Also convert all the users and update Documentation/configfs.txt and Documentation/configfs_example.c accordingly. [ Conflict in fs/dlm/config.c with commit 3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ] Inspired-by: Satyam Sharma Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 3fe6c5ce1176cf661dbe71fc43b627c1a742a89a Author: Satyam Sharma Date: Wed Jul 4 16:37:16 2007 +0530 [PATCH] configfs+dlm: Rename config_group_find_obj and state semantics clearly Configfs being based upon sysfs code, config_group_find_obj() is probably so named because of the similar kset_find_obj() in sysfs. However, "kobject"s in sysfs become "config_item"s in configfs, so let's call it config_group_find_item() instead, for sake of uniformity, and make corresponding change in the users of this function. BTW a crucial difference between kset_find_obj and config_group_find_item is in locking expectations. kset_find_obj does its locking by itself, but config_group_find_item expects the *caller* to do the locking. The reason for this: kset's have their own locks, config_group's don't but instead rely on the subsystem mutex. And, subsystem needn't necessarily be around when config_group_find_item() is called. So let's state these locking semantics explicitly, and rectify the comment, otherwise bugs could continue to occur in future, as they did in the past (refer commit d82b8191e238 in gfs2-2.6-fixes.git). [ I also took the opportunity to fix some bad whitespace and double-empty lines. --Joel ] [ Conflict in fs/dlm/config.c with commit 3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ] Signed-off-by: Satyam Sharma Cc: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9b1d9aa4e9c5cafe73b9df21d758b50b5d75264d Author: Satyam Sharma Date: Wed Jul 4 16:37:06 2007 +0530 [PATCH] configfs+dlm: Separate out __CONFIGFS_ATTR into configfs.h fs/dlm/config.c contains a useful generic macro called __CONFIGFS_ATTR that is similar to sysfs' __ATTR macro that makes defining attributes easy for any user of configfs. Separate it out into configfs.h so that other users (forthcoming in dynamic netconsole patchset) can use it too. Signed-off-by: Satyam Sharma Cc: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4c62b53454a83178676e5ecae6665447d363c7b4 Author: Satyam Sharma Date: Wed Jun 27 16:02:14 2007 +0530 configfs: misc cleanups 1. item.c:config_item_cleanup() is a private function (only called by config_item_release() in same file). However, it is spuriously exported in include/linux/configfs.h, so remove that export and make it static in item.c. Also, it is no longer exported / interface function, so no need to give comment for this function (the comment was stating obvious thing, anyway). 2. Kernel-doc comment format does not allow empty line between end of comment and start of function (declaration line). There were several such spurious empty lines in item.c, so fix them. fs/configfs/item.c | 15 +++------------ include/linux/configfs.h | 1 - 2 files changed, 3 insertions(+), 13 deletions(-) Signed-off-by: Satyam Sharma Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b23cdde4c6240d70bb3d2e3c4046b60d6f6c8451 Author: Joel Becker Date: Fri Jun 22 13:07:02 2007 -0700 configfs: consistent attribute size The attribute store/show code currently limits attributes at PAGE_SIZE. This code comes from sysfs, where it still works that way. However, PAGE_SIZE is not constant. A 16k attribute string works on ia64 but not on x86. Really a subsystem shouldn't allow different attribute sizes based on platform. As such, limit all simple attributes to 4k. This works on all platforms, and is consistent with all current code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1b844afe9e67d6cd441ae6df71051b4004f31dd2 Author: Roland Dreier Date: Tue Jul 10 13:43:53 2007 -0700 IPoIB: Recycle loopback skbs instead of freeing and reallocating InfiniBand HCAs replicate multicast packets back to the QP that sent them if that QP is attached to the destination multicast group. This means that IPoIB multicasts are often replicated back to the receive queue of the interface that generated them. To avoid confusing the network stack, we drop these duplicates within the IPoIB driver. However, there's no reason to free the skb that received the duplicate and then immediately allocate a new skb to post to the receive queue. We can be more efficient and just repost the same skb. Signed-off-by: Roland Dreier commit 8909c571fa1e62e254c4045394e6eaccfadec6f4 Author: Shani Moideen Date: Mon Jun 18 08:46:41 2007 +0530 IB/mthca: Replace memset(, 0, PAGE_SIZE) with clear_page() Signed-off-by: Shani Moideen Signed-off-by: Roland Dreier ---- commit 4ad072c984ebe329c99965ddd1e58b0bb24af12b Author: Adrian Bunk Date: Mon Jul 9 11:51:12 2007 -0700 bonding/bond_main.c: make 2 functions static Signed-off-by: Adrian Bunk Cc: Chad Tindel Cc: Jay Vosburgh Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4cf92a3cd9117cb90ad9441172b9f42b67ee9d26 Author: Jean Tourrilhes Date: Mon Jul 9 20:37:36 2007 -0500 [PATCH] softmac: Fix ESSID problem Victor Porton reported that the SoftMAC layer had random problem when setting the ESSID : http://bugzilla.kernel.org/show_bug.cgi?id=8686 After investigation, it turned out to be worse, the SoftMAC layer is left in an inconsistent state. The fix is pretty trivial. Signed-off-by: Jean Tourrilhes Acked-by: Michael Buesch Acked-by: Larry Finger Signed-off-by: John W. Linville commit 426921bda10c33231e2b335e4ad08bc755c50740 Author: Matthias Kaehlcke Date: Mon Jul 9 12:03:32 2007 -0700 [PATCH] use list_for_each_entry() for iteration in Prism 54 driver Use list_for_each_entry() instead of manual iteration and substitute a list_for_each_safe() loop with list_for_each_entry_safe() Signed-off-by: Matthias Kaehlcke Cc: Christoph Hellwig Acked-by: Luis R. Rodriguez Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 777fa98194f91dae24fd12de47eec1cbb0375b29 Author: Dan Williams Date: Fri Jul 6 07:59:40 2007 -0400 [PATCH] libertas: fix disabling WPA Found by Guillaume LECERF Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 20089ca55786a243c7b72becd1bf670f4e2c2028 Author: Roland Dreier Date: Tue Jul 10 11:18:34 2007 -0700 IPoIB/cm: Fix warning if IPV6 is not enabled Fix drivers/infiniband/ulp/ipoib/ipoib_cm.c:1151: warning: unused variable 'dev' by getting rid of the variable dev, which is only used if CONFIG_IPV6 is enabled, and replacing the one use of it with the value it is assigned, namely priv->dev. Signed-off-by: Roland Dreier commit 6b62472a5ff9605aafa43a0a341c32127821f7b2 Author: Adrian Bunk Date: Sun Jul 1 22:20:40 2007 +0200 [PATCH] drivers/net/wireless/libertas/wext.c: remove dead code This patch removes dead code introduced by commit 90a42210f275e1f828eb6c08bf8252c2d6a774e0 and spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 74553aedd46b3a2cae986f909cf2a3f99369decc Author: Daniel Drake Date: Sun Jul 1 18:22:32 2007 +0100 [PATCH] zd1211rw: Defer firmware load until first ifup While playing with the firmware a while back, I discovered a way to access the device's entire address space before the firmware has been loaded. Previously we were loading the firmware early on (during probe) so that we could read the MAC address from the EEPROM and register a netdevice. Now that we can read the EEPROM without having firmware, we can defer firmware loading until later while still reading the MAC address early on. This has the advantage that zd1211rw can now be built into the kernel -- previously if this was the case, zd1211rw would be loaded before the filesystem is available and firmware loading would fail. Firmware load and other device initialization operations now happen the first time the interface is brought up. Some architectural changes were needed: handling of the is_zd1211b flag was moved into the zd_usb structure, MAC address handling was obviously changed, and a preinit_hw stage was added (the order is now: init, preinit_hw, init_hw). Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 93f510bbac64f552ef6872a39ae12afa06c4e999 Author: Daniel Drake Date: Sun Jul 1 18:22:21 2007 +0100 [PATCH] zd1211rw: Add ID for Buffalo WLI-U2-KG54L Tested by Zen Kato zd1211b chip 0411:00da v4810 high 00-16-01 AL2230S_RF pa0 g--N- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 4418583cbf6fcdb715fcdc3719393cfb64b73e97 Author: Daniel Drake Date: Sun Jul 1 18:22:04 2007 +0100 [PATCH] zd1211rw: Detect more AL2230S radios Zen Kato has a device which reports the 0xa RF type. The vendor driver treats this as AL2230S, the same as devices with the AL2230S bit in the POD. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 86d95c214357df0e27dc6af493b62a1073e9d6b2 Author: Daniel Drake Date: Sun Jul 1 18:21:49 2007 +0100 [PATCH] zd1211rw: Allow channels 1-11 for unrecognised regulatory domains Zen Kato's device has a regulatory domain value of 0x49, which is not an IEEE 802.11 code and is not even identified in the vendor driver. Recent versions of the vendor driver don't even look at the regdomain value any more, and just allow channels 1-11 everywhere. This patch brings us more in line with that behaviour, by allowing channels 1-11 for regdomains which we don't know about. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 02c1889166b47b9ade309a8f4b7c4ddf0489d869 Author: Masakazu Mokuno Date: Thu Jul 5 20:11:16 2007 +0900 ps3: gigabit ethernet driver for PS3, take3 Hi, This is the third submission of the network driver for PS3. The differences from the previous one are: - renamed source file names so that their prefix can match with the module name - added cbe-oss-dev@ozlabs.org line for MAINTAINER file - changed some in copyright comments If there are no more comments, please apply for 2.6.23. Thank you -- Subject: PS3: Ethernet driver From: Masakazu Mokuno Add Gigabit Ethernet support for the PS3 game console. The module will be called ps3_gelic. CC: Geoff Levand Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit fb038c279694638cb3cd24d496062ae38700f542 Author: Michal Schmidt Date: Fri Jun 29 15:33:52 2007 +0200 [PATCH] airo: start with radio off Don't turn the radio on until the interface is up. This saves some power in case the driver is loaded but the card is not used. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 175ec1a1fa78c784f5f99ad56c2274f58bcb35f1 Author: Michal Schmidt Date: Fri Jun 29 15:33:47 2007 +0200 [PATCH] airo: simpler calling convention for enable_MAC() Callers of enable_MAC() shouldn't have to worry about the bits in the response's status word (and most of them don't). The return value is sufficient information. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 1138c37b66c16a5c7b49389ae566a4d73d60c2aa Author: Michal Schmidt Date: Fri Jun 29 15:33:41 2007 +0200 [PATCH] airo: fix a race causing initialization failures Matteo Croce reported Aironet initialization failures. They were caused by a race in airo. airo finds a free interface name, then initializes the card and finally registers the interface. Another device may get the same name in the meantime. The reason airo gets its name early is to use it in informative printks and to name the resources it requests. The printks will be just fine without the interface name and the resources can use the driver's name - that's what other network drivers do anyway. One of the talkative functions is setup_card(). It is called once before registration and can be called later again. Let's have an empty dev->name during the first call, so it doesn't print the ugly "airo(eth%d)" message. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 1c2b7db8c8c4212761fcb5190a4122afd5e02d58 Author: Michal Schmidt Date: Fri Jun 29 15:33:36 2007 +0200 [PATCH] airo: delay some initialization until the netdev is up airo's kernel thread and the IRQ handler are needed only when the interface is up. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 777ec5e9cec521af617fc52a1c1ae24f68f4a43b Author: Michal Schmidt Date: Fri Jun 29 15:33:30 2007 +0200 [PATCH] airo: disable the PCI device when unloading module Fix an assymetry between pci_{enable,disable}_device. airo did not disable the PCI device when unloading the module. This caused suspend failures after modprobe -r airo && modprobe airo. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit def47c5095d53814512bb0c62ec02dfdec769db1 Author: Jeff Garzik Date: Tue Jul 10 14:06:48 2007 -0400 [netdrvr] Fix dependencies for ax88796 ne2k clone driver It needs writesb(), not available on all platforms. Signed-off-by: Jeff Garzik commit 856c52a741950dc0be2c5c231efec626e9a0a3fa Author: Dotan Barak Date: Tue Jul 10 16:55:57 2007 +0300 IB/core: Take sizeof the correct pointer when calling kmalloc() When allocating out_mad in show_pma_counter(), take sizeof *out_mad instead of sizeof *in_mad. It is true that today the type of in_mad and out_mad are the same, but this patch will give us a cleaner code. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit a62056f0b0cfdc175afd99fef80a68f01cdf0f4b Author: Stephen Hemminger Date: Fri Jun 22 21:46:50 2007 -0700 [PATCH] ipw2100: RF kill switch timer power save Similar patch to ipw2200. Round the timer used for RF kill switch off to 1 second boundary to save power. Build tested only, don't have this hardware. Signed-off-by: Stephen Hemminger Signed-off-by: John W. Linville commit 1c9d5e41e32a3bfe60f44e3272c05d14ea595a71 Author: Stephen Hemminger Date: Fri Jun 22 21:34:06 2007 -0700 [PATCH] ipw2200: rf kill switch polling power saving Make the ipw2200 driver polling of rf kill switch occur on second boundaries to reduce power. Making all the wakeup's in the system occur together reduces power, and keeps CPU in idle longer. Signed-off-by: Stephen Hemminger Signed-off-by: John W. Linville commit 899413de1a6c9f999f677526df5205a9a70dcd93 Author: Michael Wu Date: Thu Jun 14 00:33:48 2007 -0700 [PATCH] rtl8187: fix endianness issue in rtl8225 register writing I failed to notice that a u16 was being passed to the hardware. This fixes it. Thanks to Kasper F. Brandt for finding this! Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit d082b9b5c6edf2e1d241af4630f12f0e5e2d2377 Author: Holger Schurig Date: Mon Jul 2 10:50:32 2007 +0200 [PATCH] libertas: fix use-after-free in rx path ... by removing an ill-conceived, useless line. Discovered by coverity. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 26710dcf84236ea20a92a00b4828a5f9a1729795 Author: Robert P. J. Day Date: Mon Jul 2 13:34:55 2007 -0400 [PATCH] WIRELESS: Remove clearly obsolete libertas/version.h file. Remove a header file that was ostensibly "removed" before, in commit 3ce40232. Signed-off-by: Robert P. J. Day Signed-off-by: John W. Linville commit 4c3ca4da8086c3c9fcc81dccc387c34bee6b755e Author: Jan-Bernd Themann Date: Thu Jul 5 09:26:25 2007 +0200 eHEA: Capability flag for DLPAR support This patch introduces a capability flag that is used by the DLPAR userspace tool to check which DLPAR features are supported by the eHEA driver. Missing goto has been included. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit e1abecc48938fbe1966ea6e78267fc673fa59295 Author: Jeff Garzik Date: Tue Jul 10 12:58:33 2007 -0400 Remove sk98lin ethernet driver. Unmaintained, superceded by skge. Prodded to deletion by Adrian Bunk. Acked by Stephen Hemminger. Signed-off-by: Jeff Garzik commit cd6f5b8051efe03b90a1dd6d63a642f78ec4e60d Author: Adrian Bunk Date: Tue Jul 10 14:44:49 2007 +0200 sunhme.c:quattro_pci_find() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x272f8b): Section mismatch: reference to .init.text:quattro_pci_find (between 'happy_meal_pci_probe' and 'happy_meal_pci_remove') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit c2edacf80e155ef54ae4774379d461b60896bc2e Author: Jay Vosburgh Date: Mon Jul 9 10:42:47 2007 -0700 bonding / ipv6: no addrconf for slaves separately from master At present, when a device is enslaved to bonding, if ipv6 is active then addrconf will be initated on the slave (because it is closed then opened during the enslavement processing). This causes DAD and RS packets to be sent from the slave. These packets in turn can confuse switches that perform ipv6 snooping, causing them to incorrectly update their forwarding tables (if, e.g., the slave being added is an inactve backup that won't be used right away) and direct traffic away from the active slave to a backup slave (where the incoming packets will be dropped). This patch alters the behavior so that addrconf will only run on the master device itself. I believe this is logically correct, as it prevents slaves from having an IPv6 identity independent from the master. This is consistent with the IPv4 behavior for bonding. This is accomplished by (a) having bonding set IFF_SLAVE sooner in the enslavement processing than currently occurs (before open, not after), and (b) having ipv6 addrconf ignore UP and CHANGE events on slave devices. The eql driver also uses the IFF_SLAVE flag. I inspected eql, and I believe this change is reasonable for its usage of IFF_SLAVE, but I did not test it. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 89c0d26be7037cd5bbce3bbf12580ba70ed8f382 Author: Alexey Dobriyan Date: Fri Jul 6 19:05:25 2007 +0400 atl1: remove write-only var in tx handler Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 099575b6cb7eaf18211ba72de56264f67651b90b Author: Alexey Dobriyan Date: Fri Jul 6 18:57:13 2007 +0400 macmace: use "unsigned long flags;" Code will do local_irq_save() on it. Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 9514bfe5d92000a9fd6f3c44aa775819b5d78aaf Author: Peter Korsgaard Date: Tue Jul 3 00:46:42 2007 +0200 Cleanup usbnet_probe() return value handling usbnet_probe() handles a positive return value from the driver bind() function as success, but will later only setup the status handler if the return value was zero, leading to confusion. Patch adjusts this to accept positive values as success in both checks. Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 4638aef1e2d8d938e52cd49f6492e9d414b38380 Author: Stephen Hemminger Date: Thu Jul 5 16:13:55 2007 -0700 netxen: deinline and sparse fix Get rid of dubious casts to (void *) which causes a sparse warning. And move largeish function from inline to the one file that uses the code, the compiler can then decide to inline it. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8abd531e3f77188de2fc41e677d075cc66e61631 Author: Francois Romieu Date: Wed Jul 4 00:31:44 2007 +0200 eeprom_93cx6: shorten pulse timing to match spec (bis) Based on an original idea by John W. Linville. It is the missing part of 42d45ccd60636c28e35c2016f091783bc14ad99c Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 85cfb534280dd6a7c7ac399bb2888e1b8b286ece Author: Olof Johansson Date: Tue Jul 3 16:24:32 2007 -0500 phylib: Add Marvell 88E1112 phy id Add 88E1112 PHY ID to the marvell driver. Seems to do fine with the 88E1111 inits. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit e54792396fb658b97e2f7b0541c6334020e1a3ec Author: Olof Johansson Date: Tue Jul 3 16:23:46 2007 -0500 phylib: cleanup marvell.c a bit Simplify the marvell driver init a bit: Make the supported devices an array instead of explicitly registering each structure. This makes it considerably easier to add new devices down the road. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 825a2ff1896ec3ead94bebef60c71f57254da58a Author: Ben Dooks Date: Tue Jul 3 16:53:09 2007 +0100 AX88796 network driver Support for the Asix AX88796 network controller, an NE2000 compatible 10/100 ethernet device with internal PHY. The driver supports PHY settings via either ioctl() or the ethtool driver ops. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 105b1bca4d7bed85bb296f7e7caec2fc643e9fbf Author: Robert P. J. Day Date: Tue Jul 10 06:37:56 2007 -0400 [MIPS] PNX8550: Cleanup proc code. Here's a slightly cleaner way of creating the /proc structure for the pnx8850. mostly, it creates a directory with default mode 555, since the one you're creating is mode 444, which is somewhat unusual for a directory under /proc. Signed-off-by: Ralf Baechle commit 569fb7536ea66e3364a8ff0b26598c6c9874d657 Author: Ralf Baechle Date: Tue Jul 10 16:56:33 2007 +0100 [MIPS] WRPPMC: Fix build. Using another systems defines is a safe way to get your code broken by accident when that system is removed. Signed-off-by: Ralf Baechle commit 44659f29a0a26dcdbf516a82b0ff96d6ba464724 Author: Ralf Baechle Date: Tue Jul 10 16:31:19 2007 +0100 [MIPS] Yosemite: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x974): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x980): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x978): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x984): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x98c): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x990): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') Signed-off-by: Ralf Baechle commit 7e95a016f844fc660bf80065413998a784a78988 Author: Atsushi Nemoto Date: Wed Jul 11 00:24:14 2007 +0900 [MIPS] Change names of local variables to silence sparse This patch is an workaround for these sparse warnings: linux/include/linux/calc64.h:25:17: warning: symbol '__quot' shadows an earlier one linux/include/linux/calc64.h:25:17: originally declared here linux/include/linux/calc64.h:25:17: warning: symbol '__mod' shadows an earlier one linux/include/linux/calc64.h:25:17: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 62b396358e837549f20068ed9c3d2bcf99d9ad2d Author: Ralf Baechle Date: Tue Jul 10 16:10:56 2007 +0100 [MIPS] SB1: Fix modpost warning. MODPOST vmlinux WARNING: arch/mips/mm/built-in.o(.text+0x1978): Section mismatch: reference to .init.text:except_vec2_sb1 (between 'sb1_cache_init' and 'sb1_flush_cache_sigtramp') WARNING: arch/mips/mm/built-in.o(.text+0x1988): Section mismatch: reference to .init.text:except_vec2_sb1 (between 'sb1_cache_init' and 'sb1_flush_cache_sigtramp') Signed-off-by: Ralf Baechle commit f2c4b47f26c9d3ba32fb51e574d8cacce30f744d Author: Ralf Baechle Date: Tue Jul 10 15:04:06 2007 +0100 [MIPS] PNX: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/philips/pnx8550/common/built-in.o(.text+0xd40): Section mismatch: reference to .init.data: (after 'pnx8550_platform_init') WARNING: arch/mips/philips/pnx8550/common/built-in.o(.text+0xd44): Section mismatch: reference to .init.data: (after 'pnx8550_platform_init') Signed-off-by: Ralf Baechle commit 070c7b8611e852099370b17eaeb470407cb80ffe Author: Ralf Baechle Date: Tue Jul 10 09:35:12 2007 +0100 [MIPS] Alchemy: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/au1000/common/built-in.o(.text+0x1750): Section mismatch: reference to .init.data: (between 'au1xxx_platform_init' and '__fixup_bigphys_addr') WARNING: arch/mips/au1000/common/built-in.o(.text+0x1754): Section mismatch: reference to .init.data: (between 'au1xxx_platform_init' and '__fixup_bigphys_addr') Signed-off-by: Ralf Baechle commit 35c700c0955c43e168c45d375f90a0670be8f054 Author: Ralf Baechle Date: Tue Jul 10 08:59:17 2007 +0100 [MIPS] Non-FPAFF: Fix warning. Signed-off-by: Ralf Baechle commit bf74b964775009071cf12f9d59d4dd5e388fbe0b Author: Ralf Baechle Date: Tue Jul 10 08:14:15 2007 +0100 [MIPS] DEC: Fix modpost warning. LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: drivers/built-in.o(.data+0x2480): Section mismatch: reference to .init.text: (between 'sercons' and 'ds_parms') Signed-off-by: Ralf Baechle commit 46cc84bf412f95610b25e59d575aada6a5512f3a Author: Ralf Baechle Date: Mon Jul 9 19:20:20 2007 +0100 [MIPS] MIPSsim: Enable MIPSsim virtual network driver. Signed-off-by: Ralf Baechle commit 688b3d720820a9e3e2e9d5882be64a28f649e206 Author: Ralf Baechle Date: Mon Jul 9 16:29:16 2007 +0100 [MIPS] Delete Ocelot 3 support. Signed-off-by: Ralf Baechle commit c99cabf034d42c9e4a9c1ed9dfd26411b2fb9b57 Author: Yoichi Yuasa Date: Mon Jul 9 13:10:55 2007 +0900 [MIPS] remove LASAT Networks platforms support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ecd27b92fbb41f779d857632a69bd45dbaf0f915 Author: Chris Dearman Date: Fri Jul 6 17:11:20 2007 +0100 [MIPS] Early check for SMTC kernel on non-MT processor Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 83fd38cabc982db041d3586a15734713f45caa31 Author: Atsushi Nemoto Date: Sat Jul 7 23:21:49 2007 +0900 [MIPS] Add debugfs files to show fpuemu statistics Export contents of struct mips_fpu_emulator_stats via debugfs. There is no way to read these statistics for now but they (at least the "emulated" count) might be sometimes useful for performance tuning on FPU-less CPUs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6312e0ee45236b6882cd26b2ccc167b1b91646fc Author: Atsushi Nemoto Date: Sat Jun 30 00:55:48 2007 +0900 [MIPS] Add some debugfs files to debug unaligned accesses Currently a number of unaligned instructions is counted but not used. Add /debug/mips/unaligned_instructions file to show the value. And add /debug/mips/unaligned_action to control behavior upon an unaligned access. Possible actions are: 0: silently fixup the unaligned access. 1: send SIGBUS. 2: dump registers, process name, etc. and fixup. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 2db30150fe4fe309c57087c661209c9ea0b5c21b Author: Atsushi Nemoto Date: Mon Jul 2 22:43:06 2007 +0900 [MIPS] rbtx4938: Fix secondary PCIC and glue internal NICs * Fix pci ops for secondary PCIC * Do not reserve 1MB for PCI MEM region (leave PCIBIOS_MIN_MEM zero) * Use platform_device to provide ethernet addresses for internal NICs. (background: TX49XX SoCs include PCI NIC (TC35815 compatible) connected via its internal PCI bus, but the NIC's PROM interface is not connected to SEEPROM. So we must provide its ethernet address by another way.) * Check return value of early_read_config_word() Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bd43da8ff130caf31fff0482a75660507a26b641 Author: Atsushi Nemoto Date: Fri Jun 29 22:34:53 2007 +0900 [MIPS] tc35815: Load MAC address via platform_device TX49XX SoCs include PCI NIC (TC35815 compatible) connected via its internal PCI bus, but the NIC's PROM interface is not connected to SEEPROM. So we must provide its ethernet address by another way. Signed-off-by: Atsushi Nemoto Acked-by: Jeff Garzik Signed-off-by: Ralf Baechle commit 295cbf6d63165fe4253cf1d9ceadcda47a318b48 Author: Ralf Baechle Date: Tue Jul 3 14:37:43 2007 +0100 [MIPS] Move FPU affinity code into separate file. Gets rid of some of the CONFIG_MIPS_MT_FPAFF #ifdefery. Signed-off-by: Ralf Baechle commit 5ddcb3c35be995517a32799796e2acda90a784e0 Author: Atsushi Nemoto Date: Tue Jun 26 01:14:01 2007 +0900 [MIPS] Make ioremap() work on TX39/49 special unmapped segment TX39XX and TX49XX have "reserved" segment in CKSEG3 area. 0xff000000-0xff3fffff on TX49XX and 0xff000000-0xfffeffff on TX39XX are reserved (unmapped, uncached). Controllers on these SoCs are placed in this segment. This patch add plat_ioremap() and plat_iounmap() to override default behavior and implement these hooks for TX39/TX49. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bb33b19ff92aed11fb56435be4c5d5231598a948 Author: Atsushi Nemoto Date: Fri Jun 22 23:22:29 2007 +0900 [MIPS] rbtx4938: Update and minimize defconfig Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f74cf6ff99a49741b0f243996b621777b2d610d4 Author: Atsushi Nemoto Date: Fri Jun 22 23:22:06 2007 +0900 [MIPS] rbtx4938: Convert SPI codes to use generic SPI drivers Use rtc-rs5c348 and at25 spi protocol driver and spi_txx9 spi controller driver instead of platform dependent codes. This patch also removes dependencies to old RTC interfaces such as rtc_mips_get_time, etc. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 3896b05418b9b8548a678231db754206b3ebe56e Author: Atsushi Nemoto Date: Fri Jun 22 23:21:55 2007 +0900 [MIPS] rbtx4938: Add generic GPIO support GPIO 0..15 are for TX4938 PIO pins, GPIO 16..18 are for FPGA-driven chipselect signals for SPI devices. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 06cf5583fd9ac782cf34996cdabb48afdf478e37 Author: Thomas Bogendoerfer Date: Wed Jun 20 23:36:47 2007 +0200 [MIPS] SNI RM updates - use RTC_CLASS instead of GEN_RTC - get rid of ds1216 in favour of a RTC_CLASS driver - use correct console device for older RM400 - use physical addresses for 82596 device - use 128 byte L1 cache line size (this is needed because most of the SNI caches are using 128 L2 cache lines) Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 68bc00e31143ad8bfa435425e0a11e9b3998911d Author: Marc St-Jean Date: Thu Jun 14 15:57:11 2007 -0600 [MIPS] PMC MSP71xx default configuration Patch to add default configuration for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 6f95e60acf404e39d14030572c9033ddaca6f4de Author: Marc St-Jean Date: Thu Jun 14 15:56:23 2007 -0600 [MIPS] PMC MSP71xx PCI support Patch to add PCI support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 9267a30d1dc7dcd7cadb5eb6a5bbfed703feeefa Author: Marc St-Jean Date: Thu Jun 14 15:55:31 2007 -0600 [MIPS] PMC MSP71xx mips common Patch to add mips common support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 35832e26f95ba14a6b6f0519441c5cb64cca6bf9 Author: Marc St-Jean Date: Thu Jun 14 15:54:47 2007 -0600 [MIPS] PMC MSP71xx core platform Patch to add core platform support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit a4b156d47d204904fa104c3e585b4c67b89195f3 Author: Adrian Bunk Date: Tue Jun 19 22:27:04 2007 +0200 [MIPS] Removes the few leftovers of the MOMENCO_JAGUAR_ATX removal. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 42d226c7248a28ff8c478c06b7e9bd9ef5d73574 Author: Songmao Tian Date: Wed Jun 6 14:52:38 2007 +0800 [MIPS] New files for lemote fulong mini-PC support Signed-off-by: Fuxin Zhang Signed-off-by: Songmao Tian Signed-off-by: Ralf Baechle commit 2a21c7300b53b744d16903256a172d9cbcfdd03e Author: Fuxin Zhang Date: Wed Jun 6 14:52:43 2007 +0800 [MIPS] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 Signed-off-by: Fuxin Zhang Signed-off-by: Ralf Baechle commit fee578fad1a29e6a149659e5467aedcae6897c06 Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] Convert init_thread initialization to ISO C initializers. Signed-off-by: Ralf Baechle commit a36920200c5b89d56120a5e839fe4a603d51b16c Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] Enable support for the userlocal hardware register Which will cut down the cost of RDHWR $29 which is used to obtain the TLS pointer and so far being emulated in software down to a single cycle operation. Signed-off-by: Ralf Baechle commit d223a86154f8c66f5a380b17e1c8091d56f47cf8 Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] FP affinity: Coding style cleanups Signed-off-by: Ralf Baechle commit e7c4782f92fc4b83d953ce53f77f05ae65dcd773 Author: Ralf Baechle Date: Tue Jul 10 17:33:01 2007 +0100 [MIPS] Put an end to 's long and annyoing existence Signed-off-by: Ralf Baechle commit 192cca6ef2c49ac5ff46f7a31cb9dd175995658e Author: Franck Bui-Huu Date: Mon Jun 11 15:08:55 2007 +0200 [MIPS] Remove Momenco Ocelot C support Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle delete mode 100644 arch/mips/configs/ocelot_c_defconfig delete mode 100644 arch/mips/momentum/ocelot_c/Makefile delete mode 100644 arch/mips/momentum/ocelot_c/cpci-irq.c delete mode 100644 arch/mips/momentum/ocelot_c/dbg_io.c delete mode 100644 arch/mips/momentum/ocelot_c/irq.c delete mode 100644 arch/mips/momentum/ocelot_c/ocelot_c_fpga.h delete mode 100644 arch/mips/momentum/ocelot_c/platform.c delete mode 100644 arch/mips/momentum/ocelot_c/prom.c delete mode 100644 arch/mips/momentum/ocelot_c/reset.c delete mode 100644 arch/mips/momentum/ocelot_c/setup.c delete mode 100644 arch/mips/momentum/ocelot_c/uart-irq.c delete mode 100644 arch/mips/pci/fixup-ocelot-c.c delete mode 100644 arch/mips/pci/pci-ocelot-c.c commit cfd2afc0f654e86e3f0b5060409b90f21964b9d3 Author: Ralf Baechle Date: Tue Jul 10 17:33:00 2007 +0100 [MIPS] IP32: Remove experimental tag from kconfig. Signed-off-by: Ralf Baechle commit 19df0d1169b3ddcc84933794d1401aaafe2f0000 Author: Ralf Baechle Date: Tue Jul 10 17:33:00 2007 +0100 [MIPS] PCI: Make dev pointer argument of pcibios_map_irq const. This is to break the code of people who think they are supposed to scribble into the pci device structure - it's off limits. Signed-off-by: Ralf Baechle commit 6b5bf509317c013ea0a7c166affc1d4631720d85 Author: Yoichi Yuasa Date: Thu Jun 21 15:06:21 2007 +0900 [MIPS] EV64120: Remove support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 36de48de85bdb9bc8c35c1eb513737c187d70a46 Author: Maciej W. Rozycki Date: Tue Jun 5 11:45:07 2007 +0100 [MIPS] DECstation: Optimised early printk() This is an optimised implementation of early printk() for the DECstation. After the recent conversion to a MIPS-specific generic routine using a character-by-character output the performance dropped significantly. This change reverts to the previous speed -- even at 9600 bps of the serial console the difference is visible with a naked eye; I presume for a framebuffer it is even worse (it may depend on exactly which one is used though). Additionally the change includes a fix for a problem that the old implementation had -- the format used would not actually limit the length of the string output. This new implementation uses a local buffer to deal with it -- even with this additional copying it is much faster than the generic function. Plus this driver is registered much earlier than the generic one, allowing one to see critical messages, such as one about an incorrect CPU setting used, that are produced beforehand. :-) Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit d388d6853f1b584b8606cb3f2f9f9e4fa2e52258 Author: Maciej W. Rozycki Date: Tue May 29 15:08:07 2007 +0100 [MIPS] No I/O ports on the DECstation There are no I/O ports on the DECstation whatsoever in any configuration as neither the CPU nor the peripheral buses used have a concept of such. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit b63e804459b9b550c1ab21a43e6bac2272e32612 Author: Atsushi Nemoto Date: Tue Jun 5 01:28:07 2007 +0900 [MIPS] Remove unused watchpoint support and arch/mips/lib-{32,64} Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c66df567e596bd43d6d3e094d82f82951e1b17cd Author: Yoichi Yuasa Date: Sat Jun 2 02:12:41 2007 +0900 [MIPS] update cobalt_defconfig Enable Cobalt button support and change ATA driver from BLK_DEV_VIA82CXXX to PATA_VIA.. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b1c65b3988c6e29ac371ab1cbbf6c4f8fb7092f8 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:35 2007 +0200 [MIPS] Fix PHYS_OFFSET for 64-bits kernels with 32-bits symbols The current implementation of __pa() for 64-bits kernels with 32-bits symbols is broken. In this configuration, we need 2 values for PAGE_OFFSET, one in XKPHYS and the other in CKSEG0 space. When the value in CKSEG0 space is used, it doesn't take into account of PHYS_OFFSET. Even worse we can't redefine this value. The patch restores CPHYSADDR() but in __pa()'s implementation because it removes the need of 2 PAGE_OFFSET. OTOH, CPHYSADDR() is quite bad when dealing with mapped kernels. So this patch assumes there's no need to deal with such kernel in 64-bits world. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 41b0483ee54d89f9ad068ceae3c91cdc7594d050 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:34 2007 +0200 [MIPS] Move PHY_OFFSET definition in spaces.h Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit db38501511a7513ec4f0ae9922d847c135cf3c78 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:33 2007 +0200 [MIPS] Make PAGE_OFFSET aware of PHYS_OFFSET For platforms that use PHYS_OFFSET and do not use a mapped kernel, this patch automatically adds PHYS_OFFSET into PAGE_OFFSET. Therefore there are no more needs for them to redefine PAGE_OFFSET. For mapped kernel, they need to redefine PAGE_OFFSET anyways. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit c4612c8596084c898628bd1898da5987ec43ac1d Author: Franck Bui-Huu Date: Mon Jun 4 17:46:32 2007 +0200 [MIPS] Clean up asm-mips/mach-generic/spaces.h PAGE_OFFSET definition is now using CAC_BASE by default. This patch also reorder some macros to make them appear in the same order for both 32 and 64 bits configs. It also makes use of const.h generic header file to annotate constants. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 09bb9ce15f6e0daba70b7e6978f233ffe2d356eb Author: Franck Bui-Huu Date: Mon Jun 4 17:46:31 2007 +0200 [MIPS] Allow generic spaces.h to be included by platform specific ones Before this patch, when a platform needed to customize one constant in spaces.h, they need to redefine all of them. Now they can just redefine one constant and include the generic file header at the end: #include This patch doesn't allow to redefine CAC_BASE, IO_BASE and UNCAC_BASE for 32 bits platforms because there's no need to do so. This will avoid some macro duplications. It's important specially if we'll add complex macros. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle delete mode 100644 include/asm-mips/mach-ip32/spaces.h commit 69ed25b895b01216b392b60ad3b99d1274e1afa8 Author: Atsushi Nemoto Date: Sat Jun 2 00:30:25 2007 +0900 [MIPS] Remove unused dump_tlb functions Remove unused dump_tlb functions and cleanup some includes. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4becef1d85a48ea4294c962c2cbacb6074f0dd58 Author: Atsushi Nemoto Date: Sat Jun 2 00:21:30 2007 +0900 [MIPS] Unify dump_tlb Unify lib-{32,64}/dump_tlb.c into lib/dump_tlb.c and move lib-32/r3k_dump_tlb.c to lib directory. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f6e2373ad6148476464fc7bb2610c6450c18cd2a Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] MIPSsim: Move code away from the other MIPS Inc. BSP code. It shares no code at all. While at it also fix up the beginning bitrot. Signed-off-by: Ralf Baechle commit 24e9d0b96dac5503c0b6f034d553030c604228a7 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] Hook for platforms to define cachability of /dev/mem regions Signed-off-by: Ralf Baechle commit 8bb809df6919f927bcb910bbc852d5724eaa1eb9 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] Cleanup TO_PHYS_MASK definition No point in adding yet another #ifdef for Loongson since all this mask is being used for is converting an XKPHYS address into a physical address anyway. So replace all definitions by one with the highest architectural possible value. Signed-off-by: Ralf Baechle commit b3f6df9f21c6efc4641613188204aa0742bc9e22 Author: Robert P. J. Day Date: Fri May 25 14:32:28 2007 -0400 [MIPS] Transform old-style macros to newer "__noreturn" Convert old/obsolete NORET_TYPE and ATTRIB_NORET macros to use the newer standard of "__noreturn" as defined in compiler-gcc.h. Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit 8f8771a057bff0d3911459d0bdadf03ec1dd3c89 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] SMTC: Use current_cpu_data instead of cpu_data[smp_processor_id] Signed-off-by: Ralf Baechle commit 4ead16819b4c61fea9bb73eb470f6bb1d3350e5c Author: Florian Fainelli Date: Tue May 22 21:44:42 2007 +0200 [MIPS] Add generic GPIO to Au1x00 This patch adds support for the generic GPIO API to Au1x00 boards. It requires the generic GPIO patch for MIPS boards by Yoichi Yuasa. Now there is a MIPS target using it, can you queue these patchset for 2.6.22 ? Thank you very much in advance. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 82b8d2250c4b606e190853db9505b54b9fb71aa5 Author: Atsushi Nemoto Date: Fri Jun 22 23:20:23 2007 +0900 [MIPS] Create fallback gpio.h Create fallback gpio.h which only contains prototypes for gpio API. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 096633358c907d9b50b00caf989816c2edfefe24 Author: Yoichi Yuasa Date: Tue May 22 00:05:58 2007 +0900 [MIPS] Add generic GPIO support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4679258d52f6d4aeeafd5c77203d97ddf48e2db0 Author: Adrian Bunk Date: Sat Jul 7 03:03:27 2007 +0200 [MIPS] Remove unused cpu_callout_map and num_booting_cpus() Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 9797cae3bfd2d7190609cdce05248cabc5d9081e Author: Adrian Bunk Date: Sat Jul 7 03:03:30 2007 +0200 [MIPS] "extern inline" -> "static inline" "extern inline" will have different semantics with gcc 4.3, and "static inline" is correct here. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit e48ce6b8df5b51af3f38b20bb3d008dff69ff64e Author: Atsushi Nemoto Date: Wed May 30 00:38:07 2007 +0900 [MIPS] Simplify missing-syscalls for N32 and O32 Use standard missing-syscalls with EXTRA_CFLAGS instead of duplicating the command. And move the archprepare rule before the archclean rule. Suggested by Franck Bui-Huu. Also add "echo" to show the target ABI. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d7eb079fc8e68899fd099ad0b5b8095193a8c025 Author: Yoichi Yuasa Date: Mon May 28 22:56:35 2007 +0900 [MIPS] Remove unused config entries Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit e934c82657529a85ca48a2fc3749c514df985e79 Author: Yoichi Yuasa Date: Mon May 21 23:00:38 2007 +0900 [MIPS] remove unused definitions for Cobalt Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f49343a54864b98333b98706accba66aa75a0c16 Author: Alan Cox Date: Tue Jul 10 17:05:16 2007 +0100 IOC3: Switch to pci refcounting safe APIs Convert the IOC3 driver to use ref counting pci interfaces so that we can obsolete the (usually unsafe) pci_find_{slot/device} interfaces and avoid future authors writing hotplug-unsafe device drivers. Signed-off-by: Alan Cox Build fixes: Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 44e4925e4601961b9bd1982008a55fce865d318c Author: David Graham Date: Tue Jul 10 08:45:11 2007 -0700 e100: Fix Tyan motherboard e100 not receiving IPMI commands The 82550 & 51 parts have an extended configuration block that includes a bit "GMRC", required to enable the expected TCO behavior, in config byte offset 22d. The config block sent by the failing driver does include the extension area, but this bit is not initialised, and the downlaod only specifies 0x16 bytes to be sent to the NIC (thaht's bytes 00..21d). By initializing the GMRC bit, and extending the download size for D102+ MACs, the problem is resolved. Signed-off-by: David Graham Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c6f5047b633f0605098fe47417c4e1ed87a7637a Author: Timur Tabi Date: Tue Jul 10 07:51:11 2007 -0500 QE Ethernet driver writes to wrong register to mask interrupts The QE Ethernet driver was writing to the wrong register to mask interrupts. In ucc_geth_stop(), it was clearing UCCE instead of UCCM. Signed-off-by: Timur Tabi Signed-off-by: Jeff Garzik commit 4f092432bd443416b649519c3d5405aa55ad2d15 Author: Adrian Bunk Date: Tue Jul 10 14:44:47 2007 +0200 rrunner.c:rr_init() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x26e3f2): Section mismatch: reference to .init.text:rr_init (between 'rr_init_one' and 'rr_remove_one') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 9b5587cdd9f2a8dd4a010a93a6380051d43a3c16 Author: Adrian Bunk Date: Tue Jul 10 14:44:37 2007 +0200 tokenring/3c359.c:xl_init() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x361ef1): Section mismatch: reference to .init.text:xl_init (between 'xl_probe' and 'xl_hw_reset') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 4e50a8e3c564add2f621dadb752a44872e93c754 Author: Adrian Bunk Date: Tue Jul 10 14:44:35 2007 +0200 sis900_mii_probe() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x298170): Section mismatch: reference to .init.text:sis900_mii_probe (between 'sis900_probe' and 'sis900_default_phy') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 8453d43f0ee08ac6c20f390797772a08f81f999a Author: Rolf Eike Beer Date: Tue Jul 10 11:58:02 2007 +0200 Fix typo in drivers/net/s2io.c Introduced in d796fdb708fc5b10112934cba43e832c36ce4923. Signed-off-by: Rolf Eike Beer Signed-off-by: Jeff Garzik commit 654e02200578799264941e5a9b533563a87f8579 Author: Marcin Juszkiewicz Date: Tue Jul 10 11:40:28 2007 +0200 PCMCIA: add Socket Ethernet card into pcnet_cs One card submitted by Ångström user. Signed-off-by: Marcin Juszkiewicz Signed-off-by: Jeff Garzik commit 7a627558214664f0e071b2652fc37e4d7d3dce32 Author: Ishizaki Kou Date: Mon Jul 9 18:17:42 2007 -0500 spidernet: improve interrupt handling We intend this patch to improve spidernet interrupt handling to be more strict. We had following problem and this patch solves it. -when CONFIG_DEBUG_SHIRQ=y, request_irq() calls handler(). -when spider_net_open() is called, it calls request_irq() which calls spider_net_interrupt(). -if some specific interrupt bit is set at this timing, it calls netif_rx_schedule() and spider_net_poll() is scheduled. -spider_net_open() calls netif_poll_enable() which clears the bit __LINK_STATE_RX_SCHED. -when spider_net_poll() is called, it calls netif_rx_complete() which causes BUG_ON() because __LINK_STATE_RX_SCHED is not set. Signed-off-by: Kou Ishizaki Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit b8a1fcee26126b566d9e28ba80c643a7a10543eb Author: Steffen Klassert Date: Mon Jul 9 11:50:23 2007 -0700 3cSOHO100-TX needs EXTRA_PREAMBLE The 3cSOHO100-TX needs a mdio_sync() before mdio_read() to read the MII transceiver registers properly. Adding EXTRA_PREAMBLE to drv_flags of the 3cSOHO100-TX will force this. This problem exists already for years (I checked back to 2.6.8). Setting duplex for the 3cSOHO100-TX was more or less a random process. Till 2.6.15 it was more likely that the diver ends up in half duplex mode, after the code change in 2.6.16 it was more likely to end up in full duplex mode. I wonder why nobody noticed this earier. Hopefully addresses Bug 7454 3c59x (3cSOHO100-TX Hurricane) slow network bug http://bugzilla.kernel.org/show_bug.cgi?id=7454 and Bug 3654 3cSOHO100-TX: No MII transceiver present http://bugzilla.kernel.org/show_bug.cgi?id=3654 Cc: Jonas Sandberg Cc: Jon Sanchez Signed-off-by: Steffen Klassert Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 199126a23a091585670fba023529b73047bb2bad Author: vignesh babu Date: Mon Jul 9 11:50:22 2007 -0700 Use is_power_of_2() in myri10ge/myri10ge.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Cc: Brice Goglin Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d9da466a3ce2ac005e05bb649a0f2cfb5c3d5d45 Author: vignesh babu Date: Mon Jul 9 11:50:22 2007 -0700 use is_power_of_2() in cxgb3/cxgb3_main.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit de0d3dc0e8ecd80f602fac03feb8fd53d0c17a8c Author: Yoann Padioleau Date: Mon Jul 9 11:50:20 2007 -0700 atari_pamsnet.c: old declaration ritchie style fix Use consistent function declaration style. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0640b8dc74e938543dd8fc8c460c5f913a1b1a74 Author: Stephen Hemminger Date: Mon Jul 9 15:33:44 2007 -0700 sky2: 1.16 version Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e923d7b124d2b2218faac22714dc6e4639fab2e7 Author: Stephen Hemminger Date: Mon Jul 9 15:33:43 2007 -0700 sky2: remove some leftover debug messages Eliminate extra debug messages Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 36eb0c71f3ab42b116a5a7bda733230014741632 Author: Stephen Hemminger Date: Mon Jul 9 15:33:42 2007 -0700 sky2: use upper_32_bits() macro Use upper_32_bits() inline Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f957da2aa0b7ef9659a45b0895ec4a08602b1c15 Author: Stephen Hemminger Date: Mon Jul 9 15:33:41 2007 -0700 sky2: use roundup() macro Use roundup() macro to size receive buffer. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 71749531f2d1954137a1a77422ef4ff29eb102dd Author: Stephen Hemminger Date: Mon Jul 9 15:33:40 2007 -0700 sky2: check drop truncated packets If packet larger than MTU is received, the driver uses hardware to truncate the packet. Use the status registers to catch/drop them. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f4331a6d24f2e5524678caf4621d35f33fb934da Author: Stephen Hemminger Date: Mon Jul 9 15:33:39 2007 -0700 sky2: add support for read/write of EEPROM Add get/set eeprom support for sky2. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8a3e3bfdf47b82bfbd78aabf7f72df4dff12abcc Author: Stephen Hemminger Date: Mon Jul 9 15:33:38 2007 -0700 sky2: unmark as EXPERIMENTAL Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 55c9dd35d3299dbd6e437c1a0bd86fffcb17080b Author: Stephen Hemminger Date: Mon Jul 9 15:33:37 2007 -0700 sky2: receive fill Simplify receive buffer refill logic. Rather than trying to update incrementally; do receive ring refill at end of receive processing. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5c11ce700f77fada15b6264417d72462da4bbb1c Author: Stephen Hemminger Date: Mon Jul 9 15:33:36 2007 -0700 sky2: check for more work before leaving NAPI This patch avoids generating another IRQ if more packets arrive while in the NAPI poll routine. Before marking device as finished, it rechecks that the status ring is empty. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3cf267539f1f133eb6ba63d074da18cb58cdf89a Author: Stephen Hemminger Date: Mon Jul 9 15:33:35 2007 -0700 sky2: debug interface Add an optional debug interface for displaying state of transmit/receive rings. Creates a file debugfs/sky2/ethX for each device that is up. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 55d7b4e6ed6ad3ec5e5e30b3b4515a0a6a53e344 Author: Stephen Hemminger Date: Mon Jul 9 15:33:34 2007 -0700 sky2: carrier management Make sky2 handle carrier similar to other drivers, eliminate some possible races in carrier state transistions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c59697e06058fc2361da8cefcfa3de85ac107582 Author: Stephen Hemminger Date: Mon Jul 9 15:33:33 2007 -0700 sky2: restore workarounds for lost interrupts This patch restores a couple of workarounds from 2.6.16: * restart transmit moderation timer in case it expires during IRQ routine * default to having 10 HZ watchdog timer. At this point it more important not to hang than to worry about the power cost. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 665f5600cb80c9cfa2e9bc832f9cd28164d8e283 Author: David Woodhouse Date: Mon Jul 9 11:37:39 2007 -0700 [POWERPC] Enable arbitary speed tty ioctls and split input/output speed Adding the defines/macros activates the existing code in the tty layer and allows this platform to use the arbitary speed ioctl setting layer Signed-off-by: David Woodhouse Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 5605d4def1b33721c268067620b163af0a9e2474 Author: Adrian Bunk Date: Mon Jul 9 11:37:38 2007 -0700 [POWERPC] Make drivers/char/hvc_console.c:khvcd() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 32efddf8526879a77d58aa635c5d5dd45bb87fd9 Author: Robert P. J. Day Date: Mon Jul 9 11:37:37 2007 -0700 [POWERPC] Remove dead code for preventing pread() and pwrite() calls Remove the deactivated code for checking for pread() and pwrite() calls on the PPC-based BRIQ. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 1f945a86a8250b66fda47cf1fc8f3daf5d0f8969 Author: Mathieu Desnoyers Date: Mon Jul 9 11:37:34 2007 -0700 [POWERPC] Remove unnecessary #undef printk from prom.c Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 8203c17e5b35408889ec5c358d71110b624519bd Author: Li Yang Date: Tue Jul 10 16:59:39 2007 +1000 [POWERPC] Fix typo in Ebony default DTS Signed-off-by: Li Yang Signed-off-by: Paul Mackerras commit 70584578ab3e940ac9d7820f268f9adc9884e407 Author: Sonny Rao Date: Tue Jul 10 03:31:44 2007 +1000 [POWERPC] Check for NULL ppc_md.init_IRQ() before calling Check to make sure ppc_md.init_IRQ has been set before calling it. Signed-off-by: Sonny Rao Signed-off-by: Paul Mackerras commit b3e998ee05773a3ac33d540aa341295acef4c56b Author: Manish Ahuja Date: Sat Jul 7 07:59:55 2007 +1000 [POWERPC] Remove extra return statement Found 2 instances of return one right after each other in arch_add_memory(). This removes the superfluous one. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit bc6b73e14e11b19d43c89920aa516813459c84da Author: Olof Johansson Date: Sat Jul 7 06:15:14 2007 +1000 [POWERPC] pasemi: Don't auto-select CONFIG_EMBEDDED Disable auto-select of CONFIG_EMBEDDED. ELECTRA_IDE selects PATA_PLATFORM which should be sufficient. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit d4875a217b75df8995f9815d8e274429383c2d1d Author: Olof Johansson Date: Fri Jul 6 00:49:04 2007 +1000 [POWERPC] pasemi: Rename platform Rename the pasemi platform to "pasemi" to be in line with the platform's directory name. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 12654f776487952e7c0b9b3864ea1de08b1740f9 Author: Johannes Berg Date: Thu Jul 5 19:35:33 2007 +1000 [POWERPC] arch/powerpc/kernel/sysfs.c: Move NUMA exports With !CONFIG_NUMA, these are static inlines in the header file so don't generate exports for them in that case. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit bd67fcf9ba8474e8eef649a79aba5b3479b01272 Author: Tony Breeds Date: Wed Jul 4 14:04:31 2007 +1000 [POWERPC] Add __read_mostly support for powerpc Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit fc9069fe56d9594b7a6da0b9f9ca0eafd756260f Author: Tony Breeds Date: Wed Jul 4 14:04:31 2007 +1000 [POWERPC] Modify sched_clock() to make CONFIG_PRINTK_TIME more sane When booting a current kernel with CONFIG_PRINTK_TIME enabled you'll see messages like: [ 0.000000] time_init: decrementer frequency = 188.044000 MHz [ 0.000000] time_init: processor frequency = 1504.352000 MHz [3712914.436297] Console: colour dummy device 80x25 This cause by the initialisation of tb_to_ns_scale in time_init(), suddenly the multiplication in sched_clock() now does something :). This patch modifies sched_clock() to report the offset since the machine booted so the same printk's now look like: [ 0.000000] time_init: decrementer frequency = 188.044000 MHz [ 0.000000] time_init: processor frequency = 1504.352000 MHz [ 0.000135] Console: colour dummy device 80x25 Effectivly including the uptime in printk()s. This patch makes tb_to_ns_scale and tb_to_ns_shift static and read_mostly for good measure. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 4bb092811c72685f5ba26340d393c0717f5a43b1 Author: Tony Breeds Date: Wed Jul 4 14:04:31 2007 +1000 [POWERPC] Create a dummy zImage if no valid platform has been selected This simply prevents a build error if no platform is selected. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit bafdb645779c63300763acb383f7b9dd2d427228 Author: Geoff Levand Date: Wed Jul 4 09:07:18 2007 +1000 [POWERPC] PS3: Bootwrapper support. Add support to build the PS3 flash rom image and remove some unneeded lmb calls. The PS3's lv1 loader supports loading gzipped binary images from flash rom to addr zero. The loader enters the image at addr 0x100. In this implementation a bootwrapper overlay is use to arrange for the kernel to be loaded to addr zero and to have a suitable bootwrapper entry at 0x100. To construct the rom image, 0x100 bytes from offset 0x100 in the kernel is copied to the bootwrapper symbol __system_reset_kernel. The 0x100 bytes at the bootwrapper symbol __system_reset_overlay is then copied to offset 0x100. At runtime the bootwrapper program copies the 0x100 bytes at __system_reset_kernel to addr 0x100. zImage.ps3 is a wrapped image that contains a flat device tree, an lv1 compatible entry point, and an optional initrd. otheros.bld is the gzip compresed rom image built from zImage.ps3. otheros.bld is suitable for programming into the PS3 boot flash memory. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 76a5b8bb3525b63db137c714cf9ad5b3b99e75f0 Author: Johannes Berg Date: Wed Jul 4 09:01:54 2007 +1000 [POWERPC] powermac i2c: Use mutex Convert the semaphores in low_i2c that are used as mutexes to real mutexes. Signed-off-by: Johannes Berg Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0b7dbfbf13192a57591275d50b0993cb0acdb25c Author: Josh Boyer Date: Tue Jul 3 23:25:46 2007 +1000 [POWERPC] Schedule removal of arch/ppc The arch/ppc tree has been in a semi-nebulous "bug fix only" state for a few kernel releases now. The patch below officially declares this as of the 2.6.22 kernel release and schedules arch/ppc for removal in June of 2008. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit b6f41cc8304ce04a5afa3e1e5d2ff6e8088831b7 Author: Josh Boyer Date: Tue Jul 3 02:06:53 2007 +1000 [POWERPC] Consolidate PowerPC 750 cputable features The 750 CPU_FTR macros have quite a bit of duplication in them. Consolidate them to use CPU_FTRS_750 and only list the unique features for derivatives. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 078f194045f892a10f4a5406e7cb06a7f8d42c57 Author: will schmidt Date: Wed Jun 27 02:12:33 2007 +1000 [POWERPC] Oprofile enhanced instruction sampling support Oprofile enhanced instruction sampling support. When performing instruction sampling, the mmcra[SLOT] field can be used to more accurately identify the address of the sampled instruction. Tested on power4, js20, power5 and power5+. Signed-off-by: Will Schmidt cc: Maynard Johnson Signed-off-by: Paul Mackerras commit f5e6a280d153bff3b0cd15651d29d409f8dea698 Author: Olaf Hering Date: Sun Jun 24 16:57:08 2007 +1000 [POWERPC] Make two xmon variables static xmon_early and xmon_off are only used in this file. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 94a3807c2a547283bb2fb1728609ad51c09d5f79 Author: Michael Ellerman Date: Wed Jun 20 10:54:19 2007 +1000 [POWERPC] Make the debugfs "powerpc" dir globally accessible The prom.c debugging code creates a "powerpc" directory in debugfs, which is nice, but doesn't allow any other debugging code to stick things under "powerpc" in debugfs. So make it global. While we're there we should make the prom.c debugging code depend on CONFIG_DEBUG_FS, because it doesn't work otherwise. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit db0dbae9d9680bce69fe1ce775709e60c8ee9c29 Author: Wade Farnsworth Date: Wed Jun 20 10:15:10 2007 +1000 [POWERPC] Add a check for keyboard/mouse device nodes in check_legacy_ioport() The device tree for the MPC8641 HPCN does not implement the device type property for I8042 nodes. In addition to checking the I8042 node's device type, also match the keyboard and/or mouse nodes' compatible property. Signed-off-by: Wade Farnsworth Signed-off-by: Paul Mackerras commit 6a281856c02d2291df2f7d9df5bfdee2e7bdd747 Author: Michael Ellerman Date: Tue Jun 19 16:08:00 2007 +1000 [POWERPC] Add a warning to help trackdown device_node refcounting bugs When the refcount for a device node goes to 0, we call the destructor - of_node_release(). This should only happen if we've already detached the node from the device tree. So add a flag OF_DETACHED which tracks detached-ness, and if we find ourselves in of_node_release() without it set, issue a warning and don't free the device_node. To avoid warning continuously reinitialise the kref to a sane value. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit d3b814bb1e8b0c63449a3430196c20cbe24a3e67 Author: Michael Ellerman Date: Tue Jun 19 16:07:58 2007 +1000 [POWERPC] Generalise device_node flag interface The struct device_node currently has a _flags variable, although it's only used for one flag - OF_DYNAMIC. Generalise the flag accessors so we can use them with other flags in future. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 972d17c9dbad378da61baa17f4c3ea6e154b186a Author: Michael Ellerman Date: Tue Jun 19 16:07:56 2007 +1000 [POWERPC] Check for the root node in of_detach_node() It's not sensible to call of_detach_node() on the root node, but we should check for it just to be safe. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 333e615483afc5203d1cae1490e50982d6eefbea Author: Roland Dreier Date: Sat Jun 16 05:36:32 2007 +1000 [POWERPC] Add cputable entry for PowerPC 440SPe Rev. B When adding the cputable entry for 440SPe Rev. B, we also need to adjust the existing entries for 440SP Rev. A and 440SPe Rev. B so that they look more bits of the PVR. The 440SPe Rev. B has PVR 53421891, which would match the current 440SP Rev. A pattern of 53xxx891. To distinguish between 440SP and 440SPe, we need to use the first three digits of the PVR, which are respectively 532 and 534. Signed-off-by: Roland Dreier Signed-off-by: Paul Mackerras commit 57cc705f3920d39d96ed9b8373aa7ff2cb93434f Author: Wade Farnsworth Date: Thu Jun 7 02:57:43 2007 +1000 [POWERPC] Fix drivers/rtc/Kconfig for powerpc The powerpc arch uses CONFIG_PPC instead of CONFIG_POWERPC. This fixes drivers/rtc/Kconfig to use the correct config option. Signed-off-by: Wade Farnsworth Acked-by: Jon Loeliger Signed-off-by: Paul Mackerras commit e34b9c94b6e8d63f94387f5148434db5f8f79084 Author: Ishizaki Kou Date: Thu May 31 19:33:04 2007 +1000 [POWERPC] of_serial: add port type checking Currently, of_serial driver supports only 8250 compatible ports, but prepares that others can easily be added. Yet unregister routine assumes port is 8250. This corrects unregister routine to check port type. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 1558f9b44e1c6b5eba46f58214851fd24285641f Author: Ishizaki Kou Date: Thu May 31 19:30:33 2007 +1000 [POWERPC] of_serial: Ignore unknown serial port Current of_serial driver assumes unknown serial port to be 8250. But this behavior may cause fatal problems when the serial port is not 8250. This corrects probe routine to ignore unknown serial port. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit f716a425c15ebadf60286cd4fb60d1d6f46e3cf9 Author: Robert P. J. Day Date: Wed May 30 11:29:06 2007 +1000 [POWERPC] VIOTAPE: Use designated initializers for fops member structures. Replace the old-style member initializers with the newer designated initializers. Signed-off-by: Robert P. J. Day Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ca747ddf29773d552fc0e0dcde0d92b807cd6b85 Author: Christoph Hellwig Date: Tue May 29 21:49:01 2007 +1000 [POWERPC] Remove unused do_signal export do_signal is never used in modular code (obviously), and no other architecture exports it either. Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit c0613c1c940dac991b9e54db75dc9976491d9f0a Author: Geert Uytterhoeven Date: Tue Jul 10 12:26:29 2007 +0200 Documentation/block/barrier.txt is not in sync with the actual code: - blk_queue_ordered() no longer has a gfp_mask parameter - blk_queue_ordered_locked() no longer exists - sd_prepare_flush() looks slightly different Signed-off-by: Geert Uytterhoeven Acked-by: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 70cee26e020c1d74ff559c991b96c7b19fa4173b Author: Matthias Kaehlcke Date: Tue Jul 10 12:26:24 2007 +0200 Use list_for_each_entry() instead of list_for_each() in the block device elevator Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit fd11d171e51a5b81c176d856d5df5612117e1a45 Author: Jan Engelhardt Date: Tue Jul 10 12:26:06 2007 +0200 Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 5f5c926e3cba972636b50ab872b421e992d4f401 Author: Jan Engelhardt Date: Tue Jul 10 12:24:17 2007 +0200 block/Kconfig already has its own "menuconfig" so remove these "menu, endmenu" that did not get cleaned up in the block patch [ http://lkml.org/lkml/2007/4/10/251 ] Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 16ed002f224738366c1809023ec70a71ae51421c Author: Jan Engelhardt Date: Tue Jul 10 12:24:11 2007 +0200 Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 15c31be4d5bd2402c6f5a288d56a24edc9252b71 Author: Jens Axboe Date: Tue Jul 10 13:43:25 2007 +0200 cfq-iosched: fix async queue behaviour With the cfq_queue hash removal, we inadvertently got rid of the async queue sharing. This was not intentional, in fact CFQ purposely shares the async queue per priority level to get good merging for async writes. So put some logic in cfq_get_queue() to track the shared queues. Signed-off-by: Jens Axboe commit 36a700307ece3ca090d1f8f071db085087ddc627 Author: Stephen Rothwell Date: Tue May 29 16:06:54 2007 +1000 [POWERPC] Fix viodasd geometry calculations Commit a885c8c4316e1c1d2d2c8755da3f3d14f852528d that introduced the getgeo block device method changed the fallback number of sectors and introduced a bug into the fallback cylinder number calculation. Thanks to Rusty Russell for noticing this. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 3ebf44902f77537b5784eb5059c2b78d8b5a920a Author: Steven Whitehouse Date: Tue Jul 10 12:28:27 2007 +0100 [GFS2] Accept old format NFS filehandles On Tue, 2007-07-10 at 10:06 +0100, Christoph Hellwig wrote: > > -#define GFS2_LARGE_FH_SIZE 10 > > - > > -struct gfs2_fh_obj { > > - struct gfs2_inum_host this; > > - u32 imode; > > -}; > > +#define GFS2_LARGE_FH_SIZE 8 > > Because gfs2_decode_fh only accepts file handles with GFS2_LARGE_FH_SIZE > or GFS2_LARGE_FH_SIZE you don't accept filehandles sent out by and older > gfs version anymore. Stale filehandles because of a new kernel version > are a big no-no, so please add back code to handle the old filehandles > on the decode side. > This should fix that problem I think since its only relating to end of the fh we can just ignore that field in order to accept the older format. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig Cc: Wendy Cheng commit d7ce6d1d5f6e307a2fbb69626cf120e20e793fe7 Author: Anton Vorontsov Date: Thu Apr 12 01:03:55 2007 +0400 [BATTERY] ds2760 W1 slave This is W1 slave for ds2760 chip, found inside almost every HP iPaq and HTC PDAs/phones. Signed-off-by: Anton Vorontsov Acked-by: Evgeniy Polyakov Signed-off-by: David Woodhouse commit fb972873a767220333ffb509de8d9131336e212c Author: David Woodhouse Date: Fri May 4 00:51:18 2007 +0400 [BATTERY] One Laptop Per Child power/battery driver Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov commit efea58e397dec84e37209c98619d39a46872db4d Author: David Woodhouse Date: Fri May 4 00:47:40 2007 +0400 [BATTERY] Apple PMU driver Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov commit fe0e3153acfef4864b69932cf116eb5f38f7500c Author: Anton Vorontsov Date: Fri May 4 00:45:39 2007 +0400 [BATTERY] 1-Wire ds2760 chip battery driver This is driver for batteries with ds2760 chip inside, found inside almost every HP iPaq and HTC PDAs/phones. Signed-off-by: Anton Vorontsov Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 3788ec932bfd4942831e9a5034191509a2e11924 Author: Anton Vorontsov Date: Fri May 4 00:43:24 2007 +0400 [BATTERY] APM emulation driver for class batteries Signed-off-by: Eugeny Boger Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse commit b2998049cfae4f4a81c4bb048814d34912017bb9 Author: Anton Vorontsov Date: Fri May 4 00:32:17 2007 +0400 [BATTERY] pda_power platform driver Common power driver for PDAs and phones with one or two external power supplies (AC/USB) connected to main and backup batteries, and optional builtin charger. It's used to stop logic duplication through different embedded devices. So, power supply *logic* is here. pda_power register power supplies, and will take care about notifying batteries about power changes through external power interface. Currently, power consumption legal limits (including USB power consumption) should be handled by platform code, inside set_charge function. Signed-off-by: Anton Vorontsov Signed-off-by: Roman Moravcik Signed-off-by: David Woodhouse commit 4a11b59d8283662193a9c6a9c14c58d1b9bf0617 Author: Anton Vorontsov Date: Fri May 4 00:27:45 2007 +0400 [BATTERY] Universal power supply class (was: battery class) This class is result of "external power" and "battery" classes merge, as suggested by David Woodhouse. He also implemented uevent support. Here how userspace seeing it now: # ls /sys/class/power\ supply/ ac main-battery usb # cat /sys/class/power\ supply/ac/type AC # cat /sys/class/power\ supply/usb/type USB # cat /sys/class/power\ supply/main-battery/type Battery # cat /sys/class/power\ supply/ac/online 1 # cat /sys/class/power\ supply/usb/online 0 # cat /sys/class/power\ supply/main-battery/status Charging # cat /sys/class/leds/h5400\:red-left/trigger none h5400-radio timer hwtimer ac-online usb-online main-battery-charging-or-full [main-battery-charging] main-battery-full Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton commit f60d89108f3481ca11672b82cf7e67171e050ce4 Author: Christian Borntraeger Date: Tue Jul 10 11:24:22 2007 +0200 [S390] vmlogrdr function annotation. Use __init and __exit for vmlogrdr. Both functions are only referenced by the module_init exit macros, so this change should be fine. Acked-by: Stefan Weinhuber Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit dce554708cdb02a1053ca3a68997b9facbfde5ce Author: Heiko Carstens Date: Tue Jul 10 11:24:21 2007 +0200 [S390] s390: rename CPU_IDLE to S390_CPU_IDLE sched-cfs-v2.6.22-git-v18.patch introduces CPU_IDLE in sched.h. This conflict with the already existing define in include/asm-s390/processor.h Just rename the s390 defines, since they will go away as soon as we support CONFIG_NO_HZ instead of our own CONFIG_NO_IDLE_HZ. Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Martin Schwidefsky commit 736f563373804e75f9f3b4abb9e480451bfef8d3 Author: Cornelia Huck Date: Tue Jul 10 11:24:20 2007 +0200 [S390] cio: Remove prototype for non-existing function cmf_reset(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit af512ed0f8a7e6a3c6fd93b2b5882c8e837a6939 Author: Ralph Wuerthner Date: Tue Jul 10 11:24:19 2007 +0200 [S390] zcrypt: fix request timeout handling Under very high load zcrypt requests may timeout while waiting on the request queue. Modify zcrypt that timeouts are based on crypto adapter responses. A timeout occurs only if a crypto adapter does not respond within a given time frame to sumitted requests. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 987ad70a4d90cf0e70dba43ece02c2e2219e092c Author: Martin Schwidefsky Date: Tue Jul 10 11:24:18 2007 +0200 [S390] system call optimization. After the in-kernel system call has been remove the system call path can be optimized. The problem state bit of the old psw is always set between system_call and sysc_do_svc. SAVE_ALL_SVC uses this information to avoid two instructions. Signed-off-by: Martin Schwidefsky commit 3d62149f025134cd69c2fef2a2ccfac3c3c2054f Author: Heiko Carstens Date: Tue Jul 10 11:24:17 2007 +0200 [S390] dasd: Avoid compile warnings on !CONFIG_DASD_PROFILE drivers/s390/block/dasd_proc.c:33: warning: 'dasd_get_user_string' defined but not used drivers/s390/block/dasd_proc.c:172: warning: 'dasd_statistics_array' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 048d5ce6828b9071e241254c7dba13d67bfef2c3 Author: Heiko Carstens Date: Tue Jul 10 11:24:16 2007 +0200 [S390] Remove volatile from atomic_t Follow i386/x86_64 and remove 'volatile' from atomic_t. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dc4123303b54657389c952049bf5738dd753d004 Author: Michael Holzheu Date: Tue Jul 10 11:24:15 2007 +0200 [S390] Program check in diag 210 under 31 bit If a virtual address is passed to the diag210 function under 31 bit, we get a programming exception, since diag 210 only works with physical addresses. To fix this, the content of the diag210 data structure is copied to a local structure and the physical address of that structure is passed to diagnose 210. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 8a88367088a6b9964d99694b30d80720f019bea2 Author: Martin Schwidefsky Date: Tue Jul 10 11:24:14 2007 +0200 [S390] Bogomips calculation for 64 bit. The bogomips calculation triggered via reading from /proc/cpuinfo can return incorrect values if the qrnnd assembly is called with a pointer in %r2 with any of the upper 32 bits set. Fix this by using 64 bit division / remainder operation provided by gcc instead of calling the assembly. Signed-off-by: Martin Schwidefsky commit 285f67227b63309d699f5bda25ba34962503398f Author: Heiko Carstens Date: Tue Jul 10 11:24:13 2007 +0200 [S390] smp: Merge smp_count_cpus() and smp_get_save_areas(). Merge smp_count_cpus() and smp_get_save_areas() so we save a loop over all potentially present cpus. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d9f774d439cda5b46324221a47e6aaf7dc2f77cc Author: Heiko Carstens Date: Tue Jul 10 11:24:12 2007 +0200 [S390] zcore: Fix __user annotation. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bf1a95a225c1349846274caebdca1bb8d20d5853 Author: Stefan Haberland Date: Tue Jul 10 11:24:11 2007 +0200 [S390] fixed cdl-format detection. CDL formated DASDs are now detected correctly even if no VOL1 label is on the disk. This prevents possible loss of data. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 83119ad4a1ceacd99f380086c2855ae2c4268afc Author: Heiko Carstens Date: Tue Jul 10 11:24:10 2007 +0200 [S390] sclp: Test facility list before executing a service call. Check if a command is available before executing. Saves some superfluous service calls that won't succeed anyway. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 05dd25307ca67cbfa0207bbba2e6c79fa97d125b Author: Heiko Carstens Date: Tue Jul 10 11:24:09 2007 +0200 [S390] sclp: introduce some new interfaces. Introduce some new interfaces so that random subsystems don't have to mess around with sclp internal structures. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bccdbdc9bd7db3a32c14d8a47f1fb66e3de3c92f Author: Ralph Wuerthner Date: Tue Jul 10 11:24:08 2007 +0200 [S390] Fixed comment typo. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit d197e6921843932b5d8ecf47d23fcac62e73b19a Author: Robert P. J. Day Date: Tue Jul 10 11:24:07 2007 +0200 [S390] vmcp cleanup No need to use the "&" prefix and, since you're calling nonseekable_open(), there is no need to use no_llseek(). Signed-off-by: Robert P. J. Day Signed-off-by: Martin Schwidefsky commit 0845718dafea3e16041d270c256e8516acf4e13d Author: Jens Axboe Date: Tue Jun 12 20:51:32 2007 +0200 pipe: add documentation and comments As per Andrew Mortons request, here's a set of documentation for the generic pipe_buf_operations hooks, the pipe, and pipe_buffer structures. Signed-off-by: Jens Axboe commit cac36bb06efe4880234524e117e0e712b10b1f16 Author: Jens Axboe Date: Thu Jun 14 13:10:48 2007 +0200 pipe: change the ->pin() operation to ->confirm() The name 'pin' was badly chosen, it doesn't pin a pipe buffer in the most commonly used sense in the kernel. So change the name to 'confirm', after debating this issue with Hugh Dickins a bit. A good return from ->confirm() means that the buffer is really there, and that the contents are good. Signed-off-by: Jens Axboe commit d96e6e71647846e0dab097efd9b8bf3a3a556dca Author: Jens Axboe Date: Mon Jun 11 12:18:52 2007 +0200 Remove remnants of sendfile() There are now zero users of .sendfile() in the kernel, so kill it from the file_operations structure and in do_sendfile(). Signed-off-by: Jens Axboe commit d054fe3d10cc1f9aec01378c38caa32dffdd0090 Author: Carsten Otte Date: Fri Jun 15 08:16:22 2007 +0200 xip sendfile removal This patch removes xip_file_sendfile, the sendfile implementation for xip without replacement. Those customers that use xip on s390 are not using sendfile() as far as we know, and so far s390 is the only platform this could potentially be used on so far. Having sendfile is not a popular feature for execute in place file systems, however we have a working implementation of splice_read() based on fs/splice.c if anyone asks for it. At this point in time, it does not seem preferable to merge splice_read() for xip because it causes extra maintenence effort due to code duplication and it requires struct page behind the xip memory segment. We'd like to get rid of that in favor of supporting flash based embedded platforms (Monta Vista work) soon. Signed-off-by: Carsten Otte Signed-off-by: Jens Axboe commit 932cc6d4f7c35bbf70bce8cc865b6033ff49c9c0 Author: Jens Axboe Date: Thu Jun 21 13:10:21 2007 +0200 splice: completely document external interface with kerneldoc Also add fs/splice.c as a kerneldoc target with a smaller blurb that should be expanded to better explain the overview of splice. Signed-off-by: Jens Axboe commit d6f517568f9f5c26e7404a336c7289d5b4b293ec Author: Jens Axboe Date: Mon Jun 4 10:25:05 2007 +0200 sendfile: remove bad_sendfile() from bad_file_ops do_sendfile() prefers splice over sendfile, so it should not trigger (directly, at least). Signed-off-by: Jens Axboe commit ae976416464b741913a13eea62eb6953ee065733 Author: Hugh Dickins Date: Mon Jun 4 10:00:39 2007 +0200 shmem: convert to using splice instead of sendfile() Remove shmem_file_sendfile and resurrect shmem_readpage, as used by tmpfs to support loop and sendfile in 2.4 and 2.5. Now tmpfs can support splice, loop and sendfile in the simplest way, using generic_file_splice_read and generic_file_splice_write (with the aid of shmem_prepare_write). We could make some efficiency tweaks later, if there's a real need; but this is stable and works well as is. Signed-off-by: Hugh Dickins Signed-off-by: Jens Axboe commit 1db60cf2056511c7c8cebcbaee308ef6c79b4728 Author: Jens Axboe Date: Tue Jun 12 08:43:46 2007 +0200 relay: use splice_to_pipe() instead of open-coding the pipe loop It cleans up the relay splice implementation a lot, and gets rid of a lot of internal pipe knowledge that should not be in there. Plus fixes for padding and partial first page (and lots more) from Tom Zanussi. Signed-off-by: Jens Axboe commit 497f9625c2bbd6a8525fb2eedb22a382a6a8253c Author: Jens Axboe Date: Mon Jun 11 12:00:45 2007 +0200 pipe: allow passing around of ops private pointer relay needs this for proper consumption handling, and the network receive support needs it as well to lookup the sk_buff on pipe release. Signed-off-by: Jens Axboe commit d6b29d7cee064f28ca097e906de7453541351095 Author: Jens Axboe Date: Mon Jun 4 09:59:47 2007 +0200 splice: divorce the splice structure/function definitions from the pipe header We need to move even more stuff into the header so that folks can use the splice_to_pipe() implementation instead of open-coding a lot of pipe knowledge (see relay implementation), so move to our own header file finally. Signed-off-by: Jens Axboe commit ebf9909343392c929d9943c04f421cd42e03b530 Author: Tom Zanussi Date: Mon Jun 4 09:12:05 2007 +0200 splice: relay support Signed-off-by: Jens Axboe commit cf8208d0eabd1d5d2625ec02a175a294c3f30d36 Author: Jens Axboe Date: Tue Jun 12 21:22:14 2007 +0200 sendfile: convert nfsd to splice_direct_to_actor() Signed-off-by: Jens Axboe commit f0930fffa99e7fe0a0c4b6c7d9a244dc88288c27 Author: Jens Axboe Date: Fri Jun 1 11:51:43 2007 +0200 sendfile: convert nfs to using splice_read() Acked-by: Trond Myklebust Signed-off-by: Jens Axboe commit fd5821404e6823997666d668f62c76eae228abc9 Author: Jens Axboe Date: Tue Jun 12 21:20:37 2007 +0200 loop: convert to using splice_direct_to_actor() instead of sendfile() This gets rid of the dependency on ->sendfile() for receiving data and converts loop to ->splice_read() instead. Also includes an IV offset fix from Hugh Dickins. Signed-off-by: Jens Axboe commit 130610d6f681c5d970340897f5db000d04a7ef78 Author: Jens Axboe Date: Tue Jun 12 21:20:00 2007 +0200 splice: add void cookie to the actor data We need that for passing driver private info. Signed-off-by: Jens Axboe commit 0452a4e5d021900b07ebdeecb9ed03b49f164f3f Author: Jens Axboe Date: Fri Jun 1 11:55:49 2007 +0200 sendfile: kill generic_file_sendfile() It's no longer used. Signed-off-by: Jens Axboe commit 5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496 Author: Jens Axboe Date: Fri Jun 1 11:49:19 2007 +0200 sendfile: remove .sendfile from filesystems that use generic_file_sendfile() They can use generic_file_splice_read() instead. Since sys_sendfile() now prefers that, there should be no change in behaviour. Signed-off-by: Jens Axboe commit 534f2aaa6ab07cd71164180bc958a7dcde41db11 Author: Jens Axboe Date: Fri Jun 1 14:52:37 2007 +0200 sys_sendfile: switch to using ->splice_read, if available This patch makes sendfile prefer to use ->splice_read(), if it's available in the file_operations structure. Signed-off-by: Jens Axboe commit 6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7 Author: Jens Axboe Date: Thu Jun 14 13:08:55 2007 +0200 vmsplice: add vmsplice-to-user support A bit of a cheat, it actually just copies the data to userspace. But this makes the interface nice and symmetric and enables people to build on splice, with room for future improvement in performance. Signed-off-by: Jens Axboe commit c66ab6fa705e1b2887a6d9246b798bdc526839e2 Author: Jens Axboe Date: Tue Jun 12 21:17:17 2007 +0200 splice: abstract out actor data For direct splicing (or private splicing), the output may not be a file. So abstract out the handling into a specified actor function and put the data in the splice_desc structure earlier, so we can build on top of that. This is the first step in better splice handling for drivers, and also for implementing vmsplice _to_ user memory. Signed-off-by: Jens Axboe commit 72d3a38ee083a96c09032e608a4c7e047ce26760 Author: Adrian Bunk Date: Mon Jul 9 09:40:44 2007 +0200 unexport bio_{,un}map_user bio_{,un}map_user no longer have any modular users. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit f3f541f9ded9dd37edca103dd3be49bfbd9e730d Author: Jens Axboe Date: Thu Jun 21 08:29:34 2007 +0200 Remove legacy CDROM drivers They are all broken beyond repair. Given that nobody has complained about them (most haven't worked in 2.6 AT ALL), remove them from the tree. A new mitsumi driver that actually works is in progress, it'll get added when completed. Signed-off-by: Jens Axboe commit e654bc4393e85e326993256d80b9710a4d6411ff Author: Boaz Harrosh Date: Wed Jun 20 13:53:23 2007 +0200 [PATCH] fix request->cmd == INT cases - I have unearthed very old bugs in stale drivers that still used request->cmd as a READ|WRITE int - This patch is maybe a proof that these drivers have not been used for a long time. Should they be removed completely? Drivers that currently do not work for sure: drivers/acorn/block/fd1772.c | 2 +- drivers/acorn/block/mfmhd.c | 8 ++++---- drivers/cdrom/aztcd.c | 2 +- drivers/cdrom/cm206.c | 2 +- drivers/cdrom/gscd.c | 2 +- drivers/cdrom/mcdx.c | 2 +- drivers/cdrom/optcd.c | 2 +- drivers/cdrom/sjcd.c | 2 +- Drivers with cosmetic fixes only: b/drivers/block/amiflop.c b/drivers/block/nbd.c b/drivers/ide/legacy/hd.c Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit 9cff3b383dad193b0762c27278a16237e10b53dc Author: Mike Miller (OS Dev Date: Tue Jun 19 20:52:18 2007 +0200 cciss: add new controller support for P700m This patch adds support for the Smart Array P700m SAS controller. This new controller will ship Fall 2007. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit c2bcf3b8978c291e1b7f6499475c8403a259d4d6 Author: Jens Axboe Date: Tue Jun 19 19:13:36 2007 +0200 [PATCH] Remove acsi.c Originally from Boaz Harrosh It hasn't been working in 2.5 or 2.6 ever, since it's still buffer_head based. Signed-off-by: Jens Axboe commit f4b09303d00212ead0619db58d8ec8a0a7a94882 Author: Tejun Heo Date: Tue Jun 19 09:18:13 2007 +0200 [BLOCK] drop unnecessary bvec rewinding from flush_dry_bio_endio Barrier bios are completed twice - once after the barrier write itself is done and again after the whole sequence is complete. flush_dry_bio_endio() is for the first completion. It doesn't really complete the bio. It rewinds bvec and resets bio so that it can be completed again when the whole barrier sequence is complete. The bvec rewinding code has the following problems. 1. The rewinding code is wrong because filesystems may pass bvec with non zero bv_offset. 2. The block layer doesn't guarantee anything about the state of bvec array on request completion. bv_offset and len are updated iff __end_that_request_first() completes the bvec partially. Because of #2, #1 doesn't really matter (nobody cares whether bvec is re-wound correctly or not) but then again by not doing unwinding at all, we'll always give back the same bvec to the caller as full bvec completion doesn't alter bvecs and the final completion is always full completion. Drop unnecessary rewinding code. This is spotted by Neil Brown. Signed-off-by: Tejun Heo Cc: Neil Brown Signed-off-by: Jens Axboe commit 554988d6fe369719ae5b41255c577569ecf47c30 Author: Dave Young Date: Tue Jun 19 09:14:26 2007 +0200 [PATCH] cdrom_sysctl_info fix Fix the cdrom_sysctl_info possible buffer overwrite bug. Also fix the locking of accessing topCdromPtr pointer. Signed-off-by: Dave Young Signed-off-by: Jens Axboe commit 32eef964110985c5845472e07fa0a18838a970c4 Author: Jens Axboe Date: Tue Jun 19 09:09:27 2007 +0200 blk_hw_contig_segment(): bad segment size checks Two bugs in there: - The virt oversize check should use the current bio hardware back size and the next bio front size, not the same bio. Spotted by Neil Brown. - The segment size check should add hw front sizes, not total bio sizes. Spotted by James Bottomley Acked-by: James Bottomley Acked-by: NeilBrown Signed-off-by: Jens Axboe commit 7deeed13170e634adc4552ff94588d6301a3da83 Author: Benjamin Gilbert Date: Tue Jun 19 09:05:21 2007 +0200 [TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK blk_congestion_wait() doesn't exist anymore, but there's still a stub in blkdev.h for the !CONFIG_BLOCK case. Kill it. Signed-off-by: Benjamin Gilbert Signed-off-by: Jens Axboe commit b8ce2272becc87894d95cbdbba42ae72115131f2 Author: Vitaly Bordug Date: Mon Jul 9 11:37:36 2007 -0700 [POWERPC] dts: kill hardcoded phandles Removed explicit linux,phandle usage. Using references and labels now in PQ and PQ2 boards currently supported in arch/powerpc. Signed-off-by: Vitaly Bordug Cc: Arnd Bergmann Cc: Olof Johansson Cc: Dominik Brodowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala commit 80128ff79d282cf71b1819dbca9b8dd47d8ed3e8 Author: Vitaly Bordug Date: Mon Jul 9 11:37:35 2007 -0700 [POWERPC] 8xx: mpc885ads pcmcia support Adds support for PowerQuicc on-chip PCMCIA. The driver is implemented as of_device, so only arch/powerpc stuff is capable to use it, which now implies only mpc885ads reference board. To cope with the code that should be hooked inside driver, but is really board specific (like set_voltage), global structure mpc8xx_pcmcia_ops holds necessary function pointers that are filled in the BSP code. [akpm@linux-foundation.org: whitespace diddles] Signed-off-by: Vitaly Bordug Acked-by: Arnd Bergmann Acked-by: Olof Johansson Cc: Dominik Brodowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala commit 90faf4fa7964a08d36160f7bc3c252866ad1275a Author: Kumar Gala Date: Mon Jul 9 23:51:06 2007 -0500 [POWERPC] CPM_UART: Use inline function form of eieio Signed-off-by: Kumar Gala commit 74a0ba61b1ca96d6bb98889a7d95cd057165da49 Author: Kumar Gala Date: Mon Jul 9 23:49:09 2007 -0500 [POWERPC] Move inline asm eieio to using eieio inline function Use the eieio function so we can redefine what eieio does rather than direct inline asm. This is part code clean up and partially because not all PPCs have eieio (book-e has mbar that maps to eieio). Signed-off-by: Kumar Gala commit cef1a3a5b8697ad76a6d18753e418cfe6a897030 Author: Laurent Pinchart Date: Mon Jul 9 14:58:18 2007 +0200 [PPC] Add linux/pagemap.h to arch/ppc/mm/tlb.c When compiled without swap support, arch/mm/tlb.c complains about missing function declarations. This patch fixes the warnings. Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit d3e0e02804a5f48432a87b839b469e66d1a84f1c Author: Domen Puncer Date: Mon Jul 9 09:52:03 2007 +0200 [POWERPC] 52xx: sparse fixes sparse caught these static functions / __iomem annotations under arch/powerpc/platform/52xx/ Signed-off-by: Domen Puncer Signed-off-by: Kumar Gala commit c03ac582feb1c80ddd5c73e6892d79686340e551 Author: Grant Likely Date: Fri Jul 6 16:29:09 2007 -0600 [POWERPC] 83xx: Add USB support to mpc8349-mitx board port Signed-off-by: Grant Likely Signed-off-by: Kumar Gala commit e5a94af84715d142b1050c927a83dd8b1076774b Author: Li Yang Date: Tue Jul 3 17:43:16 2007 +0800 [POWERPC] 83xx: USB platform code rework Add 831x USB platform setup code and rework 834x USB platform setup code. Move USB platform code to usb.c for different boards with CPU of the same series to share the USB initialization code. Signed-off-by: Li Yang Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 65f88f89c94d877794a6006f210d75d2974a182e Author: Andrew Morton Date: Tue Jul 10 00:43:06 2007 -0400 Input: tsdev - fix broken usec-to-millisecs conversion Noted by Fengwei Yin Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 744c9c33eaa062f716c6ae0bcb022b47c3af8b73 Author: Mike Rapoport Date: Tue Jul 10 00:38:39 2007 -0400 Input: pxa27x_keyboard - fix compile error Signed-off-by: Mike Rapoport Acked-by: Rodolfo Giometti Signed-off-by: Dmitry Torokhov commit 4f179f71607382888c5ce5385a4ee136e1a2002a Author: Andrew Morton Date: Tue Jul 10 00:38:31 2007 -0400 Input: serio_raw - shut up errorneous warning drivers/input/serio/serio_raw.c: In function 'serio_raw_read': drivers/input/serio/serio_raw.c:163: warning: 'c' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 2f1d076a220bf57270020a1e756a9f34108b9338 Author: Robert P. J. Day Date: Tue Jul 10 00:38:18 2007 -0400 Input: update MAINTAINERS to explicitly mention touchscreens Signed-off-by: Robert P. J. Day Signed-off-by: Dmitry Torokhov commit 72a42f242cad8f393bb2556f4cc5175c6cea9892 Author: Hans de Goede Date: Tue Jul 3 01:55:18 2007 -0400 Input: atkbd - change mapping for e032 from KEY_WWW to KEY_HOMEPAGE WWW/Homepage key on Microsoft-compatible keyboards generates KEY_WWW when connected via PS/2 port but KEY_HOMEPAGE when connected via USB. This patch changes mapping in atkbd to match one in HID driver. Signed-off-by: Hans de Goede Acked-by: Vojtech Pavlik Signed-off-by: Dmitry Torokhov commit df561fcd445c9cf9f4fff98ea795a0e72b7dc1e1 Author: Ondrej Zary Date: Tue Jul 3 01:55:03 2007 -0400 Input: usbtouchscreen - add support for IRTOUCHSYSTEMS touchscreens This patch adds support for IRTOUCHSYSTEMS (or UNITOP) infrared touchscreens. The touchscreen sends data in 8-byte packets. BYTE 0 - unknown meaning, seen only one value: 0x54 BYTE 1 - unknown meaning, 3 lowest bits indicate touch state values seen: 0x81, 0x82 or 0x83 bit 0 = set if the screen is touched and was not touched before (touch bit 1 = set if the screen is touched and was touched (dragging) bit 2 = set if the touch was ended (release) BYTES 2 and 3 - X position, high-order-byte first, range = 0 to 0x0FFF BYTES 4 and 5 - Y position, high-order-byte first, range = 0 to 0x0FFF BYTE 6 - unknown meaning, seen only one value: 0xFF BYTE 7 - unknown meaning, seen only one value: 0x00 Signed-off-by: Ondrej Zary Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 1e2831db01c0726ec046e69719a10d7696b283fb Author: Dmitry Torokhov Date: Thu Jun 14 23:58:51 2007 -0400 Input: ppc-beep - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Also, do not access input_dev->private directly, use helpers. Signed-off-by: Dmitry Torokhov commit ae91d10aab2762f81733e9194cb56eff99c8d808 Author: Dmitry Torokhov Date: Thu Jun 14 23:49:55 2007 -0400 Input: xpad - fix report for dpad and inverted Y and RY axes on xbox 360 Make the driver report Y/RY up as positive value and down as negative. Also make DPAD mapping the same as classic xpad. Reported-by: Brian Magnuson Tested-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 6426b333a7365035ede9744faa24bdc5682fad8a Author: Adrian Bunk Date: Thu Jun 14 23:33:26 2007 -0400 Input: xpad - make xpad_play_effect() static xpad_play_effect() does not need to be global. Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 2e8335a629e48a753642772a5fe758c12d2e48bf Author: Jan Kratochvil Date: Thu Jun 14 23:33:13 2007 -0400 Input: xpad - fix check for succesful usb_buffer_alloc Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 5ec1f7f3e4a4896062dc6a64d38036588733bc23 Author: Andi Drebes Date: Thu Jun 14 23:33:01 2007 -0400 Input: grip-mp - use ARRAY_SIZE Signed-off-by: Andi Drebes Signed-off-by: Dmitry Torokhov commit 7ecfbfd3d000a5d6787cf3369228e7f0082b8758 Author: Ping Cheng Date: Thu Jun 14 23:32:48 2007 -0400 Input: wacom - add support for the new Bamboo tablets Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 5f5655023f2814969b744c1e07494666587243aa Author: Hans-Christian Egtvedt Date: Thu Jun 14 23:32:35 2007 -0400 Input: add gpio-mouse driver Adds support for simulating a mouse using GPIO lines. The driver needs an appropriate platform device to be created by architecture code. The driver has been tested on AT32AP7000 microprocessor using the ATSTK1000 development board. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Dmitry Torokhov commit 9657d75c5f0f7d0a9cb507521d3ad1436aea28c9 Author: Dmitry Torokhov Date: Thu Jun 14 23:32:24 2007 -0400 Input: convert from class devices to standard devices Signed-off-by: Dmitry Torokhov commit d63219a10126b878abbbffdf4c5bcf29ef756b7f Author: Dmitry Torokhov Date: Thu Jun 14 23:31:45 2007 -0400 Input: wistron - add support for querying/changing keymap Implement getkeycode and setkeycode methods for the device so EVIOCGKEYCODE and EVIOCSKEYCODE ioctls will work. Signed-off-by: Dmitry Torokhov commit c2554c91425a86e5d0409a76b7ddcb328362f08b Author: Dmitry Torokhov Date: Tue May 22 23:48:39 2007 -0400 Input: wistron - convert to use input-polldev Switch to using input-polldev skeleton instead of implementing polling loop by itself. Signed-off-by: Dmitry Torokhov commit 389679d8faa38bb6d069d9e1805f15e3cb9a6d7f Author: Eric Piel Date: Mon May 21 00:46:31 2007 -0400 Input: wistron - add LED support Add support to wistron_btns for leds that come with the multimedia keys. Mail and wifi leds are supported, on laptops which have them. Depending on the laptop, wifi subsystem may control just the led, or both the led and the wifi card. Wifi led interface is activated only for the former type of laptops, as the latter type is already managed. Leds are controled by the interface in /sys/class/leds. Signed-off-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit a4da16d3838669d7fb096ea5d1e4917e5ca4dc16 Author: Eric Piel Date: Mon May 21 00:46:22 2007 -0400 Input: wriston - reduce polling frequency Reduces the polling frequency from 10 Hz to 2 Hz, which should be less a burden for laptops wrt energy saving. As it is multimedia keys, 500ms (maximum) of latency should be still fine for the user. In order to keep fluent the feeling when the user is pressing several keys in a raw (such as changing the volume), the frequency is increased for a short duration after a key is pressed. Signed-off-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 5035522d1a6b55f95e7e01c209b57f5d89f88b16 Author: Rene van Paassen Date: Mon May 21 00:32:21 2007 -0400 Input: aiptek - update driver version Update credits and version number to 2.3 Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 1e7b3faed1793e7637a774240ae22541c5ba6ca0 Author: Rene van Paassen Date: Mon May 21 00:32:17 2007 -0400 Input: aiptek - rework the function key code Function keys (also called macro keys) code corrected. Using a lastMacro variable to keep track of key currently pressed. This ensures proper resetting when dragging the pen in the drawing area or to another key. Also suppress sending pressure reports when over the macro key area. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 0112db36ef95e5632db071297f7df130725c47b9 Author: Rene van Paassen Date: Mon May 21 00:32:12 2007 -0400 Input: aiptek - tolerate newlines in sysfs files Now echo "some value" > /sys/......./somefile is also acceptable. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit b3b6cf1d47508a04de859d357789a3fc0cf8c690 Author: Rene van Paassen Date: Mon May 21 00:32:07 2007 -0400 Input: aiptek - correct the tool switching code Now the old tool is remembered, and reset when a new tool is selected via the sysfs files. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit da9fda434cde76dfb8174548a63b685b4ac00a9c Author: Rene van Paassen Date: Mon May 21 00:32:03 2007 -0400 Input: aiptek - use only absolute misc reports To get an on - off reporting for proximity, absolute misc reports are used. The mixture of absolute and relative reports is awkward Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 6125a400354c4a02b9dad0e5d8128f9dc08cfd51 Author: Rene van Paassen Date: Mon May 21 00:31:59 2007 -0400 Input: aiptek - put sensible warnings in probe Added warnings to the points where the tablet probe may fail Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 1a54f49e8989462cfc9cab0c377b2d4e60e5b70a Author: Rene van Paassen Date: Mon May 21 00:31:55 2007 -0400 Input: aiptek - use set_bit instead of bitwise or Have to use set_bit since some bit values are over 32, and bitwise or won't work on these. To be safe for the future too, use set_bit for all input dev capabilities Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 0038cae0ffd72b75699010bd112655dc2615e2fd Author: Mark Vytlacil Date: Mon May 21 00:31:50 2007 -0400 Input: aiptek - fix relative mode parsing Corrections to relative mode, was looking at wrong byte Signed-off-by: Mark Vytlacil Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit ce0982edaec2c46dc9ec466e03f1fe94ee0862d8 Author: Rene van Paassen Date: Mon May 21 00:31:45 2007 -0400 Input: aiptek - fixed mouse button defines Mouse button defines tested the wrong bits, now fixed Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit fe981f2340edffcb6aad2203d8f14c9bef0e67e3 Author: Rene van Paassen Date: Mon May 21 00:31:24 2007 -0400 Input: aiptek - correct the proximity and validity checks Calculation of proximity bit and of data valid bits were reversed for stylus reports. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 2fe574167be6a61d5f37c496da01c4a7daa73f4d Author: Rene van Paassen Date: Mon May 21 00:18:24 2007 -0400 Input: aiptek - correct documentation on reports Small fix that corrects the documentation on the report byte format produced by the mouse Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 33936fa603f2524a7dde08d22637d0989a4e8fdd Author: Dmitry Torokhov Date: Mon May 21 00:18:15 2007 -0400 Input: aiptek - use array to list all buttons When setting up input device use an array to list all the buttons instead of setting every bit separately. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 37767b66ed61ee37f0d8f40523f74c31bc187d1d Author: Dmitry Torokhov Date: Mon May 21 00:18:08 2007 -0400 Input: aiptek - kill aiptek_convert_from_2s_complement() There is no reason to do that, just tell the compiler that we are dealing with signed values in buffer, that's it. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit cd438a58c89221d8642455d0cc8ec96d3b822f6e Author: Dmitry Torokhov Date: Mon May 21 00:17:57 2007 -0400 Input: aiptek - use maps in attributes Use maps to convert for strings to internal constants and vice versa in aiptek's sysfs attribute methods instead of open-coding it. This results in smaller code that is also easier to maintain. [Rene: fix a typo - stylys instead of stylus] Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 02fb6c385c72823af4fac83963a05be9163c73ea Author: Dmitry Torokhov Date: Mon May 21 00:17:44 2007 -0400 Input: aiptek - do not check for NULL in attribute methods It makes no sense to check for NULL in attribute methods - we do usb_set_intfdata before creating attributes and once attributes have been removed we are guaranteed to not be called. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit b087e1f3ee9ae4da49fdeca2b0f0f8fc5a886a79 Author: Dmitry Torokhov Date: Mon May 21 00:17:37 2007 -0400 Input: aiptek - use attribute group Use attribute group to simplify error handling and reduce code. [Rene: add missing NULL to properly terminate aiptek_attributes] Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 5c659c62f9f60633a8de17bd17afaa448f1e1d68 Author: Dmitry Torokhov Date: Mon May 21 00:17:22 2007 -0400 Input: aiptek - remove vendor and product attributes from sysfs They are already exported by input core; there is no need to do it twice. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 9b40ed088bb14ebed30540b19d5c417dc4d9d528 Author: Dmitry Torokhov Date: Mon May 21 00:17:12 2007 -0400 Input: aiptek - do not try to export associated event device Do not try to export via sysfs associated event device - it does not work when evdev is a module that is loaded after aiptek; also it pokes too deply into input core internals. Userspace should rely on udev to set up permanent device name for the tablet. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit aea6a46122a0ce65a831fd93cac6d2084ac666f9 Author: Aristeu Rozanski Date: Thu May 10 01:47:18 2007 -0400 Input: psmouse - add support for Cortron PS/2 Trackballs Cortron PS/2 Trackballs (700-0001A) report the 4th button using the 4th bit of the first packet (yes, it breaks the standard PS/2 protocol). This patch adds an extra protocol to generate BTN_SIDE based on the 4th bit. There's no way to detect those trackballs using any kind of special sequence, thus the protocol must be activated explicitely by writing into 'protocol' sysfs attribute: echo -n "cortps" > /sys/devices/platform/i8042/serio1/protocol Signed-off-by: Aristeu Rozanski Signed-off-by: Dmitry Torokhov commit e01a06e8df239de0ffd4ee37d296c7bc3f57e817 Author: Jan Kratochvil Date: Wed May 9 00:27:51 2007 -0400 Input: xpad - add Xbox360 gamepad rumble support Implementation is using force feedback support for memoryless devices. Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit c7d9f7eb30dccf601cbdc67d5bd452f54ce90ce4 Author: Jan Kratochvil Date: Wed May 9 00:27:37 2007 -0400 Input: xpad - add support for Xbox 360 gamepad Xbox 360 gamepad is slightly different then the previous model so it has its own version of process_packet method. Detection of this new device relies on USB_DEVICE_INTERFACE_PROTOCOL macro. This device got vendor specific subclass so it can't be matched with USB_INTERFACE_INFO and we need only one interface protocol from four availaible. It means USB_DEVICE can't be used either. Added xpad360_btn structure with additional buttons for x360 gamepad. Added xtype into xpad_device structure to distinguish between different types of xbox devices. Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit f836ac808f031e84d7d73a3540f30f38036bb41e Author: Jan Kratochvil Date: Wed May 9 00:26:15 2007 -0400 USB: Add USB_DEVICE_INTERFACE_PROTOCOL macro The USB_DEVICE_INTERFACE_PROTOCOL will allow to match one interface protocol of vendor specific device. This macro is used in patch adding support for xbox360 to xpad.c Signed-off-by: Jan Kratochvil Signed-off-by: Greg Kroah-Hartman Signed-off-by: Dmitry Torokhov commit 749e80810d26c8d522b089718f22bb92d7834a37 Author: Roy Zang Date: Fri Jun 1 16:05:38 2007 +0800 [POWERPC] Remove redundant pci_read_irq_line() function for 85xx platform Remove redundant pci_read_irq_line() function for 85xx CDS board. This function has been realized in common ppc pci code. Signed-off-by: Roy Zang Acked-by: Andy Fleming Acked-by: Benjamin Herrenschmidt Signed-off-by: Kumar Gala commit f72d2f081453d8b1ea36e47478c3463042746ddc Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:33:52 2007 +0200 IB/ehca: Improve latency by unlocking after triggering the hardware Kick the hardware before unlocking the send/receive queue to overlap processing a little more. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 8705ce5b90118be93eb8b0ed6f49ca5ff377df24 Author: Joachim Fenkes Date: Mon Jul 9 15:32:22 2007 +0200 IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events When firmware reports a nondisruptive port configuration change event, previous versions of the eHCA driver didn't forward the event to consumers like IPoIB. Add code that determines the type of configuration change by comparing old and new port attributes and reports it. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b1cfe43d4b24144596d277133e0e5b715eea1347 Author: Joachim Fenkes Date: Mon Jul 9 15:31:53 2007 +0200 IB/ehca: Return QP pointer in poll_cq() Also add two unlikely() statements. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 26ed687fdd541c2542b79dcd75fb2c82eb36f189 Author: Joachim Fenkes Date: Mon Jul 9 15:31:10 2007 +0200 IB/ehca: Change idr spinlocks into rwlocks This eliminates lock contention among IRQs as well as the need to disable IRQs around idr_find, because there are no IRQ writers. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 28db6beb420c756c61dd44d9f2786a0677159e74 Author: Joachim Fenkes Date: Mon Jul 9 15:30:39 2007 +0200 IB/ehca: Refactor sync between completions and destroy_cq using atomic_t - ehca_cq.nr_events is made an atomic_t, eliminating a lot of locking. - The CQ is removed from the CQ idr first now to make sure no more completions are scheduled on that CQ. The "wait for all completions to end" code becomes much simpler this way. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 9844b71baa60270110eabaa9589d3260443d1a71 Author: Joachim Fenkes Date: Mon Jul 9 15:29:03 2007 +0200 IB/ehca: Lock renaming, static initializers - Rename all spinlock flags to "flags", matching the vast majority of kernel code. - Move hcall_lock into the only file it's used in. - Replaced spin_lock_init() and friends with static initializers for global variables. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 15f001ec47b049051f679f8b8c965ac9aae95b3e Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:28:18 2007 +0200 IB/ehca: Report RDMA atomic attributes in query_qp() Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 85f003172fc130626261730141ed021258e81f85 Author: Stefan Roscher Date: Mon Jul 9 15:27:13 2007 +0200 IB/ehca: Set SEND_GRH flag for all non-LL UD QPs on eHCA2 Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 472803dab844c0a8a5d757d4c67fa5e76013dcbd Author: Stefan Roscher Date: Mon Jul 9 15:26:31 2007 +0200 IB/ehca: Support UD low-latency QPs Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a6a12947fbf4a1782535468d756b0d44babf9760 Author: Joachim Fenkes Date: Mon Jul 9 15:25:10 2007 +0200 IB/ehca: add Shared Receive Queue support Support SRQs on eHCA2. Since an SRQ is a QP for eHCA2, a lot of code (structures, create, destroy, post_recv) can be shared between QP and SRQ. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 9a79fc0a1b815cbd05a8e37ea838acfccb7235cc Author: Joachim Fenkes Date: Mon Jul 9 15:23:15 2007 +0200 IB/ehca: QP code restructuring in preparation for SRQ - Replace init_qp_queues() by a shorter init_qp_queue(), eliminating duplicate code. - hipz_h_alloc_resource_qp() doesn't need a pointer to struct ehca_qp any longer. All input and output data is transferred through the parms parameter. - Change the interface to also support SRQ. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 91f13aa3fc22e357b494c5b8270e94543870928d Author: Joachim Fenkes Date: Mon Jul 9 15:21:45 2007 +0200 IB/ehca: HW level, HW caps and MTU autodetection In preparation for support of new eHCA2 features, change adapter probing: - Hardware level is changed to encode major and minor chip version - Hardware capabilities are queried from the firmware - The maximum MTU is queried from the firmware instead of assuming a fixed value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b8a3ba551369982180917a999d32fcedbba34115 Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:20:55 2007 +0200 IB/ehca: Change scaling_code parameter description to match default value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit f41d229865c984015914221959675b1c8723f6a7 Author: Sean Hefty Date: Thu Jun 28 19:16:20 2007 -0700 IB/ipath: return correct PortGUID in NodeInfo Return the PortGUID of the correct port when responding to a NodeInfo query. Returning the SystemImageGUID causes issues when there are multiple HCAs in a single system. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 78526821bee8506ab903f596e8e6187fa5919877 Author: Roland Dreier Date: Mon Jul 9 20:12:26 2007 -0700 IB: Update mailing list address The InfiniBand / RDMA discussion list has moved. Signed-off-by: Roland Dreier commit 4f5973fd3bed9dbff0940ad6cc918be64a17b3e4 Author: Arthur Jones Date: Fri Jul 6 12:48:58 2007 -0700 IB/ipath: Remove bogus RD_ATOMIC checks from modify_qp The changeset 3859e39d ("IB/ipath: Support larger IB_QP_MAX_DEST_RD_ATOMIC and IB_QP_MAX_QP_RD_ATOMIC") added support for larger RD_ATOMIC values, but it failed to take out the stricter checks that were before these and hence had no effect. This patch takes out the bogus checks.... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 3588423fbab1cfaf839e67378897e232a054f317 Author: Arthur Jones Date: Fri Jul 6 12:48:53 2007 -0700 IB/ipath: Test interrupts at driver startup All too often, interrupts do not get enabled for our card due to BIOS misconfiguration and other issues. This patch checks for that condition on startup and warns the user. This patch is based on work (check LID availability) by Robert Walsh. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 9ca48655667214be6ebd191628a3c4b5b529a87e Author: Ralph Campbell Date: Fri Jul 6 12:48:48 2007 -0700 IB/ipath: Remove support for preproduction HTX InfiniPath cards Clean up some code by removing support for some older pre-production HTX InfiniPath cards. Signed-off-by: Ralph Campbell commit 12f9a49e1bce241c243268c764e1b37391157cd0 Author: Dave Olson Date: Fri Jul 6 12:48:43 2007 -0700 IB/ipath: Change version wording to be less confusing with release number Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 37a7e9b7f28fbef4b6abda102fa41c1467f6022f Author: Ralph Campbell Date: Fri Jul 6 12:48:38 2007 -0700 IB/ipath: Lower default number of kernel send buffers The default calculation for the number of send buffers to allocate to the kernel was too high for the PCIe version of the chip thus leaving fewer than desired send buffers for user MPI applications. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f42b6471e9e9082ed4bcba1456eccadf98f1337a Author: Arthur Jones Date: Mon Jul 9 20:12:26 2007 -0700 IB/ipath: Update MAINTAINERS entry Bryan is no longer with QLogic and we now have a public git server and a public email alias for infinipath driver patches. And, as pointed out by Hal Rosenstock, the mailing list has changed as well. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 0f4fc5ebd9a68ede20ca365576a6df2df2fefc4c Author: Dave Olson Date: Fri Jul 6 12:48:33 2007 -0700 IB/ipath: Be more cautious about coming out of freeze mode We are more careful to be sure that we don't lose information about changes that occurred while we were in freeze mode, when the chip will not notify us, and try to avoid false error interrupts while doing cleanup. Put all of this logic in a new function ipath_clear_freeze(). Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 4fc570bcbe77f823aae183dd824869f79e74cc97 Author: Ralph Campbell Date: Fri Jul 6 12:48:23 2007 -0700 IB/ipath: Add barrier before updating WC head in shared memory Add a barrier to make sure the CPU doesn't reorder writes to memory, since user programs can be polling on the head index update and the entry should be written before that. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 06cc85086e6896939f8c68f8518224748f6b0b2f Author: Jan Engelhardt Date: Wed May 23 14:21:22 2007 -0700 IB: Use menuconfig for InfiniBand menu Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 6abb6ea80b6564c00906aa0727cf59d2be780d82 Author: WANG Cong Date: Mon Jul 9 20:12:26 2007 -0700 RDMA/cxgb3: Check return of kmalloc() in iwch_register_device() Signed-off-by: WANG Cong [ Also remove cast from void * return of kmalloc() as suggested by Jesper Juhl . ] Signed-off-by: Roland Dreier commit ecc2f0060fa7ff2fc53864ee19e370e5ddd47d5e Author: Steve Wise Date: Mon Jun 25 12:46:00 2007 -0500 RDMA/cxgb3: Don't abort after failures sending the mpa reply This bug results in an abort request being sent down _after_ the tid has been released. If the tid happens to have been reused, then the subsequent generation of the tid gets incorrectly aborted. The thread running iwch_accecpt_cr() must not abort a connection if an error is returned after being awakened. If any errors did occur while iwch_accept_cr() is blocked, then the connection has already been aborted on the thread processing the error. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 96d0e4931e264012f57a2ae8f7c4697bfa55386a Author: Steve Wise Date: Thu Jun 21 18:17:57 2007 -0500 RDMA/cxgb3: Don't post TID_RELEASE message The LLD does this for us in cxgb3_remove_tid(). Also fixed active open failure cases where we also shouldn't be releasing the TID. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 6eda48d1e82f901d977a405e43a849dc79968d61 Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: ctrl-qp init/clear shouldn't set the gen bit Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 1580367e7b2068d075cd42d04c4b8c274815e6fc Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: Don't count neg_adv abort_req_rss messages as real aborts Negative advice messages should _not_ count toward the 2 abort requests needed to indicate an abort request. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit fb497d726612bb0e50240405aaabcf37f13901ed Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: TERMINATE WRs can hang the tx ofld queue Don't set the gen bits nor length bits in the terminate WR. This is done by the LLD driver. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit de3d353072f9342f04112ba0504c3e294220cb8f Author: Steve Wise Date: Mon May 14 13:27:27 2007 -0500 RDMA/cxgb3: Streaming -> RDMA mode transition fixes Due to a HW issue, our current scheme to transition the connection from streaming to rdma mode is broken on the passive side. The firmware and driver now support a new transition scheme for the passive side: - driver posts rdma_init_wr (now including the initial receive seqno) - driver posts last streaming message via TX_DATA message (MPA start response) - uP atomically sends the last streaming message and transitions the tcb to rdma mode. - driver waits for wr_ack indicating the last streaming message was ACKed. NOTE: This change also bumps the required firmware version to 4.3. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 149983af609e8f5c57157467baf8545d17b8a6a1 Author: Dotan Barak Date: Tue Jun 26 15:55:28 2007 +0300 mlx4_core: Get the maximum message size from reported device capabilities Get the maximum message size from the device capabilities returned from the QUERY_DEV_CAP firmware command, rather than hard-coding 2 GB. Signed-off-by: Dotan Barak Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 87427da55bc03dbce7906a5b09ed50279d654d28 Author: John Gregor Date: Mon Jun 11 10:21:14 2007 -0700 IB/ipath: Update copyright dates Now that it's June, it's about time to update the copyright notices of files that have changed. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 991bda284dcbc1ed0522683320043ac41d70c82c Author: Robert Walsh Date: Mon Jun 4 09:55:48 2007 -0700 IB/ipath: Clean send flags properly on QP reset Signed-off-by: Robert Walsh Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f2d042313e420002b06715675963cfab48ed2597 Author: Robert Walsh Date: Mon Jun 18 14:24:49 2007 -0700 IB/ipath: ipath_poll fixups and enhancements Fix ipath_poll and enhance it so we can poll for urgent packets or regular packets and receive notifications of when a header queue overflows. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit b506e1dc59726a1c608f26e7294b9fe186255139 Author: Robert Walsh Date: Mon Jun 18 14:24:48 2007 -0700 IB/ipath: Send ACK invalid where appropriate The IB specification ch. 9.9.3 table 58 says that a QP which isn't set up for the operation should return a NAK invalid request. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit e8e7ad711509f576b1bffd92c3ae4672fe92ec48 Author: Michael Albaugh Date: Mon Jun 18 14:24:47 2007 -0700 IB/ipath: Add capability to modify PBC word During compliance testing and when debugging some interconnect issues, it is very useful to be able to send malformed packets, without having the device signal them as malformed (drop, or terminate with EBP). The hardware supports this, but the driver "diagnostic packet" interface did not. Extend capability to send specific malformed packets for testing. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit bacf4013530e7fc230a8aa0c6ea3c17fc2f47665 Author: Mark Debbage Date: Mon Jun 18 14:24:46 2007 -0700 IB/ipath: Make handling of one subport consistent Previously the driver and userspace code handled the case of 1 subport somewhat inconsistently. The new interpretation of this situation is that if one subport is requested, the driver turns on the subport mechanism and arranges for the port to be "shared" by one process. In normal use the userspace library does not use this configuration and instead arranges for the port not to be shared at all. This particular idiom can be useful for testing purposes. Signed-off-by: Mark Debbage Signed-off-by: Roland Dreier commit 0df6291c8af2778d05f278d5738eef2c8fafa2dd Author: Mark Debbage Date: Mon Jun 18 14:24:45 2007 -0700 IB/ipath: Correct checking of swminor version field when using subports When subports are required to run a program, this patch checks that the driver and the userspace library have compatible subport implementations. This is achieved through checks on the swminor version field built into the driver and userspace library. Bad combinations are reported through syslog and result in an error when opening the port. Signed-off-by: Mark Debbage Signed-off-by: Roland Dreier commit d781b129f1e8b3e2f369d8035a61a5233832e65c Author: Ralph Campbell Date: Mon Jun 18 14:24:44 2007 -0700 IB/ipath: Duplicate RDMA reads can cause responder to NAK inappropriately A duplicate RDMA read request can fool the responder into NAKing a new RDMA read request because the responder wasn't keeping track of whether the queue of RDMA read requests had been sent at least once. For example, requester sends 4 2K byte RDMA read requests, times out, and resends the first, then sees the 4 responses, then sends a 5th RDMA read or atomic operation. The responder sees the 4 requests, sends 4 responses, sees the resent 1st request, rewinds the queue, then sees the 5th request but thinks the queue is full and that the requester is invalidly sending a 5th new request. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 30d149ab58cc3ed8e4bc9c4dc45bebbed0e84b6e Author: Ralph Campbell Date: Mon Jun 18 14:24:44 2007 -0700 IB/ipath: Fix possible data corruption if multiple SGEs used for receive The code to copy data from the receive queue buffers to the IB SGEs doesn't check the SGE length, only the memory region/page length when copying data. This could overwrite parts of the user's memory that were not intended to be written. It can only happen if multiple SGEs are used to describe a receive buffer which almost never happens in practice. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit db5518cd09c21f0fa70af0a4ca38badd90622c9e Author: Ralph Campbell Date: Mon Jun 18 14:24:43 2007 -0700 IB/ipath: Wait for PIO available interrupt The send function is called when posting new send work requests. There is no point in trying to send a packet if the QP is already waiting for a HW send buffer so don't clear the busy bit until the buffer available interrupt happens. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 06ee109002672ac875558ec699b53cf08a865bd3 Author: Ralph Campbell Date: Mon Jun 18 14:24:42 2007 -0700 IB/ipath: Fix RDMA read retry code A RDMA read response or atomic response can ACK earlier sends and RDMA writes. In this case, the wrong work request pointer was being used to store the read first response or atomic result. Also, if a RDMA read request is retried, the code to compute which request to resend was incorrect. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9380068fc2f230e7840ff87d3f1e6030ae2ee5e8 Author: Dave Olson Date: Mon Jun 18 14:24:41 2007 -0700 IB/ipath: Use S_ABORT not cancel and abort on exit freeze mode after recovery This centralizes the use of the abort functionality, removes the unneeded buffer cancel (abort does the same thing), sets up to ignore launch errors after abort, same as cancel. We need abort on exit from freeze mode to avoid having buffers stuck in the busy state, if a user process happened to complete the send while we were in freeze mode doing the recovery. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 561095f20eeb5c6c05c303bad8cdb3f8a80821bc Author: Dave Olson Date: Mon Jun 18 14:24:40 2007 -0700 IB/ipath: Fix the mtrr_add args for chips with 2 buffer sizes The values passed have never been right for iba 6120 chips, but just happened to work. We needed to select the right buffer offset in the chip (both are in same register), and the total length was wrong also, but was covered by the rounding up. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit f716cdfe57f217966f41a7add190d6f5b9fd0769 Author: Joan Eslinger Date: Mon Jun 18 14:24:39 2007 -0700 IB/ipath: Change use of constants for TID type to defined values Define pkt rcvd 'type' in a way consistent with HW spec and chips. The hardware considers received packets of type 0 to be expected, and type 1 to be eager. The driver was calling the ipath_f_put_tid functions using a variable called 'type' set to 0 for eager and to 1 for expected packets. Worse, the iba6110 and iba6120 drivers used those values inconsistently. This was quite confusing. Now everything is consistent with the hardware. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1dd6a1be1416be48cafda9e63a614f26f0428d10 Author: Ralph Campbell Date: Mon Jun 18 14:24:38 2007 -0700 IB/ipath: Set M bit in BTH according to IB spec According to chapter 17.2.8.1.1, QPs start in the migrated state and should send packets with the M bit set in the BTH. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6d2fad0472ca0d6caba7c36d2823a527e2a0e4f5 Author: Ralph Campbell Date: Mon Jun 18 14:24:38 2007 -0700 IB/ipath: Fix local loopback bug when waiting for resources This patch fixes a minor bug where the wrong QP was checked for a send work request that should wait for an RNR timeout. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 2c9749c3b534ea0e606b7ee2c29849bbb8d5b0a9 Author: Ralph Campbell Date: Mon Jun 18 14:24:37 2007 -0700 IB/ipath: Fix problem with next WQE after a UC completion This patch fixes a bug introduced when moving some code around for readability. Setting the wqe pointer at the end of the function is a NOP since it isn't used. Move it back to where it is used. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit fdc7215fbd7b7652b052d1fb7893afe324dba7aa Author: Robert Walsh Date: Mon Jun 18 14:24:36 2007 -0700 IB/ipath: Fill in some missing FMR-related fields in query_device In ipath_query_device(), some of the struct ib_device_attr fields were not being initialized. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit e7340f04426416a6655ffaead4651bfb9e1b0848 Author: Robert Walsh Date: Mon Jun 18 14:24:35 2007 -0700 IB/ipath: Fix maximum MTU reporting Although our chip supports 4K MTUs, our driver doesn't yet support this feature, so limit the maximum MTU to 2K until we get support for 4K MTUs implemented. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit 380bf5d38f3cc2799ed2fae554f7af1c4b0ed35b Author: Dave Olson Date: Mon Jun 18 14:24:35 2007 -0700 IB/ipath: Support the IBA6110 revision 4 Recognize IBA 6110 Revision 4: same feature set, etc. as earlier revisions. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit aecd3b5ab19624ca9644b9df9c61615282d8923f Author: Michael Albaugh Date: Thu May 17 07:26:28 2007 -0700 IB/ipath: Log "active" time and some errors to EEPROM We currently track various errors, now we enhance that capability by logging some of them to EEPROM. We also now log a cumulative "active" time defined by traffic though the InfiniPath HCA beyond the normal SM traffic. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 8e9ab3f1c9e34d5c28446c3738983d33a3937fe0 Author: John Gregor Date: Thu May 17 08:15:50 2007 -0700 IB/ipath: Remove incompletely implemented ipath_runtime flags and code The IPATH_RUNTIME_PBC_REWRITE and the IPATH_RUNTIME_LOOSE_DMA_ALIGN flags were not ever implemented correctly and did not turn out to be necessary. Remove the last vestiges of these flags but mark the spot with a comment to remind us to not reuse these flags in the interest of binary compatibility. The INFINIPATH_XGXS_SUPPRESS_ARMLAUNCH_ERR bit was also not found to be useful, so it was dropped in the cleanup as well. Signed-off-by: John Gregor Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 17b2eb9fe6bfadcb3ece308ed50193d10b71ba6e Author: Michael Albaugh Date: Thu May 17 07:05:04 2007 -0700 IB/ipath: Lock and always use shadow copies of GPIO register The new LED blinking interface adds more contention for the unprotected GPIO pins that were already shared, though not commonly at the same time. We add locks to the accesses to these pins so that Read-Modify-Write is now safe. Some of these locks are added at interrupt context, so we shadow the registers which drive and inspect these pins to avoid the mmio read/writes. This mitigates the effects of the locks and hastens us through the interrupt. Add locking and always use shadows for registers controlling GPIO pins (ExtCtrl and GPIOout). The use of shadows implies doing less I/O, which can make I2C operation too fast on some platforms. An explicit udelay(1) in SCL manipulation fixes that. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 82466f00ec6ef0a5ca7ea8991c731af2ec561c7d Author: Michael Albaugh Date: Wed May 16 15:45:09 2007 -0700 IB/ipath: Support blinking LEDs with an led_override file When we want to find an InfiniPath HCA in a rack of nodes, it is often expeditious to blink the status LEDs via a userspace /sys file. A write-only led_override "file" is published per device. Writes to this file are interpreted as (string form) numbers, and the resulting value sent to ipath_set_led_override(). The upper eight bits are interpretted as a 4.4 fixed-point "frequency in Hertz", and the bottom two 4-bit values are alternately (D0..3, then D4..7) used by the board-specific LED-setting function to override the normal state. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit a024291b367f98188f4da4a66a9f2f40a2163efb Author: Bryan O'Sullivan Date: Wed May 16 15:31:19 2007 -0700 IB/ipath: Include to fix ppc64 build Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 525f5f44c487201c91a11904516ee56dea93644e Author: Michael S. Tsirkin Date: Mon Jul 9 20:12:20 2007 -0700 mlx4_core: Include linux/mutex.h from mlx4.h mlx4.h uses struct mutex, so although seems to be pulled in indirectly by one of the headers it includes, the right thing to do is to include directly. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit fb8c4b14d9259ba467241a7aaeb712caedce7ee8 Author: Steve French Date: Tue Jul 10 01:16:18 2007 +0000 [CIFS] whitespace cleanup More than halfway there Signed-off-by: Steve French commit 70e8992ec771793e18d33d3a6f2247e558baf6ac Author: Dave Jones Date: Mon Jul 9 20:23:50 2007 -0400 [AGPGART] Hand off AGP maintainence. Most of the AGP changes recently have been done in lock-step with DRM updates, so it's probably easier to have airlied pushing AGP changes at the same time he does DRM updates. [Also remove my name from the boot messages. Cautionary tale to others: Never do this, when computers don't boot, people assume you're responsible even if 15 other subsystems initialised after yours. :-) ] Signed-off-by: Dave Jones Signed-off-by: Dave Airlie commit 63019d9329628a5056b3a0c76aee955873dc25c3 Author: Michael S. Tsirkin Date: Mon Jun 11 08:56:10 2007 +0300 IB/mlx4: Include linux/mutex.h from mlx4_ib.h mlx4_ib.h uses struct mutex, so although seems to be pulled in indirectly by one of the headers it includes, the right thing is to include directly. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 1d3f4b905a786d69103d9e6d8e92683fb2c7a027 Author: Andrew Morton Date: Fri Jun 8 16:29:43 2007 -0700 IB: Fix ib_umem_get() when npages == 0 gcc correctly warned: drivers/infiniband/core/umem.c: In function 'ib_umem_get': drivers/infiniband/core/umem.c:78: warning: 'ret' may be used uninitialized in this function Set ret to 0 in case npages == 0 and the loop isn't entered at all. Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 43506d954e43933cd6fdcab679f6ab057e7607c6 Author: Roland Dreier Date: Mon Jul 9 16:17:32 2007 -0700 IB: Remove garbage non-ASCII characters from comments A few files had 0xa0 characters in comments. Remove them so that the files are clean ASCII text. Signed-off-by: Roland Dreier commit fffba373ef8cc9a5881353395c4edd1ab27cf154 Author: Joachim Fenkes Date: Thu May 24 16:51:05 2007 +0200 IB/ehca: Refactor "maybe missed event" code Refactor the ehca changes from commit ed23a727 ("IB: Return "maybe missed event" hint from ib_req_notify_cq()") so the queue arithmetic is done in slightly fewer lines. Also, move the spinlock flags into the block they're used in. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 1bae4dbf9576e563da23927e4078fffbbce67a75 Author: Hal Rosenstock Date: Mon May 14 17:21:52 2007 -0400 IB/mad: Enhance SMI for switch support Extend the SMI with switch (intermediate hop) support. Care has been taken to ensure that the CA (and router) code paths are changed as little as possible. Signed-off-by: Suresh Shelvapille Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 7aa484815f8c4defd01366f239b71da5e6b8a791 Author: Stefan Richter Date: Mon Jul 2 21:04:44 2007 +0200 firewire: fw-sbp2: fix DMA mapping of management ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 8526392ae816a2c69f57097ba032865523019caa Author: Stefan Richter Date: Mon Jul 2 21:04:08 2007 +0200 firewire: fw-sbp2: fix DMA mapping of command ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit b4be016ad81af5a83f0be820edf106de883e6ade Author: Stefan Richter Date: Mon Jul 2 22:07:34 2007 +0200 firewire: fw-sbp2: fix DMA mapping of S/G tables - The CPU must not touch the buffer after it was DMA-mapped. - The size argument of dma_unmap_single(...page_table...) was bogus. - Move a comment closer to the code to which it refers to. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 332ef3310bc37ff29fd4382d6dfb38a787078091 Author: Stefan Richter Date: Sun Jul 1 13:56:03 2007 +0200 firewire: fw-sbp2: add a boundary check Add rudimentary check for the case that the page table overflows due to merging of s/g elements by the IOMMU. This would have lead to overwriting of arbitrary memory. After this change I expect that an offending command will be unsuccessfully retried until the scsi_device is taken offline by SCSI core. It's a border case and not worth to implement a recovery strategy. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit 9fb2dd12c019965ffd15e5a0727af14488b3a772 Author: Stefan Richter Date: Sun Jul 1 13:55:31 2007 +0200 firewire: fw-sbp2: correctly align page tables This is required per SBP-2 clause 5.2. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit e7cdf237b2a8b4b566721cfb08e448b454c74ada Author: Stefan Richter Date: Sun Jul 1 13:54:57 2007 +0200 firewire: fw-sbp2: memset wants string.h Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit ffd0db26ddc32cd87097ece9725921f43ad487ee Author: Stefan Richter Date: Sun Jul 1 13:54:24 2007 +0200 firewire: fw-sbp2: use correct speed in sbp2_agent_reset noticed by Jay Fenlason Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit 6f061487f7d31427d7e8f420f366e5537ae16f43 Author: Jay Fenlason Date: Wed Jun 27 16:04:33 2007 -0400 firewire: fw-sbp2: correctly dereference by container_of Replace a cast with a container_of(). As long as nobody reorders the structure elements, they do the same thing, but container_of() is more readable. Signed-off-by: Stefan Richter (added complete_command_orb) Acked-by: Kristian Høgsberg commit 7ada60e367640fa8a4a349d9b105f235f346238b Author: Kristian Høgsberg Date: Fri Jun 22 00:20:34 2007 +0200 firewire: Document userspace ioctl interface. The isochronous packet format is still not documented, but this is a good first step. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (format, wording) commit 5cd54c94b0ba45033c126237d3d70c6e7ab52c3f Author: Stefan Richter Date: Sun Jun 17 23:55:41 2007 +0200 firewire: fw-sbp2: implement nonexclusive login Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 79352e9f94cff4078f2ffefac4a41b7f14046fb6 Author: Stefan Richter Date: Mon Jun 18 18:46:49 2007 +0200 firewire: fw-sbp2: let SCSI shutdown commands through before logout This affects of course only the "soft shutdown" case, e.g. "modprobe -r firewire-sbp2", while it doesn't matter for hot unplug. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit cf47c7a26ca13b944900dce208890c5b6d5f3a14 Author: Stefan Richter Date: Sun Jun 17 23:52:08 2007 +0200 firewire: fw-sbp2: implement max sectors limit for some old bridges This currently only affects one bridge in the hardwired blacklist. I don't own one of those, hence haven't tested it. Signed-off-by: Stefan Richter commit dae1a3aa8ebdd30fbba56a8d4e22f92455fb0861 Author: Stefan Richter Date: Sun Jun 17 23:39:58 2007 +0200 firewire: simplify a struct type cleanup after "firewire: support S100B...S400B and link slower than PHY" Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit f1397490017e337446c6a8b0562b584679a604a6 Author: Stefan Richter Date: Sun Jun 10 21:31:36 2007 +0200 firewire: support S100B...S400B and link slower than PHY Use a speed probe to determine the speed over 1394b buses and of nodes which report a link speed less than their PHY speed. Log the effective maximum speed of newly created nodes in dmesg. Also, read the config ROM (except bus info block) at the maximum speed rather than S100. This isn't a real optimization though because we still only use quadlet read requests for the entire ROM. The patch also adds support for S1600 and S3200, although such hardware does not exist yet. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 24d40125f1f59a6de9d9e6e046676bd60532596c Author: Stefan Richter Date: Mon Jun 18 19:44:12 2007 +0200 firewire: optimize gap count with 1394b leaf nodes Table-based gap count optimization cannot be used if 1394b repeater PHYs are present. But it does work with 1394b leaf nodes. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 25d83f583b334ac671fbb905c97c374ba34a597a Author: Stefan Richter Date: Sat Jun 9 19:27:07 2007 +0200 firewire: remove unused macro Signed-off-by: Stefan Richter commit 8a8cea2734808522f02941ea16125810ee42c9c7 Author: Stefan Richter Date: Sat Jun 9 19:26:22 2007 +0200 firewire: missing newline in printk Also remove some errno printouts which will be shown by infrastructure code anyway. Signed-off-by: Stefan Richter commit b8f106570f20a7a98a18a14c2d11d65f581c2808 Author: Stefan Richter Date: Fri May 11 23:04:08 2007 +0200 firewire: fw-sbp2: remove unused struct member cleanup after support of single-buffer requests was dropped Signed-off-by: Stefan Richter Signed-off-by: Kristian Hoegsberg commit 53c96b41742a2dadd14e65c23fc119f2a2fd9f05 Author: Stefan Richter Date: Sun Jun 24 15:31:54 2007 +0200 ieee1394: remove old isochronous ABI Based on patch "the scheduled removal of RAW1394_REQ_ISO_{SEND,LISTEN}" from Adrian Bunk, November 20 2006. This patch also removes the underlying facilities in ohci1394 and disables them in pcilynx. That is, hpsb_host_driver.devctl() and hpsb_host_driver.transmit_packet() are no longer used for iso reception and transmission. Since video1394 and dv1394 only work with ohci1394 and raw1394's rawiso interface has never been implemented in pcilynx, pcilynx is now no longer useful for isochronous applications. raw1394 will still handle the request types but will complete the requests with errors that indicate API version conflicts. Signed-off-by: Stefan Richter commit 77bba7aea7dc833caa34761fa7ce081a40a14493 Author: Stefan Richter Date: Sun Jun 17 23:54:52 2007 +0200 ieee1394: sbp2: change some module parameters from int to bool This is upwards compatible, except that integer values other than 0 or 1 are no longer accepted. But values like "Y", "N", "no", "nnoooh!" work now. Also, improve a comment on the serialize_io parameter and make the ORB_SET_EXCLUSIVE macro ultra-safe. Signed-off-by: Stefan Richter commit 93f2e0259a76ceb9c598d5af382aecbb2df01c51 Author: Stefan Richter Date: Sun Jul 8 13:34:21 2007 +0200 ieee1394: first minimal NUMA awareness Association of a host device with a node on NUMA machines optimizes allocations of skbs given from the networking stack to eth1394. Signed-off-by: Stefan Richter commit 8e4dc400b7659691abdd92b3fc01ef094fc8a1e7 Author: Stefan Richter Date: Sun May 27 23:14:05 2007 +0200 ieee1394: eth1394: revert parent device to that in 2.6.20 After ieee1394 was converted away from class_device like the networking subsystem was already in 2.6.21, eth1394's device may point to the fw-host device as its parent again like in 2.6.20. This affects userspace tools which examine the sysfs representation of eth1394's device. Signed-off-by: Stefan Richter commit a0e857eeffba8976be6bdb9f4bb011c18eb2aff7 Author: Stefan Richter Date: Sun Jun 17 23:47:45 2007 +0200 ieee1394: nodemgr: parallelize between several hosts Remove the global nodemgr_serialize mutex which enclosed most of the host thread event loop. This allows for parallelism between several host adapter cards. Properly serialize the driver hooks .update(), .suspend(), .resume(), and .remove() by means of device->sem. These hooks can be called from outside the host threads' contexts. Get() and put() the device.driver when calling its hooks. Signed-off-by: Stefan Richter commit dd7f2928d834f7ac67202bcdf24a44ba9b138f08 Author: Kay Sievers Date: Fri May 25 11:50:53 2007 +0200 ieee1394: convert ieee1394 from "struct class_device" to "struct device" Here is a straightforward conversion to "struct device". The "struct class_device" will be removed from the kernel. It seems to work fine for me with and without CONFIG_SYSFS_DEPRECATED set. Signed-off-by: Stefan Richter commit 59337087cb33db58aa0d4463892b4475cf66a50b Author: Stefan Richter Date: Wed Jul 4 23:13:53 2007 +0200 ieee1394: raw1394: fix a 32/64-bits compat fix I was told that only i386 aligns 64 bit integers at 4 bytes boundaries while all other architectures (32 bit architectures with 64 bit siblings) align it on 8 bytes boundaries. Signed-off-by: Stefan Richter commit 19f00e66f8aa7ee581c6d003fd68ee9f9dee4057 Author: Stefan Richter Date: Mon May 21 18:52:06 2007 +0200 ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel, amendment Pointed out by Arnd Bergmann: PPC32 aligns this at 64bit, IA32 packs it. A kernel-wide available __compat_u64 which is 4-byte aligned on AMD64 and IA64 would be nicer though. Signed-off-by: Stefan Richter commit 650c12c528d3e0ac69405dd35d3bc8a7228e49f2 Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel Add compat_ioctl. Although all structures are more or less same, raw1394_iso_packets got pointer inside, and raw1394_cycle_timer got unwanted padding in the middle. I did not add any translation for ioctls passing array of integers around as integers seem to have same size (32 bits) on all architectures supported by Linux. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit 883b97eaf2a3fba7628f9f78ca7dc422aaf9728b Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Fix write() for 32bit userland on 64bit kernel * write(fd, buf, 52) from 32bit app was returning 56. Most of callers did not care, but some (arm registration) did, and anyway it looks bad if request for writing 52 bytes returns 56. And returning sizeof anything in 'int' is not good as well. So all functions now return '0' instead of sizeof(struct raw1394_request) on success, and write() itself provides correct return value (it just returns value it was asked to write on success as raw1394 does not do any partial writes at all). * Related to this was problem that write() could have returned 0 when kernel state would become corrupted and moved to different state than opened/initialized/connected. Now it returns -EBADFD which seemed appropriate. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit ee9be425961c3ccf75553c83a73bf1f707e66d91 Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Fix read() for 32bit userland on 64bit kernel read() always failed with -EFAULT. This was happening due to raw1394_compat_read copying data to wrong location - access_ok always failed as 'r' is kernel address, not user. Whole function just tried to copy data from 'r' to 'r', which is not good. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit 6552731a058a4facefd921b0b45a9a5392baa5ea Author: Stefan Richter Date: Sat May 19 12:29:37 2007 +0200 ieee1394: add comments in struct hpsb_packet to clarify who is supposed to set what Signed-off-by: Stefan Richter commit 17a624869ea470e33c708871978223c3d9a4c417 Author: Stefan Richter Date: Thu May 3 20:24:19 2007 +0200 ieee1394: ohci1394: remove dead CONFIG variable spotted by Robert P. J. Day Signed-off-by: Stefan Richter commit 27a278aa4309df244a2619f47031acce00ca1b7c Author: Adrian Bunk Date: Mon Jul 9 23:17:59 2007 +0200 drivers/ide/ide-dma.c: unexport ide_set_dma ide_set_dma no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit bdab00b73d2f77075a3c73556e2692bf06849c17 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 via82cxxx: backport short cables support from pata_via.c Backport short cables support from pata_via.c. This patch should allow UDMA > 2 modes on Acer Ferrari 3400. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit f2befd9e80b39a5aa54d65cf59b6a5feb9a8117e Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 sis5513: backport short cables support from pata_sis.c Backport short cables support from pata_sis.c. This patch allows UDMA > 2 modes on ASUS A6K. Thanks to testing this patch goes out to Jiri Stavinoha. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 95ba8c17bc57bf4666e9de2be715b69d9a1ba211 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 alim15x3: backport short cables support from pata_ali.c Backport short cables support from pata_ali.c and while at it cleanup existing cable detection code. This patch should allow UDMA > 2 modes on HP Pavilion N5430 and Fujitsu P2000. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 7207626f47a3d66ce361bad197eefca4b8a6fa17 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 piix: backport short cables support from ata_piix.c Backport short cables support from ata_piix.c. This patch should allow UDMA > 2 modes on: - Acer 5602WLMi - Acer 3682WLMi - Asus W5F - Acer Aspire 2023WLMi Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 49521f97ccd3c2bf6e71a91cea8fe65d170fa4fb Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 ide: add short cables support This patch allows users to override both host and device side cable detection with "ideX=ata66" kernel parameter. Thanks to this it should be now possible to use UDMA > 2 modes on systems (laptops mainly) which use short 40-pin cable instead of 80-pin one. Next patches add automatic detection of some systems using short cables. Changes: * Rename hwif->udma_four to hwif->cbl and make it u8. * Convert all existing users accordingly (use ATA_CBL_* defines while at it). * Add ATA_CBL_PATA40_SHORT support to ide-iops.c:eighty_ninty_three(). * Use ATA_CBL_PATA40_SHORT for "ideX=ata66" kernel parameter. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Sergei Shtylyov commit 75b1d97535327d0428c6bffd9d5407e65546fd5d Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:57 2007 +0200 ide: convert ide_find_best_mode() users to use ide_max_dma_mode() ide-timing.h: * remove handling of DMA modes from ide_find_best_mode() and rename it to ide_find_best_pio_mode() * drop no longer needed "map" argument from ide_find_best_pio_mode() and delete needless ->id check * remove no longer needed XFER_SWDMA and XFER_UDMA* defines au1xxx-ide.c: * use ide_max_dma_mode() instead of ide_find_best_mode() * remove needless CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA #ifdef amd74xx.c: * store UDMA masks in amd_ide_chip[] and while at it make "base" field to be u8 instead of unsigned long * convert the driver to use UDMA masks from amd_ide_chip[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * delete stale comment from amd74xx_ide_dma_check() * remove no longer needed AMD_UDMA* defines via82cxxx.c: * remove unused DISPLAY_VIA_TIMINGS define * store UDMA masks in via_isa_bridges[] and while at it make "flags" field to be u8 instead of u16 * convert the driver to use UDMA masks from via_isa_bridges[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * remove no longer needed VIA_UDMA* defines pmac.c: * use ide_max_dma_mode() instead of ide_find_best_mode() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Sergei Shtylyov commit 15a4f943e729d8ba215ee551df6d7988ba14ac00 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:57 2007 +0200 ide: fix pre-EIDE SWDMA support If the word 62 is not defined use the word 52 to get SWDMA mask in ide_get_mode_mask(). Signed-off-by: Bartlomiej Zolnierkiewicz commit ecea57309e826c8aed020e4dae92b368f2eda2a5 Author: Andi Drebes Date: Mon Jul 9 23:17:57 2007 +0200 drivers/ide/legacy/hd.c: Array size calculation using sizeof replaced with ARRAY_SIZE This patch replaces an array size calculation in drivers/ide/legacy/hd.c that was done using sizeof with the ARRAY_SIZE macro. Tested by compilation on an i386 box using "allyesconfig". Diffed against Linus' git-tree. Signed-off-by: Andi Drebes Signed-off-by: Bartlomiej Zolnierkiewicz commit f50f9d8867b95925078ba0fa450e3a5736629d28 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide: remove content related to dead CONFIG_BLK_DEV_MAC_MEDIABAY config variable Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit e71bc140c013dfaff0369ebcc9802a798e358473 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide: remove references to the non-existent CONFIG_SCSI_EATA_DMA Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit 74c8f97a6c2d12fb144ad34076e969e8a01dc4b3 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide-cd: replace C code with call to ARRAY_SIZE() macro Delete the unnecessary macro ARY_LEN and use ARRAY_SIZE directly. Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit f3577db0c294ab4ce8460a8003312474b509e95f Author: Junio C Hamano Date: Mon Jul 9 23:17:57 2007 +0200 ide_in_drive_list(): "ALL" is not a wildcard anymore This removes the support to treat "ALL" as a wildcard for firmware revision. This is made a separate patch, as it will break out-of-tree ide drivers that feed its own table that uses "ALL" as the wildcard to ide_in_drive_list(). Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit bb53cfe9fa21c4f875d5c9470865fbbd0657804e Author: Junio C Hamano Date: Mon Jul 9 23:17:56 2007 +0200 mips au1xxx_ide.h: use NULL as firmware-revision wildcard This updates the DMA whitelist in MIPS specific au1xxx ide driver to use NULL instead of "ALL" as the wildcard. Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit c2d3ce8c39cb17dfc8d0426a98bd79f5d7b21e36 Author: Junio C Hamano Date: Mon Jul 9 23:17:56 2007 +0200 ide_in_drive_list(): accept NULL as the wildcard for firmware revision Earlier, the matching of (model,rev) in ide-dma black/white list handling was to consider "ALL" in the table to match any revision. This makes NULL to be also an accepted wildcard, and changes the entries of tables in ide-dma.c to use NULL. The code still accepts "ALL" as the wildcard, in order to keep any out-of-tree ide driver that feeds its own table that uses "ALL" as the wildcard to ide_in_drive_list() function from breaking. Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d78013bfc20b8579827fc8f214c6f85d469c051 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: kill speedproc() method wrapper (take 2) There's no reason to have the speedproc() method wrapper for the two quite different chip families, so just get rid of it. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f9383c4269d264c3cf563bd2de365891f6592ebd Author: Matthias Kaehlcke Date: Mon Jul 9 23:17:56 2007 +0200 ide: use mutex instead of ide_setting_sem semaphore in IDE driver The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Bartlomiej Zolnierkiewicz -- commit 1b9da32a2855afa3c5f27690e03a33dc97410c42 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: remove init_dma() method (take 2) Get rid of the init_dma() method (which had no particular reason to exist) by folding it into the init_hwif() method. While at it, also perform some cleanup in the latter method: - get rid of the useless clearing of hwif->autodma; - fold the serialization code into one 'if' statement; - fold setting the drives' 'autotune' and 'autodma' fields into the single statements... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b1d19db4e770a752ec032971388fa69a73c84919 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: rework init_setup_aec6x80() Rework init_setup_aec6x80() so that it won't rewrite the constant name strings anymore -- in order to do this: - in aec62xx_init_one(), pass a local copy of 'struct pci_device_id' down the call chain; - change the names for in aec62xx_chipsets[] to default to AEC-6280[R]; - override the 'name' field in init_setup_aec6x80() only if bit 4 of the DMA status register is set. While at it, also change the 'udma_mask' field for AEC-6x80R chips in this function and remove the code doing the same from the init_hwif() method... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 83a6d4ab3b09c0c1921b657bbaac5ada3c9c3623 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:55 2007 +0200 cmd64x: init. code cleanup Fix two minor issues with PCI0646 chip reporting in the init_chipset() method: "IRQ workaround enabled" message printed out not only for revision 0x01 and "CMD646: chipset revision" printed twice (by IDE core and the driver itself). Also, remove empty/pointless switch cases for the chips other than PCI0646, duplicate write to the MRDMODE register when enabling interrupts and MEMORY READ LINE cycles, and needless/misplaced initialization of the timing registers in this method. Switch to reading only the PCI revision ID register itself, not the whole 32 bits at its address in init_chipset() and init_hwif() methods; in addition, get rid of the useless clearing of hwif->autodma and perform some cosmetic style changes in the latter method. Refactor ata66_cmd64x() by moving all the code into the 'switch' statement, renaming/adding variables, and fixing the coding style. While at it, finally get rid of the meaningless aliasing register #define's... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2648e5d9a80d8a020feb343c52a8704e978e60c6 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:55 2007 +0200 hpt366: simplify UltraDMA filtering (take 4) Simplify UltraDMA mode filtering in the driver: - make use of the newly introduced 'udma_mask' field of 'ide_pci_device_t' to set the correct hwif->ultra_mask, modifying init_setup_hpt366() to select the correct mask based on the chip revision; - replace 'max_mode' field of the 'struct hpt_info' with 'max_ultra' specifying the maximum UltraDMA mode allowed; - rewrite hpt3xx_udma_filter() to differ the filters based on the 'chip_type' field, and only use it for HPT366 and HPT370[A] where it's really necessary. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ef29888ea8e1fdc499e995260195b66fc91d2728 Author: Matthias Kaehlcke Date: Mon Jul 9 23:17:55 2007 +0200 ide: use mutex instead of ide_cfg_sem semaphore in IDE driver The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Bartlomiej Zolnierkiewicz commit c283f5dbe31920ca70b80a594a97bfaa2a28be13 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:54 2007 +0200 ide: make void and rename ide_dma_timeout() method Since ide_dma_timeout() method's result is discarded, make it return 'void'. While at it, drop 'ide_' from the method's name, drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in ide-dma.c, au1xxx-ide.c, and pdc202xx_old.c, define/use 'hwif' variable; - in au1xxx-ide.c, get rid of commented out printk(); - in sl82c105.c, get rid of unnecessary variables. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 841d2a9bf16471716ba3a5172d24aa40a2ea9398 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:54 2007 +0200 ide: make void and rename ide_dma_lostirq() method Since ide_dma_lostirq() method's result is discarded, make it return 'void'. While at it, rename the method to dma_lost_irq(), drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in aec62xx.c, rename the method in accordance with other drivers, and get rid of unnecessary variables there; - in pdc202xx_old.c, define/use 'hwif' variable; - in sgiioc4.c, rearrange the code to call the resetproc() method directly. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b740d8846e2e184909e9f74d4ad9d67ae0e084ea Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:53 2007 +0200 serverworks: always tune CSB6 Switch the driver to always program DMA/PIO timings and set device transfer mode instead of trusting BIOS on CSB6 controllers (libata pata_serverworks.c driver is also doing things this way and there were no problems reported so far). While doing conversion I noticed that the old code had many issues: * the code was assuming that hwif->dma_status is always valid (which obviously isn't true if hwif->dma_base == NULL) * value of "(ultra_timing >> (4*unit)) & ~(0xF0)" expression wasn't checked to fit into udma_modes[5] * code validating DMA timings didn't validate corresponding PIO timings * extra CSB5 PIO register wasn't validated et all * hwif->ide_dma_off_quietly() is always called before ide_set_dma() (which in turn calls hwif->speedproc() method - svwks_tune_chipset() in this case) so the code depending on DMA capable bit of DMA status to be set was never executed (=> the code was never validating DMA timings despite actually enabling DMA if the PIO timings were OK!) * on resume driver dependend entirely on BIOS to restore timings and set transfer mode on the device While at it: There is no need to read PIO/MWDMA timings now so don't do it. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Alan Cox commit c6255e9865a07d5313d6162482792f7bec9160db Author: Christian Kandeler Date: Mon Jul 9 16:19:11 2007 +0200 [IA64] Stop bit for brl instruction SDM says that brl instruction must be followed by a stop bit. Fix instance in BRL_COND_FSYS_BUBBLE_DOWN where it isn't. Signed-off-by: Christian Kandeler Signed-off-by: Tony Luck commit d7ad2254fa7cc11aec3faeba076c1243f6adeb47 Author: John Keller Date: Mon Jul 9 11:42:24 2007 -0700 [IA64] SN: Correct ROM resource length for BIOS copy On SN systems, when setting the IORESOURCE_ROM_BIOS_COPY resource flag, the resource length should be set to the actual size of the ROM image so that a call to pci_map_rom() returns the correct size. Signed-off-by: John Keller Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit ed99c541e0a15281c57530d54a4a5e3272f74fb9 Author: Nicolas Ferre Date: Mon Jul 9 14:58:16 2007 +0200 mmc: at91_mci: fix hanging and rework to match flowcharts Fixes hanging using multi block operations (seen during CMD25). Follows closely the datasheet flowcharts. This piece of code handles better big file writing. I had to take care of the notbusy signal during write (at91_mci_handle_cmdrdy function) and to rearrange the AT91_MCI_ENDRX and AT91_MCI_RXBUFF flag usage. Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit e8d04d3dba60bdc139644350fcc88f82e40129dc Author: Nicolas Ferre Date: Tue Jun 19 18:32:34 2007 +0200 mmc: at91_mci typo Typo fix in at91_mci driver : standardized the typo (at91_mci everywhere) Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 9d26a5d3f2b9c4fe4b2ba491683c6989ecd6ae04 Author: Rolf Eike Beer Date: Tue Jun 26 13:31:16 2007 +0200 sdhci: Fix "Unexpected interrupt" handling Whenever a power interrupt is signaled it is also reported as an unexpected one. All other unexpected interrupts get lost. Cause is a not inversed bitmask to remove power interrupts from the status. Signed-off-by: Rolf Eike Beer Signed-off-by: Pierre Ossman commit 8c75deae1ab99661975da098f8b721bafbb247c4 Author: Pierre Ossman Date: Sat May 19 16:14:43 2007 +0200 mmc: fix silly copy-and-paste error Signed-off-by: Pierre Ossman commit ffce2e7e7060c949ccd703dacc9b3dd81b377373 Author: Pierre Ossman Date: Sat May 19 14:32:22 2007 +0200 mmc: move layer init and workqueue to core file Signed-off-by: Pierre Ossman commit b93931a61a119575f84c33af2438b9384fde9eb7 Author: Pierre Ossman Date: Sat May 19 14:06:24 2007 +0200 mmc: refactor host class handling Move basic host class device handling to its own file for clarity. Signed-off-by: Pierre Ossman commit 4101c16a910b15afd190c6bc7d45864461cf5c25 Author: Pierre Ossman Date: Sat May 19 13:39:01 2007 +0200 mmc: refactor bus operations Move bus operations to its own file for the sake of clarity. Also delegate sysfs attributes to bus handlers in preparation for other more exotic types. Signed-off-by: Pierre Ossman commit 7de064ebc67d9baf6c933d3a7046feb9b4eced05 Author: Milko Krachounov Date: Sat May 19 01:18:03 2007 +0200 sdhci: add ene controller id ENE has a very weird design where an SDHCI device (0805) is presented on the PCI bus, but that device is non-functional, and the real device is hidden as a more generic device. Signed-off-by: Milko Krachounov Signed-off-by: Pierre Ossman commit 98ccf14909ba02a41c5925b0b2c92aeeef23d3b9 Author: Pierre Ossman Date: Sat May 12 00:26:16 2007 +0200 mmc: bounce requests for simple hosts Some hosts cannot do scatter/gather in hardware. Since not doing sg is such a big performance hit, we (optionally) bounce the requests to a simple linear buffer that we hand over to the driver. Signed-off-by: Pierre Ossman commit 83ce6ef8408bbc7d9322ab50ba592f83012dea94 Author: Tony Luck Date: Thu Jun 28 16:05:34 2007 -0700 [IA64] Don't set psr.ic and psr.i simultaneously It's not a good idea to use "ssm psr.ic | psr.i" to simultaneously enable interrupts and interrupt state collection, the two bits can take effect asynchronously, so it is possible for an interrupt to be serviced while psr.ic is still zero. Signed-off-by: Tony Luck commit c31f2e8a42c41efa46397732656ddf48cc77593e Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: add CFS credits add credits for recent major scheduler contributions: Con Kolivas, for pioneering the fair-scheduling approach Peter Williams, for smpnice Mike Galbraith, for interactivity tuning of CFS Srivatsa Vaddagiri, for group scheduling enhancements Signed-off-by: Ingo Molnar commit 6fb43d7b50e49a36f8be3199141bec473e5ecb00 Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: micro-optimize mmdrop() micro-optimize mmdrop(). Improves schedule()'s assembly a bit. Signed-off-by: Ingo Molnar commit 9c4801cebc2add1fe514bc8eb201b16372eee11a Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: more agressive idle balancing the Linux scheduler is starving a number of workloads. So default to more agressive idle-balancing. This hurts lmbench context-switching numbers (which was the main reason we sucked at idle-balancing for such a long time) but the lmbench numbers are fine once the system is minimally utilized. Signed-off-by: Ingo Molnar commit 0fec171cdbd7763ef86cbaccb91f3708de6a9003 Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: clean up sleep_on() APIs clean up the sleep_on() APIs: - do not use fastcall - replace fragile macro magic with proper inline functions Signed-off-by: Ingo Molnar commit 9761eea8516d1ff2c7b185e283c5d81cfc307acb Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: style cleanups 4 small style cleanups to sched.c: checkpatch.pl is now happy about the totality of sched.c [ignoring false positives] - yay! ;-) Signed-off-by: Ingo Molnar commit 23bdd703a585a869f2eb32fb9f66749d0476d71e Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: do not set softirqs to nice +19 do not set softirqs to nice +19. _If_ for whatever reason we missed to process some high-prio softirq and woke up ksoftirqd, we should give it a fair chance to actually get some work done, even if the system is under load. Signed-off-by: Ingo Molnar commit ff80a77f20f811c0cc5b251d0f657cbc6f788385 Author: Mike Galbraith Date: Mon Jul 9 18:52:00 2007 +0200 sched: simplify sched_find_first_bit() simplify sched_rt.c's sched_find_first_bit() function: there are only 100 RT priority levels left. Signed-off-by: Ingo Molnar commit 5e7eaade55d53da856f0e07dc9c188f78f780192 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: add CFS documentation add Documentation/sched-design-CFS.txt Signed-off-by: Ingo Molnar commit b642b6d3fad45f659270a9e35df876b38c489082 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: scheduler debugging, enable in Kconfig enable CONFIG_SCHED_DEBUG in lib/Kconfig.debug. the runtime overhead of this option is very small. Signed-off-by: Ingo Molnar commit 43ae34cb4cd650d1eb4460a8253a8e747ba052ac Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: scheduler debugging, core scheduler debugging core: implement /proc/sched_debug and /proc//sched files for scheduler debugging. Signed-off-by: Ingo Molnar commit 77e54a1f88a1cb0746c7694fa40052bd02df1123 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: add CFS debug sysctls add CFS debug sysctls: only tweakable if SCHED_DEBUG is enabled. This allows for faster debugging of scheduler problems. Signed-off-by: Ingo Molnar commit 7dd593608df3f9d4e4531cfe29f28c3a3766a0ee Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove old cpu accounting field remove the old cpu-accounting field from signal_struct, now that the code is using CFS's stats. Signed-off-by: Ingo Molnar commit b2cfba19f67228e78e48177187f6b07f4107c784 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove unused rq types from sched.c remove unused rq types from sched.c, now that we switched over to CFS. Signed-off-by: Ingo Molnar commit 0c57d5893e4a9857ff22ec9e379f6bdbdad50850 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove batch_task() batch_task() in sched.h is now unused - remove it. Signed-off-by: Ingo Molnar commit 50e645a8a1a91f57dd5d8454620be5f1cb0fc089 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove interactivity types from sched.h remove now-unused types/fields used by the old scheduler. Signed-off-by: Ingo Molnar commit 634fa8c97cc8f4ee2ae1dea7200ff0df762405e7 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove interactivity types remove now unused interactivity-heuristics related defined and types of the old scheduler. Signed-off-by: Ingo Molnar commit dff06c157b6089b774514337769a3c1b7ccccf6c Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: clean up include files in sched.c clean up include files in sched.c, they were still old-style . Signed-off-by: Ingo Molnar commit ad46c2c4ebcead75cd364a79b63b134393094fb9 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: clean up fastcall uses of sched_fork()/sched_exit() sched_fork()/sched_exit() does not need to specify fastcall anymore, as the x86 kernel defaults to regparm3, and no assembly code calls these functions. Signed-off-by: Ingo Molnar commit 172ba844a8851c3edd13c0a979cdf46bd5e3cc1a Author: Balbir Singh Date: Mon Jul 9 18:52:00 2007 +0200 sched: update delay-accounting to use CFS's precise stats update delay-accounting to use CFS's precise stats. Signed-off-by: Ingo Molnar commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: make use of precise accounting for /proc task stats make use of CFS's precise accounting to drive /proc//stat statistics. this code was co-authored by: Balbir Singh Dmitry Adamushko Ingo Molnar Signed-off-by: Ingo Molnar Signed-off-by: Dmitry Adamushko commit 1b9f19c2125dd1021b9327111dc40b14b557ee12 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: turn on the use of unstable events make use of sched-clock-unstable events. Signed-off-by: Ingo Molnar commit bb29ab26863c022743143f27956cc0ca362f258c Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: x86, track TSC-unstable events track TSC-unstable events and propagate it to the scheduler code. Also allow sched_clock() to be used when the TSC is unstable, the rq_clock() wrapper creates a reliable clock out of it. Signed-off-by: Ingo Molnar commit dd41f596cda0d7d6e4a8b139ffdfabcefdd46528 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cfs core code apply the CFS core code. this change switches over the scheduler core to CFS's modular design and makes use of kernel/sched_fair/rt/idletask.c to implement Linux's scheduling policies. thanks to Andrew Morton and Thomas Gleixner for lots of detailed review feedback and for fixlets. Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Dmitry Adamushko Signed-off-by: Srivatsa Vaddagiri commit f3479f10c5d667e591f4417a0bba78e221924206 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove the sleep-bonus interactivity code remove the sleep-bonus interactivity code from the core scheduler. scheduling policy is implemented in the policy modules, and CFS does not need such type of heuristics. Signed-off-by: Ingo Molnar commit c18a17329b3389315e8a138d998b217077509c13 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove expired_starving() remove the expired_starving() heuristics from the core scheduler. CFS does not need it, and this did not really work well in practice anyway, due to the rq->nr_running multiplier to STARVATION_LIMIT. Signed-off-by: Ingo Molnar commit f2ac58ee617fd9f6cd9922fbcd291b661d7c9954 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove sleep_type remove the sleep_type heuristics from the core scheduler - scheduling policy is implemented in the scheduling-policy modules. (and CFS does not use this type of sleep-type heuristics) Signed-off-by: Ingo Molnar commit 45bf76df4814a4cd1c57226ae001c464467cb656 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cfs, add load-calculation methods add the new load-calculation methods of CFS. Signed-off-by: Ingo Molnar commit 14531189f0a1071b928586e9e1a89eceac91d95f Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: clean up __normal_prio() position clean up: move __normal_prio() in head of normal_prio(). no code changed. Signed-off-by: Ingo Molnar commit 71f8bd4600521fecb08644072052b85853a5a615 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cleanup: move dequeue/enqueue_task() cleanup: move dequeue/enqueue_task() to a more logical place, to not split up __normal_prio()/normal_prio(). Signed-off-by: Ingo Molnar commit c24d20dbef948487cd14f15dbf04644142e9f886 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: move around resched_task() move resched_task()/resched_cpu() into the 'public interfaces' section of sched.c, for use by kernel/sched_fair/rt/idletask.c Signed-off-by: Ingo Molnar commit 62480d13d5d1812176e969a47e2db78a5398d02e Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove the SleepAVG field remove the SleepAVG field from /proc//status, as with the removal of the sleep-average code this value no longer makes sense. Signed-off-by: Ingo Molnar commit e05606d3301525aa67b081ad9fccade2b31ab35a Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: clean up the rt priority macros clean up the rt priority macros, pointed out by Andrew Morton. Signed-off-by: Ingo Molnar commit 138a8aeb5b9e5c5abd5e5ec22b6d1848e7e9c50b Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add cfs_rq ops add the set_task_cfs_rq() abstraction needed by CONFIG_FAIR_GROUP_SCHED. (not activated yet) Signed-off-by: Ingo Molnar commit 41b86e9c510ae66639bf29d3201e1d2384a7fde6 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: make posix-cpu-timers use CFS's accounting information update the posix-cpu-timers code to use CFS's CPU accounting information. Signed-off-by: Ingo Molnar commit 20d315d42aed95423a7203e1d7e84086004b5a00 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add rq_clock()/__rq_clock() add rq_clock()/__rq_clock(), a robust wrapper around sched_clock(), used by CFS. It protects against common type of sched_clock() problems (caused by hardware): time warps forwards and backwards. Signed-off-by: Ingo Molnar commit 6aa645ea5f7a246702e07f29edc7075d487ae4a3 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs rq data types add the CFS rq data types to sched.c. (the old scheduler fields are still intact, they are removed by a later patch) Signed-off-by: Ingo Molnar commit 20b8a59f2461e1be911dce2cfafefab9d22e4eee Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs, core data types add the CFS data types to sched.h. (the old scheduler is still fully intact.) Signed-off-by: Ingo Molnar commit fa72e9e484c16f0c9aee23981917d8c8c03f0482 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_idletask.c add kernel/sched_idletask.c - which implements the idle thread scheduling class. This further simplifies sched.c (under CFS), for example a number of 'if (p == rq->idle)' type of special-cases can be removed from sched.c, and schedule() gets simpler too. Signed-off-by: Ingo Molnar commit bb44e5d1c6b3b748e0facf8f516b3162009feb27 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_rt.c add kernel/sched_rt.c: SCHED_FIFO/SCHED_RR support. The behavior and semantics of SCHED_FIFO/SCHED_RR tasks is unchanged. Signed-off-by: Ingo Molnar commit bf0f6f24a1ece8988b243aefe84ee613099a9245 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_fair.c add kernel/sched_fair.c - which implements the bulk of CFS's behavioral changes for SCHED_OTHER tasks. see Documentation/sched-design-CFS.txt about details. Authors: Ingo Molnar Dmitry Adamushko Srivatsa Vaddagiri Mike Galbraith Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Dmitry Adamushko Signed-off-by: Srivatsa Vaddagiri commit 9aa7b369819940cb1f3c74ba210516739a32ad95 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: increase the resolution of smpnice increase SMP-nice's resolution. This is needed by CFS to implement SCHED_IDLE and cleaned up nice level support. no behavioral changes. Signed-off-by: Ingo Molnar commit 425e0968a25fa3f111f9919964cac079738140b5 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: move code into kernel/sched_stats.h create sched_stats.h and move sched.c schedstats code into it. This cleans up sched.c a bit. no code changes are caused by this patch. Signed-off-by: Ingo Molnar commit 1df21055e34b6a68d62cf0c524b9e52deebd7ead Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add init_idle_bootup_task() add the init_idle_bootup_task() callback to the bootup thread, unused at the moment. (CFS will use it to switch the scheduling class of the boot thread to the idle class) Signed-off-by: Ingo Molnar commit 4da1ce6d9c7e2a6d9236bf4dcfd33cf506082794 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add in_atomic_preempt_off() add in_atomic_preempt_off() - debugging helper that will simplify schedule(). Signed-off-by: Ingo Molnar commit f64f61145a38f7039e4f1c0b50dcc3fbe70ec28e Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: remove sched_exit() remove sched_exit(): the elaborate dance of us trying to recover timeslices given to child tasks never really worked. CFS does not need it either. Signed-off-by: Ingo Molnar commit c65cc8705256ad7524c97564b4fe3ca9782bf6d1 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: uninline set_task_cpu() uninline set_task_cpu(): CFS will add more code to it. Signed-off-by: Ingo Molnar commit 0437e109e1841607f2988891eaa36c531c6aa6ac Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: zap the migration init / cache-hot balancing code the SMP load-balancer uses the boot-time migration-cost estimation code to attempt to improve the quality of balancing. The reason for this code is that the discrete priority queues do not preserve the order of scheduling accurately, so the load-balancer skips tasks that were running on a CPU 'recently'. this code is fundamental fragile: the boot-time migration cost detector doesnt really work on systems that had large L3 caches, it caused boot delays on large systems and the whole cache-hot concept made the balancing code pretty undeterministic as well. (and hey, i wrote most of it, so i can say it out loud that it sucks ;-) under CFS the same purpose of cache affinity can be achieved without any special cache-hot special-case: tasks are sorted in the 'timeline' tree and the SMP balancer picks tasks from the left side of the tree, thus the most cache-cold task is balanced automatically. Signed-off-by: Ingo Molnar commit 0e6aca43e08a62a48d6770e9a159dbec167bf4c6 Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: add SCHED_IDLE policy this patch adds the SCHED_IDLE policy to sched.h. Signed-off-by: Ingo Molnar commit d15bcfdbe1818478891d714343f037cfe60875f0 Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: rename idle_type/SCHED_IDLE enum idle_type (used by the load-balancer) clashes with the SCHED_IDLE name that we want to introduce. 'CPU_IDLE' instead of 'SCHED_IDLE' is more descriptive as well. Signed-off-by: Ingo Molnar commit c1e4fe711a410a139095e6b3e3ce3f07f466063c Author: Jeff Garzik Date: Mon Jul 9 12:29:31 2007 -0400 [libata] sata_mv: print out additional chip info during probe Indicate whether this is a Generation-I (50xx), Generation-II (60xx), or Generation-II-E (6042/7042) chip. Signed-off-by: Jeff Garzik commit bf6263a853c9c143bf03f0a6fdcc68ab714fb5f5 Author: Jeff Garzik Date: Mon Jul 9 12:16:50 2007 -0400 [libata] Use ATA_UDMAx standard masks when filling driver's udma_mask info The ATA_UDMAx masks are self-documenting, and far better than manually writing in the hex mask. Note that pata_it8213 mask differed from the comment. Added a FIXME there. Signed-off-by: Jeff Garzik commit cd70c26617f4686355263be4533ce8030242740e Author: Jeff Garzik Date: Sun Jul 8 02:29:42 2007 -0400 [libata] AHCI: Add support for Marvell AHCI-like chips (initially 6145) Add support for the SATA portion of Marvell's AHCI-compatible chips. The PATA port capability, also available via AHCI, is disabled until support is completed. NCQ and PCI MSI are disabled by default. Marvell says "we use NCQ" in their drivers but "we do not use PCI MSI." Theoretically that implies we need to fix ahci.c to work with Marvell NCQ, but one wonders why Marvell NCQ is any different from other AHCI chips. Signed-off-by: Jeff Garzik commit 469248abf00dfa813356b372ffe153b85f27f4bf Author: Jeff Garzik Date: Sun Jul 8 01:13:16 2007 -0400 [libata] Clean up driver udma_mask initializers * Use ATA_UDMA* * Remove FIXME notations that once served to remind us to verify that these were indeed the correct UDMA masks. They are. Signed-off-by: Jeff Garzik commit d26fc9551a15fdad0d5de8376a78816b8af44f00 Author: Alan Cox Date: Fri Jul 6 19:13:52 2007 -0400 libata: Support chips with 64K PRD quirk Add ata_dumb_qc_prep and supporting logic so that a driver can just specify it needs to be helped in this area. 64K entries are split as with drivers/ide. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c1e6f28cc5de37dcd113b9668a185c0b9334ba8a Author: Christian Lamparter Date: Tue Jul 3 10:19:20 2007 -0400 Add a PCI ID for santa rosa's PATA controller. Signed-off-by: Christian Lamparter Signed-off-by: Jeff Garzik commit 825cd6dd793770ebd42d9ca19f5ee7d082350317 Author: Mikael Pettersson Date: Tue Jul 3 01:10:25 2007 +0200 sata_sil24: sil24_interrupt() micro-optimisation sil24_interrupt() loads host->ports[i] into a local variable, validates it, and then loads the value again in the call to sil24_host_intr(). This patch replaces the second load by a reference to the local variable. This is safe since no side-effects have occurred since the initial load. It also improves readability since it makes it clear that the parameter to sil24_host_intr() is the same value which was just validated. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 5f45bc50976ee1f408f7171af155aec646655a37 Author: Sonic Zhang Date: Fri Jun 15 17:45:49 2007 +0800 Add irq_flags to struct pata_platform_info On some embedded platforms, such as blackfin, the gpio interrupt for IDE interface is designed to be triggered with high voltage. The gpio port should be configured properly by set_irq_type() when register the irq. This patch enable the generic pata platform driver to accept platform irq flags data. Signed-off-by: Sonic Zhang Signed-off-by: Jeff Garzik commit d0e580316e3db9f5cf6a605cc311ffb0372f0a35 Author: Mikael Pettersson Date: Tue Jun 19 21:53:30 2007 +0200 sata_promise: cleanups This patch applies some trivial cleanups to sata_promise: - repair whitespace damage - correct comment at board_2057x_pata definition - pull SATAII TX4 support code out to separate functions - rename ata_nr to ata_no for consistency with libata's port_no - remove some init-time debug printks (requested by Jeff) This patch should cause no behavioural changes, except for the removed printks. Signed-off-by: Mikael Pettersson -- drivers/ata/sata_promise.c | 56 ++++++++++++++++++--------------------------- 1 files changed, 23 insertions(+), 33 deletions(-) Signed-off-by: Jeff Garzik commit 5446b656ddebc2f3902242fda4e860fb343d2787 Author: Jeff Garzik Date: Mon May 28 09:03:51 2007 -0400 [libata] pata_ixp4xx: kill unused var Reported by Michael-Luke Jones. Signed-off-by: Jeff Garzik commit a5bf5f5a370ba7c10f5362265e360952145a7da1 Author: Tejun Heo Date: Fri May 25 19:16:58 2007 +0200 ata_piix: fix pio/mwdma programming Fix various bugs in pio/mwdma mode programming. * Control bits in the timing register wasn't cleared properly while programming PIO mode. * MWDMA mode programming cleared the wrong part of control bits. * MWDMA mode programming cleared udma_mask even when the controller doesn't support UDMA. Signed-off-by: Tejun Heo Cc: Art Haas Signed-off-by: Jeff Garzik commit dab632e8c483532bd84e1f3401c72612e39a7c40 Author: Jeff Garzik Date: Mon May 28 08:33:01 2007 -0400 [libata] ahci: minor internal cleanups Minor cleanups, in preparation for merging Marvell PATA AHCI support in the future. Signed-off-by: Jeff Garzik commit ab2181cf390902f0371f30e4ebeb407b4aaa7314 Author: Jeff Garzik Date: Mon May 28 08:30:36 2007 -0400 [ATA] Add named constant for ATAPI command DEVICE RESET Signed-off-by: Jeff Garzik commit a09060ffe516a0e55f29c89b7da2da760c9487d7 Author: Jeff Garzik Date: Mon May 28 08:17:06 2007 -0400 [libata] sata_sx4, sata_via: minor documentation updates sata_sx4: - describe overall driver theory of operation - add a few constants that will be used in the future sata_via: - remove mention of an old-EH function that is going away Signed-off-by: Jeff Garzik commit df69c9c5438b4e396a64d42608b2a6c48a3e7475 Author: Jeff Garzik Date: Sat May 26 20:46:51 2007 -0400 [libata] ahci: minor internal cleanups Function renaming and factorization. Signed-off-by: Jeff Garzik commit 2bcd866be55f8fe259ccac8eef2b8a7f7721b1d5 Author: Jeff Garzik Date: Mon May 28 07:45:27 2007 -0400 [libata] ahci: Factor out SATA port init into a separate function Signed-off-by: Jeff Garzik commit 79b0bde157e71071320e7a723c5a669cb2c822cf Author: Jeff Garzik Date: Mon May 28 07:22:30 2007 -0400 [libata] pata_sil680: minor cleanups from benh Merge unrelated cleanups (__devinit, dev_dbg, hardware constant) from changeset "pata_sil680: Add MMIO support" authored by Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit b2d46b61bdb2bd45b93f88892461fa568df721d4 Author: Jeff Garzik Date: Sun May 27 22:58:54 2007 -0400 [libata] sata_sx4: named constant cleanup * convert tabs to spaces * convert some hex numbers to (1 << n) preferred format * document i2c and timer control register bits Signed-off-by: Jeff Garzik commit 5d4c51f6beab08ada99064bab6ee74e995a4f24d Author: Alessandro Zummo Date: Sat May 26 19:26:55 2007 -0400 [libata] pata_ixp4xx: convert to new EH Signed-off-by: Jeff Garzik commit 49de0ac823ed7826695c6a2ac62dc1f730a8b17d Author: Jeff Garzik Date: Sat May 26 18:20:51 2007 -0400 [libata] pdc_adma: Reorder initializers with a couple structs Make it easier to verify which struct initializers are present, by presenting them in the order in which they are defined in the API header. Signed-off-by: Jeff Garzik commit 59f998802bd5df56cd824f313cf5b0c3e356ec59 Author: Jeff Garzik Date: Mon May 28 07:07:20 2007 -0400 [libata] drivers: remove 'void __iomem *' casts from pre-iomap days Signed-off-by: Jeff Garzik commit 1d2808fd3d2d5d2c0483796a0f443d1cb3f11367 Author: Jeff Garzik Date: Mon May 28 06:59:48 2007 -0400 [libata] PATA drivers: remove ATA_FLAG_SRST This flag only has meaning in old-EH drivers, and these drivers have already been converted to the new EH. Remove. Signed-off-by: Jeff Garzik commit 5bcd7a00a464fd81b4b68847b9b811a635a15b61 Author: Jeff Garzik Date: Sat May 26 16:35:42 2007 -0400 [libata] sata_sil: register table cleanup Make the register offset table more maintainable. From the 'sii-lbt' branch, which enables the LBT chip feature. Signed-off-by: Jeff Garzik commit be5d82183f1ebb022f923b008acf3b760d3a571d Author: Jens Axboe Date: Tue May 22 09:45:39 2007 +0200 use_clustering (sht) bit set to 0 in AHCI ? ahci: enable sg segment clustering The specification states that ahci supports segments up to 4MiB in size, so enable clustering. Signed-off-by: Jens Axboe Signed-off-by: Jeff Garzik commit a16abc0b5ff3ef655e40cb5e6671d57f5dde513d Author: Tejun Heo Date: Mon May 21 18:33:47 2007 +0200 libata: replace ap->cbl tests with ATA_FLAG_SATA tests ap->cbl == ATA_CBL_SATA indicates SATA cable while ap->flags & ATA_FLAG_SATA indicates SATA host port. Till now they always gave the same result but SATA/PATA bridge handling will change that. Switch to ATA_FLAG_SATA test if we're testing for host port type. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 1ca972c2028edd6cd6a6ca40bd1f58b91fb4ea58 Author: Jeff Garzik Date: Thu May 24 23:05:25 2007 -0400 [libata] pata_atiixp: add SB700 PCI ID From AMD. Signed-off-by: Jeff Garzik commit 64578a3de723d502621860f9d4d28f34d001b066 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: implement _GTM/_STM support Implement _GTM/_STM support. acpi_gtm is added to ata_port which stores _GTM parameters over suspend/resume cycle. A new hook ata_acpi_on_suspend() is responsible for storing _GTM parameters during suspend. _STM is executed in ata_acpi_on_resume(). With this change, invoking _GTF is safe on IDE hierarchy and acpi_sata check before _GTF is removed. ata_acpi_gtm() and ata_acpi_stm() implementation is taken from Alan Cox's pata_acpi implementation. ata_acpi_gtm() is fixed such that the result parameter is not shifted by sizeof(union acpi_object). Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit e5fa24dfdb522b642dbe9b8b1b692f68dce89835 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: remove redundant checks Remove remaining unnecessary feature and status checks. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6746544c3b143ca7071d144f1882ccbe1f47b08d Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata: reimplement ACPI invocation This patch reimplements ACPI invocation such that, instead of exporting ACPI details to the rest of libata, ACPI event handlers - ata_acpi_on_resume() and ata_acpi_on_devcfg() - are used. These two functions are responsible for determining whether specific ACPI method is used and when. On resume, _GTF is scheduled by setting ATA_DFLAG_ACPI_PENDING device flag. This is done this way to avoid performing the action on wrong device device (device swapping while suspended). On every ata_dev_configure(), ata_acpi_on_devcfg() is called, which performs _SDD and _GTF. _GTF is performed only after resuming and, if SATA, hardreset as the ACPI spec specifies. As _GTF may contain arbitrary commands, IDENTIFY page is re-read after _GTF taskfiles are executed. If one of ACPI methods fails, ata_acpi_on_devcfg() retries on the first failure. If it fails again on the second try, ACPI is disabled on the device. Note that successful configuration clears ACPI failed status. With all feature checks moved to the above two functions, do_drive_set_taskfiles() is trivial and thus collapsed into ata_acpi_exec_tfs(), which is now static and converted to return the number of executed taskfiles to be used by ata_acpi_on_resume(). As failures are handled properly, ata_acpi_push_id() now returns -errno on errors instead of unconditional zero. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 69b16a5f4c4f1dab70d4d555c487c318c6878b3e Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: miscellaneous cleanups * Add missing LOCKING: and RETURNS: to function comment. * Don't conditionalize warning messages with ata_msg_probe(). Print directly with KERN_WARNING. * Drop duplicate debug messages. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4700c4bc9262a9e78f7197c4c41cc2be085d5276 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: clean up ata_acpi_exec_tfs() This patch cleans up ata_acpi_exec_tfs() and its friends. * Rename taskfile_array to ata_acpi_gtf and make it __packed as it's used as argument to ACPI method, and use pointer to ata_acpi_gtf and number of taskfiles to represent _GTF taskfiles instead of a pointer casted into unsigned long and byte count. This makes argument re-checking in do_drive_set_taskfiles() unnecessary. * Pointer in void * not in unsigned long. * Clean up do_drive_get_GTF() error handling and make do_drive_get_GTF() return number of taskfiles on success, 0 if _GTF doesn't exist or doesn't contain valid ata. -errno on other errors. * Remove superflous check for acpi->buffer.pointer. * Update taskfile_load_raw() such that printed messages look similar to the messages printed by ata_eh_report(). * s/do_drive_get_GTF/ata_dev_get_GTF/ s/do_drive_set_taskfiles/ata_dev_set_taskfiles/ Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fafbae87db88a73b166d3bc3294d209207f27056 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: implement ata_acpi_associate() * Add acpi_handle to ata_host and ata_port. Rename ata_device->obj_handle to ->acpi_handle and move it above such that it doesn't get cleared on reconfiguration. * Replace ACPI node association which ata_acpi_associate() which is called once during host initialization. Unlike the previous implementation, ata_acpi_associate() uses ATA_FLAG_ACPI_SATA to choose between IDE or SATA ACPI hierarchy and uses simple child look up instead of recursive walk to match the nodes. This is way safer and simpler. Please read the following message for more info. http://article.gmane.org/gmane.linux.ide/17554 Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a0a24741cac414aba5918e9939afafa70c37f952 Author: Steven Whitehouse Date: Mon Jul 9 15:43:07 2007 +0100 [GFS2] Small fixes to logging code This reverts part of an earlier patch which tried to reclaim gfs2_bufdata structures too early and resulted in a "use after free" case (this bit from me). Also a change to not write out log headers unless we really need to (in the case of flushing nothing we don't need a header) from Bob. Signed-off-by: Steven Whitehouse Signed-off-by: Bob Peterson commit 2c1d8aea2ca76df1b1de2aed23e3ceda2a044ed1 Author: Jiri Kosina Date: Wed Jul 4 16:45:59 2007 +0200 HID: handle cases of volume knobs generating relative values There are some devices (for example Dell Multimedia Keyboard SK-8135) that have a volume control knob which generates relative events instead of absolute. hid-input maps them to ABS_VOLUME. HUT pages don't restrict volume to absolute values. Adding REL_VOLUME doesn't seem feasible, nothing knows how to handle it. This patch translates relative ABS_VOLUME events into appropriate number of series of VOLUME_UP or VOLUME_DOWN events respectively, so that userspace sees the correct values in the end. kernel.org bugzilla 5233 Reported-by: Jochen Eisinger Signed-off-by: Jiri Kosina commit 3c5f4b25f3552c9bcb52eb956753a3c8140480b7 Author: Jiri Kosina Date: Thu Jun 28 22:33:47 2007 +0200 HID: Logitech keyboard 0xc311 needs reset leds quirk The keyboard 0x046d/0xc311 needs reset leds quirk Tested-by: Antonino Ingargiola Signed-off-by: Jiri Kosina commit 5f9c464aaa1ba3a773c47004e98eb1f3aa2ab2a4 Author: Ryo Dairiki Date: Mon Jun 25 10:31:12 2007 +0200 HID: support for logitech cordless desktop LX500 special mapping This keyboard has wireless mouse which has left, middle, right buttons and 2-dimensional scrolling wheel. Unfornetuly, this wheel reports side scrolling events and 11 or 12 button events at the same time. I've wrote a patch to fix this mapping. I'm not sure if this mapping is proper for buttons, because , for example, there is no entry for "burn cd" in input.h. The patch also supress 11 and 12 button events from mouse when you scroll the wheel left and right. With this patch, only side scrolling events are reported. (This mouse has only 4 buttons and 2D wheel. There is no such buttons like 11 and 12.) Signed-off-by: Jiri Kosina commit 816cbfda8b5113629707f604660204701e93b7ce Author: Diogo Kastrup Date: Tue Jun 19 14:16:15 2007 +0200 HID: fix autocentering of PID devices When setting the autocentering of PID devices, PID_DIRECTION_ENABLE is not being explicitely set to 1. This results in autocentering working only on the vertical axis when this field is preset to 0. Fix that by setting it explicitely to 1 when preparing the set_effect report for autocentering spring effect. Signed-off-by: Diogo Kastrup Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit ea9a4a8b0e5a34eca6613e39d21be879d92ecff5 Author: Jiri Kosina Date: Tue Jun 19 14:09:14 2007 +0200 HID: separate quirks for report descriptor fixup Lately there have been quite a lot of bug reports against broken devices which require us to fix their report descriptor in the runtime, before it is passed to the HID parser. Those devices have eaten quite an amount of our quirks space, which isn't particularly necessary - the quirks are not needed after the report descriptor is parsed, and they just consume bits. Therefore this patch separates the quirks for report descriptor fixup, and moves their handling into separate code. The quirks are then forgotten as soon as the report descriptor has been parsed. Module parameter 'rdesc_quirks' is introduced to be able to modify these quirks in runtime in a similar way to 'quirks' parameter for ordinary HID quirks. Signed-off-by: Jiri Kosina commit b8e98f1c47b743e56f8ebe21006199cefd577ce5 Author: Jiri Kosina Date: Mon Jun 18 17:41:14 2007 +0200 HID: Add NOGET quirk for all NCR devices Devices manufactured by NCR have userspace hiddev-based drivers, which do all the necessary device querying by themselves. The devices must not be queried directly by the generic HID driver, as reported by NCR engineers. Cc: Petr Ostadal Signed-off-by: Jiri Kosina commit 92d9e6e607eb7f8f1d2a43935f45cf300cf6fdf8 Author: Jiri Kosina Date: Mon Jun 18 13:30:11 2007 +0200 HID: support for Petalynx Maxter remote control Petalynx Maxter remote control [1] 0x18b1/0x0037 emits 0xfa and 0xfc from consumer page (reserved in HUT 1.12) for back and more keys. It also emits a few usages from LOGIVENDOR page, which need adding. Also, this device has broken report descriptor - the reported maximum is too low - it doesn't contain the range for 'back' and 'more' keys, so we need to bump it up before the report descriptor is being parsed. Besides all this, it also requires NOGET quirk. This patch does so. [1] http://www.elmak.pl/index.php?option=com_phpshop&page=shop.browse&category_id=14&ext=opis&lang=en Signed-off-by: Jiri Kosina commit 5fce620c0c7caa9e8d9588e8dcc66c52c456851a Author: Hans de Goede Date: Tue Jun 12 22:04:32 2007 +0200 HID: fix mismatch between hid-input HUT find/search mapping and the HUT When comparing usb vs ps2 / testing the keycodes generated for the easy access keys on my trust (microsoft compatible) keyboard. I noticed the search key generated the keycode for find when connected through USB. This lead me to check the consumer page mappings in hid-input.c . And it turns out the the mapping for ID 0x221 deviates from the HUT standard document: http://www.usb.org/developers/devclass_docs/Hut1_12.pdf Currently it is incorrectly mapped to find, whereas it should be mapped to search. I also added missing bindings for ID 0x21f, the real find and for 0x222, goto. Signed-off-by: Hans de Goede Signed-off-by: Jiri Kosina commit 1b3ebe931195725cceee825c430a8bd5319c2566 Author: Julien Eyries Date: Tue Jun 12 10:12:40 2007 +0200 HID: support for Gameron dual psx adaptor This patch provides support for the Gameron dual psx adaptor. The modification is to add the quirk HID_QUIRK_MULTI_INPUT for this specific USB device. Signed-off-by: Julien Eyries Signed-off-by: Jiri Kosina commit 2fa45a4cffd0c4ab4e238e8ad3b4f9b0c10ac1f3 Author: Alan Stern Date: Wed May 30 11:11:12 2007 -0400 USB HID: avoid flush_scheduled_work() This patch (as914) replaces a call to flush_scheduled_work() with cancel_work_sync(), in order to help avoid potential deadlocks. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina commit 3cd709866f639d24b0d0f38567c19662c98ea92e Author: Jan Engelhardt Date: Mon Apr 30 13:27:48 2007 +0200 HID: Use menuconfig objects Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Signed-off-by: Jiri Kosina commit defd208681b721dbf2b69347cca5302d60246405 Author: Jiri Kosina Date: Sat May 19 16:28:04 2007 +0200 HID: force hid-input for Microsoft SideWinder GameVoice device Microsoft SideWinder GameVoice driver is a trivial device with a few buttons (0x09 HID usage) and an audio connector, which just forwards the audio input into oridinary sound card present in the computer. Despite this fact, the only interface of this device reports itself as a Telephony/Headset type of HID device. This is apparently incorrect - the device itself doesn't provide any audio/telephony functionality. This is achieved in userland application which only needs to receive the button events from the HID driver. This patch establishes a new quirk which forces hid-input to claim a device it will otherwise leave untouched. Reported-by: Tomas Carnecky Signed-off-by: Jiri Kosina commit cb1d93c98c49e268918e35e45e5c407fc4dc4e9f Author: Jiri Kosina Date: Mon May 14 10:20:29 2007 +0200 HID: input mapping for Chicony KU-0418 tactical pad Chicony KU-0418 (aka Saitek PZ08AU gaming keyboard) has a separate "tactical pad" with 11 non-functional buttons - they generate usage codes from 0xff00 (MSVENDOR) usage page. Special case handling for this keyboard added, so no later clash with MSVENDOR mappings is going to occur. Pointed out in bugzilla #7352 Signed-off-by: Jiri Kosina commit 58037eb961f859607b161c50d9d4ecb374de1e8f Author: Jiri Kosina Date: Wed May 30 15:07:13 2007 +0200 HID: make debugging output runtime-configurable There have been many reports recently about broken HID devices, the diagnosis of which required users to recompile their kernels in order to be able to provide debugging output needed for coding a quirk for a particular device. This patch makes CONFIG_HID_DEBUG default y if !EMBEDDED and makes it possible to control debugging output produced by HID code by supplying 'debug=1' module parameter. Signed-off-by: Jiri Kosina commit b609f06ac4ac77433035366e9aa4dcd7a0f743a0 Author: Steve French Date: Mon Jul 9 07:55:14 2007 +0000 [CIFS] Fix packet signatures for NTLMv2 case Signed-off-by: Yehuda Sadeh Weinraub Signed-off-by: Steve French commit ac90a2552500996c529d5f0ddc16a9bf60bf670d Author: David Teigland Date: Fri Jul 6 09:47:08 2007 -0500 [DLM] dump more lock values Add two more output fields (lkb_flags and rsb nodeid) to the new debugfs file that dumps one lock per line. Also, dump all locks instead of just mastered locks. Accordingly, use a suffix of _locks instead of _master. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 35dcc52e3a916184b145fd840250244b81004200 Author: Wendy Cheng Date: Wed Jun 27 17:07:53 2007 -0400 [GFS2] Remove i_mode passing from NFS File Handle GFS2 has been passing i_mode within NFS File Handle. Other than the wrong assumption that there is always room for this extra 16 bit value, the current gfs2_get_dentry doesn't really need the i_mode to work correctly. Note that GFS2 NFS code does go thru the same lookup code path as direct file access route (where the mode is obtained from name lookup) but gfs2_get_dentry() is coded for different purpose. It is not used during lookup time. It is part of the file access procedure call. When the call is invoked, if on-disk inode is not in-memory, it has to be read-in. This makes i_mode passing a useless overhead. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit bb9bcf061660661c57ddcf31337529f82414b937 Author: Wendy Cheng Date: Wed Jun 27 17:07:08 2007 -0400 [GFS2] Obtaining no_formal_ino from directory entry GFS2 lookup code doesn't ask for inode shared glock. This implies during in-memory inode creation for existing file, GFS2 will not disk-read in the inode contents. This leaves no_formal_ino un-initialized during lookup time. The un-initialized no_formal_ino is subsequently encoded into file handle. Clients will get ESTALE error whenever it tries to access these files. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit f4fadb23ca49abd2f1387a0b7e78b385ebc760ce Author: akpm@linux-foundation.org Date: Wed Jun 27 14:43:37 2007 -0700 [GFS2] git-gfs2-nmw-build-fix Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit b3657629249eba0b3b61ff964d6e1539b469d117 Author: Abhijith Das Date: Wed Jun 27 11:06:19 2007 -0500 [GFS2] System won't suspend with GFS2 file system mounted The kernel threads in gfs2, namely gfs2_scand, gfs2_logd, gfs2_quotad, gfs2_glockd, gfs2_recoverd weren't doing anything when the suspend mechanism was trying to freeze them. I put in calls to refrigerator() in the loops for all the daemons and suspend works as expected. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 569a7b6c2e8965ff4908003b925757703a3d649c Author: Bob Peterson Date: Wed Jun 27 10:15:56 2007 -0500 [GFS2] remounting w/o acl option leaves acls enabled This patch is for bugzilla bug #245663. This crosswrites a fix from gfs1 (bz #210369) so that the mount options are reset properly upon remount. This was tested on system trin-10. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 090ffaa55dacea774af9ee378d09e47fb7cea9ff Author: Wendy Cheng Date: Wed Jun 27 11:00:03 2007 -0400 [GFS2] inode size inconsistency This should have been part of the NFS patch #1 but somehow I missed it when packaging the patches. It is not a critical issue as the others (I hope). RHEL 5.1 31.el5 kernel runs fine without this change. Our truncate code is chopped into two parts, one for vfs inode changes (in vmtruncate()) and one of gfs inode (in gfs2_truncatei()). These two operatons are, unfortunately, not atomic. So it could happens that vmtruncate() succeeds (inode->i_size is changed) but gfs2_truncatei fails (say kernel temporarily out of memory). This would leave gfs inode i_di.di_size out of sync with vfs inode i_size. It will later confuse gfs2_commit_write() if a write is issued. Last time I checked, it will cause file corruption. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 97d848365e603def43c69e160937f073bf9cf02e Author: Patrick Caulfield Date: Wed Jun 27 11:36:23 2007 +0100 [DLM] Telnet to port 21064 can stop all lockspaces This patch fixes Red Hat bz#245892 Opening a tcp connection from a cluster member to another cluster member targeting the dlm port it is enough to stop every dlm operation in the cluster. This means that GFS and rgmanager will hang. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 1875f2f31b3955dff8c3712a56ae61836c8b90fe Author: S. Wendy Cheng Date: Mon Jun 25 21:14:31 2007 -0400 [GFS2] Fix gfs2_block_truncate_page err return Code segment inside gfs2_block_truncate_page() doesn't set the return code correctly. This causes NFSD erroneously returns EIO back to client with setattr procedure call (truncate error). Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 773ed1a044adc868036dee1722b8bca6ce5923e2 Author: Robert Peterson Date: Wed Jun 20 08:34:06 2007 -0500 [GFS2] Addendum to the journaled file/unmount patch This patch is an addendum to the previous journaled file/unmount patch. It fixes a problem discovered during testing. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit eaf5bd3cac92126e5825c6ebc10bee0fba35d555 Author: Steven Whitehouse Date: Tue Jun 19 15:38:17 2007 +0100 [GFS2] Simplify multiple glock aquisition There is a bug in the code which acquires multiple glocks where if the initial out-of-order attempt fails part way though we can land up trying to acquire the wrong number of glocks. This is part of the fix for red hat bz #239737. The other part of the bz doesn't apply to upstream kernels since it was fixed by: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d3717bdf8f08a0e1039158c8bab2c24d20f492b6 Since the out-of-order code doesn't appear to add anything to the performance of GFS2, this patch just removed it rather than trying to fix it. It should be much easier to see whats going on here now. In addition, we don't allocate any memory unless we are using a lot of glocks (which is a relatively uncommon case). Signed-off-by: Steven Whitehouse commit 2332c4435bb733b5cd4f612ee57532bd8fde4c1c Author: Robert Peterson Date: Mon Jun 18 14:50:20 2007 -0500 [GFS2] assertion failure after writing to journaled file, umount This patch passes all my nasty tests that were causing the code to fail under one circumstance or another. Here is a complete summary of all changes from today's git tree, in order of appearance: 1. There are now separate variables for metadata buffer accounting. 2. Variable sd_log_num_hdrs is no longer needed, since the header accounting is taken care of by the reserve/refund sequence. 3. Fixed a tiny grammatical problem in a comment. 4. Added a new function "calc_reserved" to calculate the reserved log space. This isn't entirely necessary, but it has two benefits: First, it simplifies the gfs2_log_refund function greatly. Second, it allows for easier debugging because I could sprinkle the code with calls to this function to make sure the accounting is proper (by adding asserts and printks) at strategic point of the code. 5. In log_pull_tail there apparently was a kludge to fix up the accounting based on a "pull" parameter. The buffer accounting is now done properly, so the kludge was removed. 6. File sync operations were making a call to gfs2_log_flush that writes another journal header. Since that header was unplanned for (reserved) by the reserve/refund sequence, the free space had to be decremented so that when log_pull_tail gets called, the free space is be adjusted properly. (Did I hear you call that a kludge? well, maybe, but a lot more justifiable than the one I removed). 7. In the gfs2_log_shutdown code, it optionally syncs the log by specifying the PULL parameter to log_write_header. I'm not sure this is necessary anymore. It just seems to me there could be cases where shutdown is called while there are outstanding log buffers. 8. In the (data)buf_lo_before_commit functions, I changed some offset values from being calculated on the fly to being constants. That simplified some code and we might as well let the compiler do the calculation once rather than redoing those cycles at run time. 9. This version has my rewritten databuf_lo_add function. This version is much more like its predecessor, buf_lo_add, which makes it easier to understand. Again, this might not be necessary, but it seems as if this one works as well as the previous one, maybe even better, so I decided to leave it in. 10. In databuf_lo_before_commit, a previous data corruption problem was caused by going off the end of the buffer. The proper solution is to have the proper limit in place, rather than stopping earlier. (Thus my previous attempt to fix it is wrong). If you don't wrap the buffer, you're stopping too early and that causes more log buffer accounting problems. 11. In lops.h there are two new (previously mentioned) constants for figuring out the data offset for the journal buffers. 12. There are also two new functions, buf_limit and databuf_limit to calculate how many entries will fit in the buffer. 13. In function gfs2_meta_wipe, it needs to distinguish between pinned metadata buffers and journaled data buffers for proper journal buffer accounting. It can't use the JDATA gfs2_inode flag because it's sometimes passed the "real" inode and sometimes the "metadata inode" and the inode flags will be random bits in a metadata gfs2_inode. It needs to base its decision on which was passed in. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 2840501ac822c5bf712f67b4b02640e16e145a29 Author: Steven Whitehouse Date: Mon Jun 18 16:31:42 2007 +0100 [GFS2] Use zero_user_page() in stuffed_readpage() As suggested by Robert P. J. Day Signed-off-by: Steven Whitehouse Cc: Robert P. J. Day commit c4201214cbf10636e2c1ab9131573f735b42c8d4 Author: Steven Whitehouse Date: Thu Jun 14 16:39:13 2007 +0100 [GFS2] Remove bogus '\0' in rgrp.c Not sure how it slipped in, but we don't want it anyway. Signed-off-by: Steven Whitehouse commit 8fb68595d508fd30ec90939572484b263600376c Author: Robert Peterson Date: Tue Jun 12 11:24:36 2007 -0500 [GFS2] Journaled file write/unstuff bug This patch is for bugzilla bug 283162, which uncovered a number of bugs pertaining to writing to files that have the journaled bit on. These bugs happen most often when writing to the meta_fs because the files are always journaled. So operations like gfs2_grow were particularly vulnerable, although many of the problems could be recreated with normal files after setting the journaled bit on. The problems fixed are: -GFS2 wasn't ever writing unstuffed journaled data blocks to their in-place location on disk. Now it does. -If you unmounted too quickly after doing IO to a journaled file, GFS2 was crashing because you would discard a buffer whose bufdata was still on the active items list. GFS2 now deals with this gracefully. -GFS2 was losing track of the bufdata for journaled data blocks, and it wasn't getting freed, causing an error when you tried to unmount the module. GFS2 now frees all the bufdata structures. -There was a memory corruption occurring because GFS2 wrote twice as many log entries for journaled buffers. -It was occasionally trying to write journal headers in buffers that weren't currently mapped. Signed-off-by: Bob Peterson Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit fad59c1390045b5adb7c7249ec4e77e0f868aca5 Author: David Teigland Date: Mon Jun 11 10:47:18 2007 -0500 [DLM] don't require FS flag on all nodes Mask off the recently added DLM_LSFL_FS flag when setting the exflags. This way all the nodes in the lockspace aren't required to have the FS flag set, since we later check that exflags matches among all nodes. Signed-off-by: Patrick Caulfield Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d93cfa9884354dac2d8ccd894594a43e0b962b6f Author: Abhijith Das Date: Mon Jun 11 08:22:32 2007 +0100 [GFS2] Fix deallocation issues There were two issues during deallocation of unlinked inodes. The first was relating to the use of a "try" lock which in the case of the inode lock wasn't trying hard enough to deallocate in all circumstances (now changed to a normal glock) and in the case of the iopen lock didn't wait for the demotion of the shared lock before attempting to get the exclusive lock, and thereby sometimes (timing dependent) not completing the deallocation when it should have done. The second issue related to the lack of a way to invalidate dcache entries on remote nodes (now fixed by this patch) which meant that unlinks were taking a long time to return disk space to the fs. By adding some code to invalidate the dcache entries across the cluster for unlinked inodes, that is now fixed. This patch was written jointly by Abhijith Das and Steven Whitehouse. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit a7a2ff8a951ab373732116e7c31e2e1fe025d5e0 Author: David Teigland Date: Fri Jun 8 17:01:40 2007 -0500 [GFS2] return conflicts for GETLK We weren't returning the correct result when GETLK found a conflict, which is indicated by userspace passing back a 1. Signed-off-by: Abhijith Das Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d88101d4d82ea09433692af30618c3b7afb7da02 Author: David Teigland Date: Fri Jun 8 16:00:22 2007 -0500 [GFS2] set plock owner in GETLK info Set the owner field in the plock info sent to userspace for GETLK. Without this, gfs_controld won't correctly see when the GETLK from a process matches one of the process's existing locks. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 037bcbb7564e35aef937c54799550cd27735aac6 Author: akpm@linux-foundation.org Date: Fri Jun 8 16:42:14 2007 -0700 [GFS2] gfs2_lookupi() uninitialised var fix fs/gfs2/inode.c: In function 'gfs2_lookupi': fs/gfs2/inode.c:392: warning: 'error' may be used uninitialized in this function Looks like a real bug to me. Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit c8cdf479377462315d6b4f56379f8ac989b0ef29 Author: Steven Whitehouse Date: Fri Jun 8 10:05:33 2007 +0100 [GFS2] Recovery for lost unlinked inodes Under certain circumstances its possible (though rather unlikely) that inodes which were unlinked by one node while still open on another might get "lost" in the sense that they don't get deallocated if the node which held the inode open crashed before it was unlinked. This patch adds the recovery code which allows automatic deallocation of the inode if its found during block allocation (the sensible time to look for such inodes since we are scanning the rgrp's bitmaps anyway at this time, so it adds no overhead to do this). Since the inode will have had its i_nlink set to zero, all we need to trigger recovery is a lookup and an iput(), and the normal deallocation code takes care of the rest. Signed-off-by: Steven Whitehouse commit b35997d4482ed24b43a5951c5b021d224b24293c Author: Robert Peterson Date: Thu Jun 7 09:10:01 2007 -0500 [GFS2] Can't mount GFS2 file system on AoE device This patch fixes bug 243131: Can't mount GFS2 file system on AoE device. When using AoE devices with lock_nolock, there is no locking table, so gfs2 (and gfs1) uses the superblock s_id. This turns out to be the device name in some cases. In the case of AoE, the device contains a slash, (e.g. "etherd/e1.1p2") which is an invalid character when we try to register the table in sysfs. This patch replaces the "/" with underscore. Rather than add a new variable to the stack, I'm just reusing a (char *) variable that's no longer used: table. This code has been tested on the failing system using a RHEL5 patch. The upstream code was tested by using gfs2_tool sb to interject a "/" into the table name of a clustered gfs2 file system. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e1cc86037b689a82cdb2df50c32fa8cf9d6b6c3a Author: Steven Whitehouse Date: Thu Jun 7 11:47:52 2007 +0100 [GFS2] Fix bug in error path of inode This fixes a bug in the ordering of operations in the error path of createi. Its not valid to do an iput() when holding the inode's glock since the iput() will (in this case) result in delete_inode() being called which needs to grab the lock itself. This was causing the recursive lock checking code to trigger. Signed-off-by: Steven Whitehouse commit ffed8ab342e39b8b5f4d5c94c37a708e225ffcd8 Author: Steven Whitehouse Date: Thu Jun 7 11:29:35 2007 +0100 [GFS2] Fix typo in rename of directories A typo caused us to pass a NULL pointer when renaming directories. It was accidentally introduced in: [GFS2] Clean up inode number handling Signed-off-by: Steven Whitehouse commit 44f487a5536a3afd96a9f571de24c36559e9ae82 Author: Patrick Caulfield Date: Wed Jun 6 09:21:22 2007 -0500 [DLM] variable allocation Add a new flag, DLM_LSFL_FS, to be used when a file system creates a lockspace. This flag causes the dlm to use GFP_NOFS for allocations instead of GFP_KERNEL. (This updated version of the patch uses gfp_t for ls_allocation.) Signed-Off-By: Patrick Caulfield Signed-Off-By: David Teigland Signed-off-by: Steven Whitehouse commit 292e539e9386823df8aab556f3da09667f78da8c Author: Josef Bacik Date: Tue Jun 5 17:36:38 2007 -0400 [DLM] fix reference counting This is a fix for the patch 021d2ff3a08019260a1dc002793c92d6bf18afb6 I left off a dlm_hold_rsb which causes the box to panic if you try to use debugfs. This patch fixes the problem. Sorry about that, Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 4bd91ba18198eee42c39d4c334c825d1a0a4b445 Author: Steven Whitehouse Date: Tue Jun 5 09:39:18 2007 +0100 [GFS2] Add nanosecond timestamp feature This adds a nanosecond timestamp feature to the GFS2 filesystem. Due to the way that the on-disk format works, older filesystems will just appear to have this field set to zero. When mounted by an older version of GFS2, the filesystem will simply ignore the extra fields so that it will again appear to have whole second resolution, so that its trivially backward compatible. Signed-off-by: Steven Whitehouse commit bb8d8a6f54c1c84d7c74623491bab043b36a38c5 Author: Steven Whitehouse Date: Fri Jun 1 14:11:58 2007 +0100 [GFS2] Fix sign problem in quota/statfs and cleanup _host structures This patch fixes some sign issues which were accidentally introduced into the quota & statfs code during the endianess annotation process. Also included is a general clean up which moves all of the _host structures out of gfs2_ondisk.h (where they should not have been to start with) and into the places where they are actually used (often only one place). Also those _host structures which are not required any more are removed entirely (which is the eventual plan for all of them). The conversion routines from ondisk.c are also moved into the places where they are actually used, which for almost every one, was just one single place, so all those are now static functions. This also cleans up the end of gfs2_ondisk.h which no longer needs the #ifdef __KERNEL__. The net result is a reduction of about 100 lines of code, many functions now marked static plus the bug fixes as mentioned above. For good measure I ran the code through sparse after making these changes to check that there are no warnings generated. This fixes Red Hat bz #239686 Signed-off-by: Steven Whitehouse commit ddf4b426aababdae4cb96326d7aeb9d119f42c50 Author: Benjamin Marzinski Date: Fri Jun 1 14:21:38 2007 -0500 [GFS2] fix jdata issues This is a patch for the first three issues of RHBZ #238162 The first issue is that when you allocate a new page for a file, it will not start off uptodate. This makes sense, since you haven't written anything to that part of the file yet. Unfortunately, gfs2_pin() checks to make sure that the buffers are uptodate. The solution to this is to mark the buffers uptodate in gfs2_commit_write(), after they have been zeroed out and have the data written into them. I'm pretty confident with this fix, although it's not completely obvious that there is no problem with marking the buffers uptodate here. The second issue is simply that you can try to pin a data buffer that is already on the incore log, and thus, already pinned. This patch checks to see if this buffer is already on the log, and exits databuf_lo_add() if it is, just like buf_lo_add() does. The third issue is that gfs2_log_flush() doesn't do it's block accounting correctly. Both metadata and journaled data are logged, but gfs2_log_flush() only compares the number of metadata blocks with the number of blocks to commit to the ondisk journal. This patch also counts the journaled data blocks. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit afb853fb4eec380b492a3c369f837359359c28e8 Author: Patrick Caulfield Date: Fri Jun 1 10:07:26 2007 -0500 [DLM] fix socket shutdown This patch clears the user_data of active sockets as part of cleanup. This prevents any late-arriving data from trying to add jobs to the work queue while we are tidying up. Signed-Off-By: Patrick Caulfield Signed-Off-By: David Teigland Signed-off-by: Steven Whitehouse commit 89918647a445fddfe223b097e29f775dcfa81eab Author: Steven Whitehouse Date: Fri Jun 1 15:19:33 2007 +0100 [GFS2] Make the log reserved blocks depend on block size The number of blocks which we reserve in the log at the start of each transaction needs to depends upon the block size since the overhead is related to the number of "pointers" which can be fitted into a single block. This relates to Red Hat bz #240435 Signed-off-by: Steven Whitehouse commit 1990e917651d58a3c5155d0491431c09e29e385b Author: Abhijith Das Date: Thu May 31 17:52:02 2007 -0500 [GFS2] Quotas non-functional - fix another bug This patch fixes a bug where gfs2 was writing update quota usage information to the wrong location in the quota file. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 0b7cac0fb0e541a7f54d0ba55b31d829ce3dd899 Author: David Teigland Date: Tue May 29 08:47:51 2007 -0500 [DLM] show default protocol Display the initial value of the "protocol" config value in configfs. The default value has always been 0 in the past anyway, so it's always appeared to be correct. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 9dd592d70be0db6fa8e4e19d7642cfaa424b200e Author: David Teigland Date: Tue May 29 08:47:04 2007 -0500 [DLM] dumping master locks Add a new debugfs file that dumps a compact list of mastered locks. This will be used by a userland daemon to collect state for deadlock detection. Also, for the existing function that prints all lock state, lock the rsb before going through the lock lists since they can be changing in the course of normal dlm activity. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8b4021fa436f7c76a2299e6d85d4d4a619724e9a Author: David Teigland Date: Tue May 29 08:46:00 2007 -0500 [DLM] canceling deadlocked lock Add a function that can be used through libdlm by a system daemon to cancel another process's deadlocked lock. A completion ast with EDEADLK is returned to the process waiting for the lock. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 84d8cd69a8e7f1c9962f46bc79850c9f1f663806 Author: David Teigland Date: Tue May 29 08:44:23 2007 -0500 [DLM] timeout fixes Various fixes related to the new timeout feature: - add_timeout() missed setting TIMEWARN flag on lkb's when the TIMEOUT flag was already set - clear_proc_locks should remove a dead process's locks from the timeout list - the end-of-life calculation for user locks needs to consider that ETIMEDOUT is equivalent to -DLM_ECANCEL - make initial default timewarn_cs config value visible in configfs - change bit position of TIMEOUT_CANCEL flag so it's not copied to a remote master node - set timestamp on remote lkb's so a lock dump will display the time they've been waiting Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b3cab7b9a34a6e65c1ca8f80fb57b256d57e8555 Author: Steven Whitehouse Date: Tue May 29 11:14:21 2007 +0100 [DLM] Compile fix A one liner fix which got missed from the earlier patches. Signed-off-by: Steven Whitehouse Cc: Fabio Massimo Di Nitto Cc: David Teigland commit 518bbde33f7a6b4e252ea2591c77ef796065afa8 Author: Fabio Massimo Di Nitto Date: Tue May 22 09:00:24 2007 +0200 [GFS2] latest gfs2-nmw headers break userland build 2e8701a15cd6f7c95e74d6660615a69b09e453ef commit breaks libgfs2 build: gcc -Wall -I/usr/src/ubuntu/mypkgs/rhcluster/cluster/config -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS2_RELEASE_NAME=\"2.0\" -ggdb -I/usr/include -I../include -I../libgfs2 -c -o gfs2hex.o gfs2hex.c In file included from hexedit.h:22, from gfs2hex.c:27: /usr/include/linux/gfs2_ondisk.h:505: error: expected specifier-qualifier-list before ‘u32’ make[2]: *** [gfs2hex.o] Error 1 make[2]: Leaving directory `/usr/src/ubuntu/mypkgs/rhcluster/cluster/gfs2/edit' make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/src/ubuntu/mypkgs/rhcluster/cluster/gfs2' make: *** [gfs2] Error 2 Signed-off-by: Fabio Massimo Di Nitto Signed-off-by: Steven Whitehouse commit 639aca417d91ebba1077a6084e4423af1c1dd811 Author: David Teigland Date: Fri May 18 16:02:57 2007 -0500 [DLM] fix compile breakage In the rush to get the previous patch set sent, a compilation bug I fixed shortly before sending somehow got clobbered, probably by a missed quilt refresh or something. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8b0e7b2cf35aa827ed5efb508c1879481b970496 Author: David Teigland Date: Fri May 18 09:03:35 2007 -0500 [DLM] wait for config check during join [6/6] Joining the lockspace should wait for the initial round of inter-node config checks to complete before returning. This way, if there's a configuration mismatch between the joining node and the existing nodes, the join can fail and return an error to the application. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 79d72b54483bf81b9f9de0dd555c710ac7267986 Author: David Teigland Date: Fri May 18 09:02:20 2007 -0500 [DLM] fix new_lockspace error exit [5/6] Fix the error path when exiting new_lockspace(). It was kfree'ing the lockspace struct at the end, but that's only valid if it exits before kobject_register occured. After kobject_register we have to let the kobject do the freeing. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit c85d65e91430db94ae9ce0cf38b56e496658b642 Author: David Teigland Date: Fri May 18 09:01:26 2007 -0500 [DLM] cancel in conversion deadlock [4/6] When conversion deadlock is detected, cancel the conversion and return EDEADLK to the application. This is a new default behavior where before the dlm would allow the deadlock to exist indefinately. The DLM_LKF_NODLCKWT flag can now be used in a conversion to prevent the dlm from performing conversion deadlock detection/cancelation on it. The DLM_LKF_CONVDEADLK flag can continue to be used as before to tell the dlm to demote the granted mode of the lock being converted if it gets into a conversion deadlock. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d7db923ea4990edb5583bf54af868ba687a1bc84 Author: David Teigland Date: Fri May 18 09:00:32 2007 -0500 [DLM] dlm_device interface changes [3/6] Change the user/kernel device interface used by libdlm: - Add ability for userspace to check the version of the interface. libdlm can now adapt to different versions of the kernel interface. - Increase the size of the flags passed in a lock request so all possible flags can be used from userspace. - Add an opaque "xid" value for each lock. This "transaction id" will be used later to associate locks with each other during deadlock detection. - Add a "timeout" value for each lock. This is used along with the DLM_LKF_TIMEOUT flag. Also, remove a fragment of unused code in device_read(). This patch requires updating libdlm which is backward compatible with older kernels. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 3ae1acf93a21512512f8a78430fcde5992dd208e Author: David Teigland Date: Fri May 18 08:59:31 2007 -0500 [DLM] add lock timeouts and warnings [2/6] New features: lock timeouts and time warnings. If the DLM_LKF_TIMEOUT flag is set, then the request/conversion will be canceled after waiting the specified number of centiseconds (specified per lock). This feature is only available for locks requested through libdlm (can be enabled for kernel dlm users if there's a use for it.) If the new DLM_LSFL_TIMEWARN flag is set when creating the lockspace, then a warning message will be sent to userspace (using genetlink) after a request/conversion has been waiting for a given number of centiseconds (configurable per node). The time warnings will be used in the future to do deadlock detection in userspace. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 85e86edf951a8a39954c0ba1edbe4a58827dcd5c Author: David Teigland Date: Fri May 18 08:58:15 2007 -0500 [DLM] block scand during recovery [1/6] Don't let dlm_scand run during recovery since it may try to do a resource directory removal while the directory nodes are changing. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 916297aad5de2363dccd531873eda55d4d6afb57 Author: Josef Bacik Date: Wed May 16 15:56:13 2007 -0400 [DLM] keep dlm from panicing when traversing rsb list in debugfs This problem was originally reported against GFS6.1, but the same issue exists in upstream DLM. This patch keeps the rsb iterator assigning under the rsbtbl list lock. Each time we process an rsb we grab a reference to it to make sure it is not freed out from underneath us, and then put it when we get the next rsb in the list or move onto another list. Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 2a87ab080607d009b8b2a8706f4e27d70402ca9c Author: Abhijith Das Date: Wed May 16 17:02:19 2007 -0500 [GFS2] Quotas non-functional - fix bug This patch fixes an error in the quota code where a 'struct gfs2_quota_lvb*' was being passed to gfs2_adjust_quota() instead of a 'struct gfs2_quota_data*'. Also moved 'struct gfs2_quota_lvb' from fs/gfs2/incore.h to include/linux/gfs2_ondisk.h as per Steve's suggestion. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit dbb7cae2a36170cd17ffbe286ec0c91a998740ff Author: Steven Whitehouse Date: Tue May 15 15:37:50 2007 +0100 [GFS2] Clean up inode number handling This patch cleans up the inode number handling code. The main difference is that instead of looking up the inodes using a struct gfs2_inum_host we now use just the no_addr member of this structure. The tests relating to no_formal_ino can then be done by the calling code. This has advantages in that we want to do different things in different code paths if the no_formal_ino doesn't match. In the NFS patch we want to return -ESTALE, but in the ->lookup() path, its a bug in the fs if the no_formal_ino doesn't match and thus we can withdraw in this case. In order to later fix bz #201012, we need to be able to look up an inode without knowing no_formal_ino, as the only information that is known to us is the on-disk location of the inode in question. This patch will also help us to fix bz #236099 at a later date by cleaning up a lot of the code in that area. There are no user visible changes as a result of this patch and there are no changes to the on-disk format either. Signed-off-by: Steven Whitehouse commit 41d7db0ab437bc84f8a6e77cccc626ce937605ac Author: Steven Whitehouse Date: Mon May 14 17:43:26 2007 +0100 [GFS2] Reduce size of struct gdlm_lock This patch removes the completion (which is rather large) from struct gdlm_lock in favour of using the wait_on_bit() functions. We don't need to add any extra fields to the structure to do this, so we save 32 bytes (on x86_64) per structure. This adds up to quite a lot when we may potentially have millions of these lock structures, Signed-off-by: Steven Whitehouse Acked-by: David Teigland commit cd81a4bac67d44742ab0aa1848f4a78e9d7e1093 Author: Robert Peterson Date: Mon May 14 12:42:18 2007 -0500 [GFS2] Addendum patch 2 for gfs2_grow This addendum patch 2 corrects three things: 1. It fixes a stupid mistake in the previous addendum that broke gfs2. Ref: https://www.redhat.com/archives/cluster-devel/2007-May/msg00162.html 2. It fixes a problem that Dave Teigland pointed out regarding the external declarations in ops_address.h being in the wrong place. 3. It recasts a couple more %llu printks to (unsigned long long) as requested by Steve Whitehouse. I would have loved to put this all in one revised patch, but there was a rush to get some patches for RHEL5. Therefore, the previous patches were applied to the git tree "as is" and therefore, I'm posting another addendum. Sorry. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 0507ecf50f22e433592f5ec3a36dc831aaec2e02 Author: Nate Diller Date: Thu May 10 22:41:28 2007 -0700 [GFS2] use zero_user_page Use zero_user_page() instead of open-coding it. Signed-off-by: Nate Diller Cc: Steven Whitehouse Signed-off-by: Andrew Morton commit 6c53267f05dc6689ff662efeec426d25d2c0ab84 Author: Robert Peterson Date: Thu May 10 16:54:38 2007 -0500 [GFS2] Kernel changes to support new gfs2_grow command (part 2) To avoid code redundancy, I separated out the operational "guts" into a new function called read_rindex_entry. Then I made two functions: the closer-to-original gfs2_ri_update (without the special condition checks) and gfs2_ri_update_special that's designed with that condition in mind. (I don't like the name, but if you have a suggestion, I'm all ears). Oh, and there's an added benefit: we don't need all the ugly gotos anymore. ;) This patch has been tested with gfs2_fsck_hellfire (which runs for three and a half hours, btw). Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse commit 7ae8fa8451dfb3879ecbc04f2760a707dc65b988 Author: Robert Peterson Date: Wed May 9 09:37:57 2007 -0500 [GFS2] kernel changes to support new gfs2_grow command This is another revision of my gfs2 kernel patch that allows gfs2_grow to function properly. Steve Whitehouse expressed some concerns about the previous patch and I restructured it based on his comments. The previous patch was doing the statfs_change at file close time, under its own transaction. The current patch does the statfs_change inside the gfs2_commit_write function, which keeps it under the umbrella of the inode transaction. I can't call ri_update to re-read the rindex file during the transaction because the transaction may have outstanding unwritten buffers attached to the rgrps that would be otherwise blown away. So instead, I created a new function, gfs2_ri_total, that will re-read the rindex file just to total the file system space for the sake of the statfs_change. The ri_update will happen later, when gfs2 realizes the version number has changed, as it happened before my patch. Since the statfs_change is happening at write_commit time and there may be multiple writes to the rindex file for one grow operation. So one consequence of this restructuring is that instead of getting one kernel message to indicate the change, you may see several. For example, before when you did a gfs2_grow, you'd get a single message like: GFS2: File system extended by 247876 blocks (968MB) Now you get something like: GFS2: File system extended by 207896 blocks (812MB) GFS2: File system extended by 39980 blocks (156MB) This version has also been successfully run against the hours-long "gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck while interjecting file system damage. It does this repeatedly under a variety Resource Group conditions. Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse commit 3168b0780d06ace875696f8a648d04d6089654e5 Author: Satyam Sharma Date: Tue May 8 09:18:58 2007 +0100 [DLM] fix a couple of races Fix two races in fs/dlm/config.c: (1) Grab the configfs subsystem semaphore before calling config_group_find_obj() in get_space(). This solves a potential race between get_space() and concurrent mkdir(2) or rmdir(2). (2) Grab a reference on the found config_item _while_ holding the configfs subsystem semaphore in get_comm(), and not after it. This solves a potential race between get_comm() and concurrent rmdir(2). Signed-off-by: Satyam Sharma Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b524fe646c9a226a847e30ca1221dc22e952f16b Author: Benjamin Marzinski Date: Wed May 2 09:44:03 2007 -0500 [GFS2] flush the glock completely in inode_go_sync Fix for bz #231910 When filemap_fdatawrite() is called on the inode mapping in data=ordered mode, it will add the glock to the log. In inode_go_sync(), if you do the gfs2_log_flush() before this, after the filemap_fdatawrite() call, the glock and its associated data buffers will be on the log again. This means you can demote a lock from exclusive, without having it flushed from the log. The attached patch simply moves the gfs2_log_flush up to after the filemap_fdatawrite() call. Originally, I tried moving the gfs2_log_flush to after gfs2_meta_sync(), but that caused me to trip the following assert. GFS2: fsid=cypher-36:test.0: fatal: assertion "!buffer_busy(bh)" failed GFS2: fsid=cypher-36:test.0: function = gfs2_ail_empty_gl, file = fs/gfs2/glops.c, line = 61 It appears that gfs2_log_flush() puts some of the glocks buffers in the busy state and the filemap_fdatawrite() call is necessary to flush them. This makes me worry slightly that a related problem could happen because of moving the gfs2_log_flush() after the initial filemap_fdatawrite(), but I assume that gfs2_ail_empty_gl() would catch that case as well. Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit f2ec8030085a27c4ba8e95a10a96f248efb34177 Author: Thomas Bogendoerfer Date: Thu Jun 28 00:49:06 2007 +0200 Ethernet driver for EISA only SNI RM200/RM400 machines Changes to last version: - spelling fix - cleaned up probe code Thomas. Ethernet driver for EISA only SNI RM200/RM400 machines Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit 2187f287e2827556210e96c619f76f0f9dd928f0 Author: Thomas Bogendoerfer Date: Thu Jun 28 00:46:22 2007 +0200 Extract chip specific code out of lasi_82596.c Changes to last version: - use netdev_alloc_skb - make init_rx_bufs just fail and not panic, if skb alloc fails - don/t free_irq, if request_irq failed Thomas. Extracted chip specific code out of lasi_82596.c and placed into a lib82596.c to make it usable for other 82596 drivers Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit d1d25aaba85fd24ab18b0a4d22f19be02aac65c9 Author: Jan-Bernd Themann Date: Mon Jul 2 13:00:46 2007 +0200 ehea: Whitespace cleanup This patch fixes several whitespace issues. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 7c00db3d28131f4fff42eb49632dcd70636f31f4 Author: Olof Johansson Date: Fri Jun 22 15:04:54 2007 -0500 pasemi_mac: Fix TX interrupt threshold It was mistakenly set to interrupt on the second packet instead of first, causing some interesting latency behaviour. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit e65bbf13dd6ca8c0a4fc35028742c8c85f39c02b Author: Linas Vepstas Date: Thu Jun 14 18:12:23 2007 -0500 spidernet: Replace literal with const Replace literal with const; add bit definitions. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 57a9f236ebe76be6fe1c85b5f7b3cea842e44177 Author: Francois Romieu Date: Mon Jun 4 22:10:15 2007 +0200 r8169: perform RX config change after mac filtering It does not really make sense to update the RX config register before the mac filtering registers. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 773d202194be84cc17d35f62516eac6d8db833e6 Author: Francois Romieu Date: Wed Jan 31 23:47:43 2007 +0100 r8169: mac address change support Merged from Realtek's r8169-6.001 driver. I have added some locking to protect against the arp monitoring timer in the bonding driver. Accessing the configuration registers is otherwise performed under RTNL locking. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 96b9709c9b47c1f9e8fd80e756e8eddcba68e818 Author: Francois Romieu Date: Wed May 30 00:32:05 2007 +0200 r8169: display some extra debug information during startup It does not cost much and it will ease the identification of (so far) unknown devices. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6cccd6e7a261263cdf06576bd1b241be575638b6 Author: Rolf Eike Beer Date: Mon May 21 22:11:04 2007 +0200 r8169: add endianess annotations to [RT]xDesc Signed-off-by: Rolf Eike Beer Signed-off-by: Francois Romieu Cc: Edward Hsu commit e9f63f30863fd778a5329e93c7e2208b9bcb5b79 Author: Francois Romieu Date: Wed Feb 28 23:16:57 2007 +0100 r8169: align the IP header when there is no DMA constraint Align the IP header when the chipset can DMA at any location (plain 0x8169). Otherwise (0x8136/0x8168) obey the constraint imposed by the hardware. This patch complements the previous alignment rework done for copybreak. Original idea from Philip Craig Signed-off-by: Francois Romieu Cc: Philip Craig Cc: Mike Isely Cc: Edward Hsu commit 275391a482c436282dde57beeffc5d61b229fdd2 Author: Francois Romieu Date: Fri Feb 23 23:50:28 2007 +0100 r8169: add bit description for the TxPoll register Signed-off-by: Francois Romieu Cc: Edward Hsu commit 07d3f51febdc139c63e95671126fd2791113902e Author: Francois Romieu Date: Wed Feb 21 22:40:46 2007 +0100 r8169: cleanup No functionnal change: - trim the old history log - whitespace/indent/case police - unsigned int where signedness does not matter - removal of obsolete assert - needless cast from void * (dev_instance) - remove dead code once related to power management - use netdev_alloc_skb. Signed-off-by: Francois Romieu Cc: Stephen Hemminger Cc: Edward Hsu commit 901dda2b5f0dfbd310d22d497ec8826d4c60363b Author: Francois Romieu Date: Wed Feb 21 00:10:20 2007 +0100 r8169: remove the media option It has been documented as deprecated: - in MODULE_PARM_DESC since may 2005 ; - at the top of the source file and in printk since june 2004. Good bye. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 0127215c17414322b350c3c6fbd1a7d8dd13856f Author: Francois Romieu Date: Tue Feb 20 22:58:51 2007 +0100 r8169: small 8101 comment Extracted from version 1.001.00 of Realtek's r8101. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 864022344caf43dab7fa5219152280d056c6e051 Author: Francois Romieu Date: Tue Feb 20 22:20:51 2007 +0100 r8169: confusion between hardware and IP header alignment The rx copybreak part is straightforward. The align field in struct rtl_cfg_info is related to the alignment requirements of the DMA operation. Its value is set at 2 to limit the scale of possible regression but my old v1.21 8169 datasheet claims a 8 bytes requirements (which never appeared in the driver, of course) and the 8101/8168 go with a plain 8 bytes alignment. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 0e4851502f846b13b29b7f88f1250c980d57e944 Author: Francois Romieu Date: Tue Feb 20 00:00:26 2007 +0100 r8169: merge with version 8.001.00 of Realtek's r8168 driver This one includes: - more tweaks to rtl_hw_start_8168 - a work around for a Rx FiFO overflow issue on the 8168Bb - rtl8169_{intr_mask/napi_event} are replaced with per-device fields, namely tp->{intr/napi}_event - rtl_cfg_info is converted to C99 for readability but the values are not changed for the 8169/8110 and the 8101 Includes ChipCmd fix from Bernhard Walle (2007/02/24). Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6dccd16b7c2703e8bbf8bca62b5cf248332afbe2 Author: Francois Romieu Date: Tue Feb 13 23:38:05 2007 +0100 r8169: merge with version 6.001.00 of Realtek's r8169 driver - new identifier for the 8110SCe - the PCI latency timer is set unconditionally. This part is identical in Realtek's r8168 (8.001.00) and r8101 (1.001.00) - initialization of the cache line size register is for the 8169s only - more magic in rtl_hw_start_8169 - it is not possible to factor out the setting of the the irq event mask with the 8168 and the 8101 any more. Pushed it into the hw_start handler. - rtl_set_rx_tx_config_registers() and write to the ChipCmd register are issued identically for the whole 8169/8110 family: the 8110SCd/8110SCe are handled the same way - work around for AMD platform. Some registers definitions in Realtek's driver are let aside for later. Signed-off-by: Francois Romieu Cc: Edward Hsu commit ba6eb6ee8583a2c7c7f8327be5e5c239fb760b03 Author: Francois Romieu Date: Mon Jun 11 23:35:18 2007 +0200 r8169: prettify mac_version ...still a bit yucky though. Signed-off-by: Francois Romieu Cc: Edward Hsu commit cdf1a608a6ccf9cf1a773969395b58b017bd6f75 Author: Francois Romieu Date: Mon Jun 11 23:29:50 2007 +0200 r8169: populate the hw_start handler for the 8110 Same thing as the previous change for rtl_hw_start_8168. The 8101 related code in rtl_hw_start_8169 (see RTL_GIGA_MAC_VER_13) goes away. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 2dd99530a248bc70e712a5f98e0bc66139a582cb Author: Francois Romieu Date: Mon Jun 11 23:22:52 2007 +0200 r8169: populate the hw_start handler for the 8168 rtl_hw_start_8168 inherits the content of rtl_hw_start_8169 minus the code which depends on RTL_GIGA_MAC_VER_XY (XY != {11/12}). Signed-off-by: Francois Romieu Cc: Edward Hsu commit 7f796d83ffa58c6f752e53dbed8faebb74333e24 Author: Francois Romieu Date: Mon Jun 11 23:04:41 2007 +0200 r8169: add helpers for per-device hw_start handler They aim to limit the amount of moved code when the hw_start handler gets more specialized. No functional change. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 07ce4064677806e330599ade772a914f500e74af Author: Francois Romieu Date: Fri Feb 23 23:36:39 2007 +0100 r8169: add hooks for per-device hw_start handler Rationale: rtl8169_hw_start will not help maintaining an unified driver for different chipsets but people at Realtek are probably too polite to say it distinctly. Let's add the hook and keep hw_start handler unchanged. As can be seen from the content of rtl8169_pci_tbl, the RTL_CFG_1 entry in rtl_cfg_info was unused. I recycled it for the 0x8168. Signed-off-by: Francois Romieu Cc: Edward Hsu commit b449655ff52ff8a29c66c5fc3fc03617e61182ee Author: Stephen Hemminger Date: Sun Jun 17 01:06:49 2007 +0200 r8169: Rx path update - pci_dma_sync_single_for_cpu is not needed for a single large packet - remove the function pointer to help gcc optimizing the inline pci_dma functions. Signed-off-by: Stephen Hemminger Signed-off-by: Francois Romieu Cc: Edward Hsu commit 278667ba186a23770b0dd23ccd26de56a8cc4ec2 Author: David S. Miller Date: Sun Jun 10 17:55:04 2007 -0700 r8169: kill eth_copy_and_sum() It hasn't "summed" anything in over 7 years, and it's just a straight mempcy ala skb_copy_to_linear_data() so just get rid of it. Signed-off-by: David S. Miller Signed-off-by: Francois Romieu Cc: Edward Hsu commit 4ae47c2ddc55e3c571bb55fca921cfe9b02a685f Author: Francois Romieu Date: Sat Jun 16 23:28:45 2007 +0200 r8169: de-obfuscate modulo arithmetic The former style suggests a modulo arithmetic misuse but the expression should never be < 0. Even if it does, the driver will simply loop longer than expected (not that the remaining parts of the system will necessarily appreciate it...). Let's warn the user when something goes wrong and try to go over it. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 15d317587e17dcb96484e46b17b6e826a1f97661 Author: Stephen Hemminger Date: Sat Jun 16 22:36:41 2007 +0200 r8169: use netdev_alloc_skb Use netdev_alloc_skb and remove the useless sk_buff * argument of rtl8169_alloc_rx_skb. Signed-off-by: Stephen Hemminger Signed-off-by: Francois Romieu Cc: Edward Hsu commit a73b629b3519ae97c5325eda346b1749961cfa8d Author: Stephen Hemminger Date: Mon Jun 4 17:23:27 2007 -0700 sky2: version 1.15 New version because of new chip support. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 69161611025b261cb64be70723c0dffe26aeb3ab Author: Stephen Hemminger Date: Mon Jun 4 17:23:26 2007 -0700 sky2: Yukon Extreme (88e8071) support. Enable support for Yukon EX chipset (88e8071). Most of changes are related to new commands to chip for transmit, and change in status and checksumming. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8f70920f2f2a699b4ad35e625071cd92f4ba6ca3 Author: Stephen Hemminger Date: Mon Jun 4 17:23:25 2007 -0700 sky2: GPIO register The General Purpose I/O register is yet another hardware workaround catchall. Enable workaround that vendor driver does to stay but for bug compatiable. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 451af33552286b426940a32126bd3ece243223a3 Author: Stephen Hemminger Date: Mon Jun 4 17:23:24 2007 -0700 sky2: enable clocks before probe Catch-22: On Yukon EX (88E8071) need to have internal clocks enabled before reading chip id. It is harmless on other chips. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f449c7c10698e49e6c654452f852b1b719273d8a Author: Stephen Hemminger Date: Mon Jun 4 17:23:23 2007 -0700 sky2: rename BMU register This register is more of a test and control register on Yukon2. So rename it to Q_TEST and give some bit definitions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit fc99fe0618f355b708ce88fedaca9783072ac3d5 Author: Stephen Hemminger Date: Mon Jun 4 17:23:22 2007 -0700 sky2: Add PCI device specfic register 4 & 5 Need to setup more PCI control control registers are on Yukon EX. Some of these also exist on Yukon EC-U as well. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3ead5db7bcd343917e567c083f5faf45f5301664 Author: Stephen Hemminger Date: Mon Jun 4 17:23:21 2007 -0700 sky2: avoid reserved regions on ethtool reg dump On Yukon EX reading some of the undocumented places in the memory space will cause a hang. Since they don't provide useful information, just skip the reserved areas. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3213e3abc68c776589d574decf3e6aee0467d12c Author: Linas Vepstas Date: Mon Jun 11 14:12:09 2007 -0500 spidernet: driver docmentation Documentation for the spidernet driver. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 5f309b90e242a4a9c5519ed113801a7ad542cd48 Author: Linas Vepstas Date: Mon Jun 11 14:09:16 2007 -0500 spidernet: fix misnamed flag The transmit frame tail bit is stranglely misnamed as "no checksum". Fix the name to what it should be: "transmit frame tail". No functional change, just a name change. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 59a11f8809ada4b89ac079fb7f549eaca0554f94 Author: Linas Vepstas Date: Mon Jun 11 14:05:41 2007 -0500 spidernet: move a block of code around Put the enable and disable routines next to one-another, as this makes verifying thier symmetry that much easier. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit e1fd9070729765910b144ffcf74ca199c766509b Author: Linas Vepstas Date: Mon Jun 11 13:59:21 2007 -0500 spidernet: service TX later. When entering the netdev poll routine, empty out the RX chain first, before cleaning up the TX chain. This should help avoid RX buffer overflows. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 9e0a6e2598ac08d14c3388567eae9a4ccea1244f Author: Linas Vepstas Date: Mon Jun 11 13:52:03 2007 -0500 spidernet: invalidate unused pointer. Invalidate a pointer as its pci_unmap'ed; this is a bit of paranoia to make sure hardware doesn't continue trying to DMA to it. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 9948357d49c84102151bc14233c2f489552c1f57 Author: Linas Vepstas Date: Mon Jun 11 13:48:55 2007 -0500 spidernet: enhance the dump routine Crazy device problems are hard to debug, when one does not have good trace info. This patch makes a major enhancement to the device dump routine. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit e6311d855e100184d42c0165ab9d5215fd792c89 Author: Linas Vepstas Date: Mon Jun 11 13:41:38 2007 -0500 spidernet: beautify error messages Use dev_err() to print device error messages. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 91e745aa46336087e1295d44685ee2839bbba07d Author: Stephen Hemminger Date: Wed May 30 14:23:18 2007 -0700 qla3xxx: cleanup checksum offload code The code for checksum is more complex than needed when dealing with VLAN's; the higher layers already pass down the location of the IP header. Compile tested only, no hardware available. Signed-off-by: Stephen Hemminger Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 59b34c1260045ca264c0208f2b666e839909e2d4 Author: Yoichi Yuasa Date: Tue Jun 5 22:55:06 2007 +0900 add return value check of request_irq() This patch has added return value check of request_irq() to pcmcia net drivers. Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit d1c0a65fb597697d1fbce4eadf42b84f70483edc Author: Jan Engelhardt Date: Wed Jun 13 12:48:53 2007 -0700 Use menuconfig objects II - netdev (general+100mbit) CONFIG_NETDEVICES, CONFIG_NET_ETHERNET: Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. CONFIG_SMC9194: Move it so that it appears correctly in menuconfig. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 8f036c04a8f3487fa4a2368d99dd74be42b7c6fd Author: Geert Uytterhoeven Date: Wed Jun 6 16:04:39 2007 +0200 acenic: SET_NETDEV_DEV is always there these days acenic: SET_NETDEV_DEV is always there these days Signed-off-by: Geert Uytterhoeven Signed-off-by: Jeff Garzik commit bf0dcbd929faf036f1a4f2918090344d0e249cf5 Author: Stephen Hemminger Date: Mon Jun 4 13:25:40 2007 -0700 b44: use netdev_alloc_skb Use netdev_alloc_skb rather than dev_alloc_skb when allocating receive buffers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 72f4861ef9b1c1ca6e4abb49854698e80d3b684d Author: Stephen Hemminger Date: Mon Jun 4 13:25:39 2007 -0700 b44: packet offset is constant The receive buffer offset is constant in this driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f65a71775cc3eb5d5d8ac4c349c8f48a7d5c7759 Author: Stephen Hemminger Date: Mon Jun 4 13:25:38 2007 -0700 b44: tx bounce sizing. No need to grap full size MTU buffer for possibly small transmit bounce buffers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a72a8179734393ca351f6ecf8cad6841ab7e1470 Author: Stephen Hemminger Date: Mon Jun 4 13:25:37 2007 -0700 b44: timer power saving Make the PHY and statistic timer run on one second boundary for powersaving. On resume, the driver should check for link up immediately, to get online faster (rather than waiting for the next second). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit eb034a7998956bffdd2acccb7fddfc114c913120 Author: Richard Knutsson Date: Sat May 19 22:18:10 2007 +0200 tulip: Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 480fe1a31c662ef4ff0598a7cacefa21f98335f1 Author: Divy Le Ray Date: Wed May 30 21:10:58 2007 -0700 cxgb3 - TP SRAM update The chip executes microcode present in internal RAM, whose content is loaded from EEPROM on power cycle. This patch allows an update of the microcode through PIO without forcing a power cycle. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 8a9fab22cf6a3abde7731f4425d4ff87509bc15a Author: Divy Le Ray Date: Wed May 30 21:10:52 2007 -0700 cxgb3 - Firmware update Update FW to 4.1. Proceed to subsequent HW tuning to improve RDMA perfs.. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit cf992af561cc3ba72d79582535e6262818b00548 Author: Divy Le Ray Date: Wed May 30 21:10:47 2007 -0700 cxgb3 - sge page management Streamline sge page management. Fix dma mappings when buffers are recycled. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 287aa83dffd1b39859f49d73b0d67f57106de5f1 Author: Bill Nottingham Date: Wed May 30 03:59:02 2007 -0400 drivers/net: fix comparisons of unsigned < 0 Recent gcc versions emit warnings when unsigned variables are compared < 0 or >= 0. Signed-off-by: Bill Nottingham Signed-off-by: Jeff Garzik commit 40738f3fcdb951fb8ade286dc1ea05812acc94db Author: Komuro Date: Sun May 27 08:57:58 2007 +0900 PCMCIA-NETDEV : add new ID of lan&modem multifunction card fmvj18x_cs: NEC PK-UG-J001 Panasonic CF-VML201 Panasonic TO-PDL9610 pcnet_cs: MICRO-RESEARCH MC336LAN Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 18ab458fb7bd5c64bef766090020648266cfa9b6 Author: David Brownell Date: Fri May 25 12:31:32 2007 -0700 usbnet whitespace fixes Whitespace updates for usbnet core, mostly switching to tab-only indents. Signed-off-by: David Brownell Signed-off-by: Jeff Garzik commit 2501f843b051621c5a6df7a092a64dfd78b201f7 Author: Richard Knutsson Date: Sat May 19 22:26:40 2007 +0200 8139cp: Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 4117b5be4b877cec7c34058f0c239fcf78274e3d Author: Kapil Juneja Date: Fri May 11 18:25:18 2007 -0500 phylib: m88e1111: enable SGMII mode If connected via SGMII, initialize with SGMII mode configured. Signed-off-by: Kapil Juneja Signed-off-by: Andy Fleming Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit d3c12873c36005263286cf5660663c8c10f9d2b5 Author: Kapil Juneja Date: Fri May 11 18:25:11 2007 -0500 gianfar: add support for SGMII Add code for initialising and configuring TBI interface and programming it for connecting to on-chip SERDES (Lynx PHY) in case of SGMII mode selected through HRCW at reset. also add defines for TBI register configuration. TBI interface is programmed towards the SERDES. refactored mdio read/write functions to differentiate programming local interface MII regs (e.g., for TBI) from always programming the mdio master (TSEC1, for programming the PHYs). Signed-off-by: Kapil Juneja Signed-off-by: Andy Fleming Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 0cefeebaf3da39d768bffcf62460fe2088e824ef Author: Michael Barkowski Date: Fri May 11 18:24:51 2007 -0500 phylib: add the ICPlus IP175C PHY driver The ICPlus IP175C sports a 100Mbit/s 4-port switch in addition to a dedicated 100Mbit/s WAN port. Signed-off-by: Michael Barkowski Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 146bd683cc160d728f1f62a6ddade8451801a8c3 Author: Linas Vepstas Date: Mon May 14 18:41:41 2007 -0500 s2io: add PCI error recovery support s2io cleanup suggestions, per discussion on mailing lists. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit d796fdb708fc5b10112934cba43e832c36ce4923 Author: Linas Vepstas Date: Mon May 14 18:37:30 2007 -0500 s2io: add PCI error recovery support This patch adds PCI error recovery support to the s2io 10-Gigabit ethernet device driver. Third revision, blocks interrupts and the watchdog. Tested, seems to work well. Signed-off-by: Linas Vepstas Acked-by: Ramkrishna Vepa Cc: Raghavendra Koushik Cc: Wen Xiong Signed-off-by: Jeff Garzik commit bd5824f138153f407e300728919e814ab7dcfadb Author: Jouni Malinen Date: Mon May 28 09:38:49 2007 -0700 [PATCH] hostap: Remove driver version number The driver version number has not been updated since the driver was included in the main kernel tree and there is no plan on updating this in the future either. At this point, the only correct way to refer to the version is to use the kernel version. The 0.4.4 version is confusing since there are external version with higher version number even though they are not actually any newer than the in-tree version. Let's get rid of the version number in the kernel tree in order to avoid this kind of confusion. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c15057313725942c6af8dcb60b4d4322101316d9 Author: Matthias Kaehlcke Date: Mon May 28 09:38:48 2007 -0700 [PATCH] hostap: Use list_for_each_entry Use list_for_each_entry() instead of manual iteration and substitute some list_for_each() loops with list_for_each_entry(). Signed-off-by: Matthias Kaehlcke Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit b918099030fe6cc093a7d60a88039bd98f16538e Author: Pavel Roskin Date: Mon May 28 09:38:47 2007 -0700 [PATCH] hostap: Suppress broadcast if no stations are associated This may be useful in mesh setups when most stations act as repeaters only. Signed-off-by: Pavel Roskin Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 67c4f7aa9e64d37f32eb44d6d093b7028f1060bb Author: Akinobu Mita Date: Sun May 27 23:27:40 2007 +0900 [PATCH] softmac: use list_for_each_entry Cleanup using list_for_each_entry. Cc: Johannes Berg Cc: Joe Jezak Cc: Daniel Drake Signed-off-by: Akinobu Mita Signed-off-by: John W. Linville commit 77548f58070894cf5970a110981e511ffe793369 Author: Larry Finger Date: Sat May 26 22:21:29 2007 -0500 [PATCH] bcm43xx: Fix deviation from specifications in set_baseband_attenuation A disagreement between the specifications and the bcm43xx code has just been discovered and is hereby fixed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit aaf83d4fc4a596929306c894d341e17fbdfba758 Author: Daniel Drake Date: Thu May 24 01:07:15 2007 +0100 [PATCH] zd1211rw: Make CCK gain patching conditional on RF type The vendor driver code suggests that CR47 patching happens on every channel change for every RF (depending on bit 8 in POD). Due to a bug in their driver (upper bits of RF_Mode get zeroed out, then are examined for 1s when setting some other flags), this isn't actually what happens, and their generic CCK patching routine never takes effect. Some of their RF configurations do include explicit (duplicated) code for CR47 patching though. This patch makes zd1211rw match that behaviour. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 4481d6093e62e168ab06e9bbb4e67a9bebb8c7f7 Author: Daniel Drake Date: Thu May 24 01:06:53 2007 +0100 [PATCH] zd1211rw: Add UW2453 RF support This patch adds support for another radio appearing in new devices: the Ubec UW2453. It's more complicated than the other RF's we support, but Ubec publish full tech specs so we're able to understand the vendor code relatively well. Now that we support UW2453, we also support Atheros' new USB chip: the AR5007UG. From the little info we have, this appears to be just a rebranded ZD1211B. This RF code doesn't work very well -- lots more TX/RX errors than the other RFs. However, the vendor driver doesn't do any better, so this is all we can do for now. [kune@deine-taler.de: bug fixes] Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 9c8fc71ddd1b42c0c632036333790f230cea815d Author: Daniel Drake Date: Thu May 24 01:06:41 2007 +0100 [PATCH] zd1211rw: Extend RF layer These changes are needed for UW2453 RF support: Add pointer which RF drivers can use to store private RF data Add exit hook so that RF drivers can free private data Allow RF's to disable the generic TX power integration handling code Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit a9eea9ae6e82d1b0f453c24103a84ce7af5d1e15 Author: Daniel Drake Date: Thu May 24 01:06:29 2007 +0100 [PATCH] zd1211rw: Add ID for ZyXEL G-200v2 Tested by Guy Gallagher zd1211 chip 0586:3407 v4721 high 00-13-49 AL2230_RF pa0 g--- FCC ID SI5WUB200Z Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 0aec00ae1c39b0adaa6e958a4e0119cfc12d884b Author: John W. Linville Date: Tue Jun 12 22:11:42 2007 -0400 [PATCH] rtl8187: add header blocks and indicate origin of magic values Add top-of-file comment blocks to rtl818x headers and attribute origin of magic values to original r8187 driver. Signed-off-by: John W. Linville commit 7e9400f178d291b2208c4ed9aac0f425c1364000 Author: John W. Linville Date: Mon Jun 11 21:37:46 2007 -0400 [PATCH] eeprom_93cx6: shorten pulse timing to match spec 93cx6 datasheet available here: http://ww1.microchip.com/downloads/en/DeviceDoc/21749F.pdf Figure 1-1 and Table 1-2 on pages 4-5 indicate that both Clock High Time and Clock Low Time have largest minimum times of 450ns. Signed-off-by: John W. Linville commit 605bebe23bf6ac66c0a717e663a7baa2f981294d Author: Michael Wu Date: Mon May 14 01:41:02 2007 -0400 [PATCH] Add rtl8187 wireless driver This patch adds a mac80211 based wireless driver for the rtl8187 USB wireless card. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 4b914dc0493edff19ff698a18198a173a14ba9d2 Author: Ivo van Doorn Date: Mon May 14 23:06:01 2007 +0200 [PATCH] eeprom_93cx6: Add comment for 1us delay after pulse This will add a comment for the 1us delay which is taken after the pulse has been switched. The 1us delay is based on the specifications so that should be made clear. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9467d64b0e88763914c01f71ddf591b166c4f526 Author: Ivo van Doorn Date: Fri May 11 15:59:40 2007 -0400 [PATCH] Add 93cx6 eeprom library This patch adds a library for reading from 93cx6 eeproms. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 3870253efb65e1960421ca74f5d336218c28fc5b Author: Steve French Date: Sun Jul 8 15:40:40 2007 +0000 [CIFS] more whitespace fixes Signed-off-by: Steve French commit 790fe579f5006b72dfd2814f9263a73b0b455e81 Author: Steve French Date: Sat Jul 7 19:25:05 2007 +0000 [CIFS] more whitespace cleanup Signed-off-by: Steve French commit 6dc0f87e351142e224b396f29b59527c4b2d834c Author: Steve French Date: Fri Jul 6 23:13:06 2007 +0000 [CIFS] whitespace cleanup Signed-off-by: Steve French commit 79a58d1f6075bc0029c38836be9790917a69a342 Author: Steve French Date: Fri Jul 6 22:44:50 2007 +0000 [CIFS] whitespace cleanup checkpatch.pl redux Signed-off-by: Steve French commit 1b898040e214d1f5acd3baf14f07ef5f610d5c8a Author: Paul Mundt Date: Sat Jul 7 07:28:11 2007 +0900 sh: Add parport stub for SuperIO ports. Some boards have SuperIOs with PC-style parports, toss in the stub so these can be supported. Signed-off-by: Paul Mundt commit 5296307de63f1949d601b3515f8b1a0a859c5847 Author: Paul Mundt Date: Sat Jul 7 07:25:56 2007 +0900 sh: Drop -Wa,-dsp for DSP tuning. We already hand off the proper ISA variant with the dsp specifier appended, so we don't need to explicitly set -dsp. This causes some confusion with certain toolchains that are restricted to -dsp family opcodes artificially. Signed-off-by: Paul Mundt commit d20acd09e3bf89aa23af034b8c2d0f5653577ea9 Author: Jeff Date: Fri Jul 6 21:13:08 2007 +0000 [CIFS] ipv6 support no longer experimental Signed-off-by: Steve French commit 38c10a1ddb24b9fa9f25b6c21d0390a9723ae6d6 Author: Jeff Date: Fri Jul 6 21:10:07 2007 +0000 [CIFS] Mount should fail if server signing off but client mount option requires it Currently, if mount with a signing-enabled sec= option (e.g. sec=ntlmi), the kernel does a warning printk if the server doesn't support signing, and then proceeds without signatures. This is probably OK for people that think to look at the ring buffer, but seems wrong to me. If someone explicitly requests signing, we should error out if that request can't be satisfied. They can then reattempt the mount without signing if that's ok. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ac6b9f28d8202ed064c9b372350693f79882b448 Author: Paul Mundt Date: Sat Jul 7 04:09:02 2007 +0900 sh: Update dreamcast defconfig. Signed-off-by: Paul Mundt commit 7e7ec0d4ae57b258fed5ee29e9d007282898625a Author: Paul Mundt Date: Sat Jul 7 04:05:06 2007 +0900 fb: pvr2fb: A few more __devinit annotations for PCI. In the PCI + hotplug case we end up with some bogus references between the PCI driver path and the DC path. In order to fix this, we have to rework the common init path for __devinit, as well as moving all of the data that it references to __devinidata. Signed-off-by: Paul Mundt commit e9705a77f50c1fd52356f4f0e515455273aae416 Author: Paul Mundt Date: Sat Jul 7 03:38:51 2007 +0900 fb: pvr2fb: Fix up section mismatch warnings. A few minor things were broken here. fix and var screeninfo should have been __devinitdata, board_list[] gets renamed to board_driver[] so the modpost matching does the right thing, and we properly discard some of the unused exit sections. Signed-off-by: Paul Mundt commit 989e5ab3e8159f563b3fda5317febee5af040983 Author: Paul Mundt Date: Sat Jul 7 03:36:06 2007 +0900 sh: Select IPR-IRQ for SH7091. Fixes a compile failure for the Dreamcast. Signed-off-by: Paul Mundt commit 04c7d9579f25ff0dd01efa958805f34c92bc6a71 Author: Paul Mundt Date: Fri Jul 6 10:58:04 2007 +0900 sh: Correct __xdiv64_32/div64_32 return value size. These should be returning a uint32_t, whereas they were erroneously returning a u64 before. As the register sizes are 32-bits, this doesn't really make a lot of sense. Reported-by: Katsuya MATSUBARA Signed-off-by: Paul Mundt commit 75f016a7ce75220d898608791870ab7da549a430 Author: Nobuhiro Iwamatsu Date: Fri Jul 6 10:26:03 2007 +0900 sh: Fix timer-tmu build for SH-3. With the TMU register definitions being renamed on SH-4, SH-3 ended up breaking. Update the TSTR define to match the SH-4 convention. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 880dec100761f4fbc5fa5d22e658a8718828f04e Author: Paul Mundt Date: Fri Jul 6 10:22:59 2007 +0900 sh: Add cpu and mach links to CLEAN_FILES. These weren't being cleaned up, so add them to the CLEAN_FILES. Signed-off-by: Paul Mundt commit 7e2a1498a90aff0e57271bf838a29aaa4e1c6bf9 Author: Wim Van Sebroeck Date: Tue Jul 3 17:59:29 2007 +0000 [WATCHDOG] at32ap700x_wdt.c - Fix compilation warnings Fix warning: * ISO C90 forbids mixed declarations and code * passing argument 2 of ‘test_and_set_bit’ from incompatible pointer type * passing argument 2 of ‘clear_bit’ from incompatible pointer type Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit e75e657756554676f13070266bedbd75d404a0f8 Author: Wim Van Sebroeck Date: Tue Jul 3 17:59:04 2007 +0000 [WATCHDOG] at32ap700x_wdt.c - Add spinlock support Add spinlock support so that forked children can't do different io stuff at the same time. Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit 28401140a27b7ebc5a686dbfc345e3724d274738 Author: Wim Van Sebroeck Date: Wed Jun 20 23:36:43 2007 +0200 [WATCHDOG] at32ap700x_wdt.c - Add nowayout + MAGICCLOSE features Add nowayout + MAGICCLOSE features. Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit 726c9f611a4079b5265e7ede1d66ed455ac6343c Author: Wim Van Sebroeck Date: Mon Jun 18 22:49:35 2007 +0200 [WATCHDOG] at32ap700x_wdt.c - timeout module parameter patch integrate the timeout/heartbeat as a module parameter and not as a CONFIG_* value. Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit c0ead7e0ff996f0cfa91a73fa674fdca5c05798a Author: Wim Van Sebroeck Date: Sun Jun 17 19:34:23 2007 +0000 [WATCHDOG] at32ap700x_wdt.c - checkpatch.pl-0.05 clean-up's need space after that ',' (ctx:VxV) inline keyword should sit between storage class and type Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit b563d6f30d937510e02541930b1558d0f5759413 Author: Len Brown Date: Tue Jul 3 15:32:23 2007 -0400 ACPI: netlink: remove unnecessary EXPORT_SYMBOL Signed-off-by: Len Brown commit 864bdfb912e372670b5b2541dac9d273a4a7722a Author: Zhang Rui Date: Tue Jun 19 11:40:03 2007 +0800 ACPI: Export events via generic netlink Upon ACPI events, send an "acpi_event" via Generic Netlink. This is in addition to /proc/acpi/event, which remains intact for now. Thanks to Jamal for his great help. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 80a7cc6cf1126bc09beee3dded2820bfa18ce347 Author: Kumar Gala Date: Tue Jul 3 03:22:05 2007 -0500 [POWERPC] Merge asm-ppc/mmu_context.h into asm-power/mmu_context.h Just did a directly merge from asm-ppc into asm-powerpc. This is the last header that we directly include from asm-powerpc. Signed-off-by: Kumar Gala commit 58fe255f63716a6442559fa0b3cc2506f6abf506 Author: Kumar Gala Date: Tue Jul 3 03:05:58 2007 -0500 [POWERPC] Fix up interrupt senses for MPC85xx boards The PHY is active-low on the MPC85xx CDS and the 8560 ADS just had the wrong sense for the internal PCI and CPM interrupts. Signed-off-by: Kumar Gala commit 3120234551ebf5f6e24a23082334eb3897b5db41 Author: David Gibson Date: Fri Jun 22 14:58:55 2007 +1000 [POWERPC] Split out asm-ppc/mmu.h portions for PowerPC 8xx arch/powerpc still relies on asm-ppc/mmu.h for some 32-bit MMU types. This patch is another step towards fixing this. It takes the portions of asm-ppc/mmu.h related to 8xx embedded CPUs which are still relevant in arch/powerpc and puts them in a new asm-powerpc/mmu-8xx.h, included when appropriate from asm-powerpc/mmu.h. Signed-off-by: David Gibson Signed-off-by: Kumar Gala commit 67f74c9d223815e30eac456b4956a846143b65c6 Author: David Gibson Date: Fri Jun 15 15:33:09 2007 +1000 [POWERPC] Split out asm-ppc/mmu.h portions for Freescale Book-E arch/powerpc still relies on asm-ppc/mmu.h for some 32-bit MMU types. This patch is another step towards fixing this. It takes the portions of asm-ppc/mmu.h related to Freescale Book-E which are still relevant in arch/powerpc and puts them in a new asm-powerpc/mmu-fsl-booke.h, included when appropriate from asm-powerpc/mmu.h. Signed-off-by: David Gibson Signed-off-by: Kumar Gala commit b3710f5a1802876717600afad10156e54d5fdb18 Author: Kumar Gala Date: Tue Jul 3 02:51:24 2007 -0500 [POWERPC] Kill pcibios_enable_resources() pcibios_enable_resources isn't used anywhere and not exported. Signed-off-by: Kumar Gala commit 327e22df9ff2e70a88ada88f9833ef682482bddd Author: Jon Loeliger Date: Mon Jun 4 14:28:44 2007 -0500 [POWERPC] Replace use of GET_64BIT(prop, i) with of_read_number(). Remove uses of hack GET_64BIT() property macro and use the more general of_read_number() function from prom.h as suggested by Milton. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit b533f8ae796d1ee0289bf04d4f1e72c02ad4a17d Author: Kumar Gala Date: Tue Jul 3 02:35:35 2007 -0500 [POWERPC] Reworked interrupt numbers for OpenPIC based Freescale chips Make the interrupt numbers match the OpenPIC spec intead of the Freescale docs which distinguish between internal and external interrupts. Now we can use the interrupt number directly to find the register offset associated with it. Signed-off-by: Kumar Gala commit eae98266e78e5659d75dbb62b4601960c15c7830 Author: Timur Tabi Date: Fri Jun 22 14:33:15 2007 -0500 [POWERPC] Fix MAC address entries for 83xx, 85xx, and 86xx device trees For the 83xx, 85xx, and 86xx device trees, add a "local-mac-address" property to every Ethernet node that didn't have one. Add a comment indicating that the "address" and/or "mac-address" properties are deprecated in DTS files and will be removed at a later time. Change all MAC address properties to have a zero MAC address value. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 65482ccf9d00bf4f68e17eb9c656d045d26e5d1f Author: Li Yang Date: Mon May 28 18:48:06 2007 +0800 [POWERPC] qe_lib: export symbols for QE driver to compile as module Export symbols of qe_lib to be used by QE driver. Signed-off-by: Li Yang Signed-off-by: Selvamuthukumar V Signed-off-by: Kumar Gala commit 68fb0d203f4f62c8d1ac24d8ef2473582d8ea9db Author: Roy Zang Date: Wed Jun 13 17:13:42 2007 +0800 [POWERPC] 85xx: Fix 8548CDS reset bug Begin with MPC8548 a new reset control register is added that asserts HRESET_REQ to board logic. This register is used for chip reset. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit a4ecababf4f007940300374ff68ac10b96733586 Author: Roy Zang Date: Tue Jun 19 15:19:31 2007 +0800 [POWERPC] Fix the node index confusion for SOC Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 3b824f85191c9ccc2614474543118e88543d5ba2 Author: Roy Zang Date: Tue Jun 19 15:19:18 2007 +0800 [POWERPC] Document the global utilities node define and example Document the global utilities node define and example. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 55f8f3cc4f7c47c7896e2ad08e29eccc292c0c68 Author: Bob Moore Date: Wed May 2 15:51:37 2007 -0400 ACPICA: Clear reserved fields for incoming ACPI 1.0 FADTs Fixed a problem with the internal FADT conversion where ACPI 1.0 FADTs that contained invalid non-zero values in reserved fields could cause later failures because these fields have meaning in later revisions of the FADT. For incoming ACPI 1.0 FADTs, these fields are now always zeroed. (Preferred_PM_Profile, PSTATE_CNT, CST_CNT, IAPC_BOOT_FLAGS.) Signed-off-by: Bob Moore Signed-off-by: Len Brown commit e0b91050f208ab370fac9269f8e42bc746889422 Author: Bob Moore Date: Tue Apr 3 20:00:29 2007 -0400 ACPICA: Fixed possible corruption of global GPE list Fixed a problem in acpi_ev_delete_gpe_xrupt where the global interrupt list could be corrupted if the interrupt being removed was at the head of the list. Reported by Linn Crosetto. Signed-off-by: Bob Moore Signed-off-by: Len Brown commit a0a3f6c69b45dcafefdce5dbac2221c02aaae871 Author: Bob Moore Date: Tue Mar 27 20:25:46 2007 -0400 ACPICA: Changes for Cygwin compatibility Allow generation of ACPICA apps on Cygwin. Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 3c6394c5bd04e31d40d007af8b6c2484a08838d0 Author: Bob Moore Date: Mon Mar 26 22:10:34 2007 -0400 ACPICA: Update _OSI string list Latest update for the Windows strings, with comments. Removed unused strings. Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 33ce2033433195ccc1fbad00d26ad854b2ab68d0 Author: Pavel Machek Date: Tue Jul 3 01:45:44 2007 -0400 ACPI: suspend: delete toshiba S1 quirk If we have quirk "init... after standby", we should not be calling it while resuming from hibernation. And... that quirk is only ever needed on toshiba 4030cdt... and... noone should be using standby these days, anyway. That quirk was certainly _not_ meant to be ran after hibernation. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 3f2c48c9b48423d1411695da066d525cca2a27db Author: Jan Engelhardt Date: Tue Jul 3 01:40:59 2007 -0400 ACPI: Use menuconfig objects Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit f70ac0e9651aa8c07dffe72a44872f92054d42c3 Author: Danny Kukawka Date: Tue Jul 3 01:33:53 2007 -0400 ACPI video: Don't export sysfs backlight interface if query _BCL fail Currently the acpi video module export the backlight interface to sysfs also if acpi_video_device_lcd_query_levels() fails to read _BLC method (e.g. because the method is not available). In this case the userspace don't know which brightness level are supported and can't set a brightness level (echo return with: "write error: Invalid Argument"). This happend e.g. on a ASUS RF1 (correct supported by the asus-laptop module). The video module should not export the backlight interface if query _BLC fail, because you can't set anything from userspace and this make it useless. http://bugzilla.kernel.org/show_bug.cgi?id=8375 Signed-off-by: Danny Kukawka Acked-by: Luming Yu Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 1c1558ec50618c4a179e0684037d9f7bb0c1a326 Author: Stephen Hemminger Date: Tue Jul 3 01:28:49 2007 -0400 ACPI: delete cmdline documentation for deleted hotkey code This looks like left over text in the kernel parameters documentation. Signed-off-by: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 8d038e0433e3164e460c2daeca1ec6947a08f81a Author: Kazunori Asayama Date: Fri Jun 29 10:58:09 2007 +1000 [POWERPC] spufs: Save dma_tagstatus_R in CSA The function backing_ops->read_mfc_tagstatus() doesn't return a correct value because the dma_tagstatus_R register isn't saved in CSA. This fixes the problem. Signed-off-by: Kazunori Asayama Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 933b0e35247ef0dbd1a078a0ba3705ddbbda129f Author: Kazunori Asayama Date: Fri Jun 29 10:58:08 2007 +1000 [POWERPC] spufs: Fix lost events in poll/epoll on mfc When waiting for I/O events on mfc in an SPU context by using poll/epoll syscalls, some of the events can be lost because of wrong order of poll_wait and MFC status checks in the spufs_mfc_poll function and non-atomic update of tagwait. This fixes the problem. Signed-off-by: Kazunori Asayama Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit fe2f896d67b89a409c366c9a69e30291ab124467 Author: Christoph Hellwig Date: Fri Jun 29 10:58:07 2007 +1000 [POWERPC] spufs: Add spu stats in sysfs Export spu statistics in sysfs. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 27449971e6907ff38bde7bbc4647e55bd7309fc3 Author: Christoph Hellwig Date: Fri Jun 29 10:58:06 2007 +1000 [POWERPC] spusched: Fix runqueue corruption spu_activate can be called from multiple threads at the same time on behalf of the same spu context. We need to make sure to only add it once to avoid runqueue corruption. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit c77239b8be74f775142d9dd01041e2ce864ba20d Author: Christoph Hellwig Date: Fri Jun 29 10:58:05 2007 +1000 [POWERPC] spusched: Disable tick when not needed Only enable the scheduler tick if we have any context waiting to be scheduled. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 08c9692b168240729cf89c69c4ad722760a5690c Author: Jeremy Kerr Date: Fri Jun 29 10:58:04 2007 +1000 [POWERPC] spufs: Fix libassist accounting We're currently too permissive with counting libassist calls - fix the check on the SPE stop-and-signal status. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit e9f8a0b65ac716fd7974159240ce34bddea780b3 Author: Christoph Hellwig Date: Fri Jun 29 10:58:03 2007 +1000 [POWERPC] spufs: Add stat file to spufs Export per-context statistics in spufs. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 65de66f0b8bcb7431d9df82cf32b002062b3a611 Author: Christoph Hellwig Date: Fri Jun 29 10:58:02 2007 +1000 [POWERPC] spufs: Implement /proc/spu_loadavg Provide load average information for spu context. The format is identical to /proc/loadavg, which is also where a lot of code and concepts is borrowed from. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 476273adc7277333aed9963bc4dc9b39066d3038 Author: Christoph Hellwig Date: Fri Jun 29 10:58:01 2007 +1000 [POWERPC] spufs: Add tid file The new tid file contains the ID of the thread currently running the context, if any. This is used so that the new spu-top and spu-ps tools can find the thread in /proc. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7022543ee404880aab5c641e4983e237815edc35 Author: Jeremy Kerr Date: Fri Jun 29 10:58:00 2007 +1000 [POWERPC] spufs: Trivial whitespace fixes Remove redundant whitespace in arch/powerpc/platforms/cell/spufs/ Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit b8c295f90854d682018d74599efc258628be32e3 Author: Jeremy Kerr Date: Fri Jun 29 10:57:59 2007 +1000 [POWERPC] spufs: Remove spufs_dir_inode_operations spufs_dir_inode_operations is exactly the same as simple_dir_inode_operations. Use that instead. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit df09cf3e2cd597d373f3a6046df0e0a50881ea44 Author: Christoph Hellwig Date: Fri Jun 29 10:57:58 2007 +1000 [POWERPC] spusched: No preemption for nosched contexts And last but not least we need to make sure the scheduler tick never preempts a nosched context. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 46cbf93960e64f313f6e247cbca7afaa50e3ee2c Author: Christoph Hellwig Date: Fri Jun 29 10:57:57 2007 +1000 [POWERPC] spusched: Catch nosched contexts in spu_deactivate spu_deactivate should never be called for nosched contets. Put in a check so we can print a stacktrace and exit early in case it happes erroneously. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit ea1ae5949d7fcd2e622226ba71741a0f43b6ef0a Author: Christoph Hellwig Date: Fri Jun 29 10:57:56 2007 +1000 [POWERPC] spusched: fix cpu/node binding Add a cpus_allowed allowed filed to struct spu_context so that we always use the cpu mask of the owning thread instead of the one happening to call into the scheduler. Also use this information in grab_runnable_context to avoid spurious wakeups. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 2cf2b3b49f10d2f4a0703070fc54ce1cd84a6cda Author: Christoph Hellwig Date: Fri Jun 29 10:57:55 2007 +1000 [POWERPC] spusched: Update scheduling paramters on every spu_run Update scheduling information on every spu_run to allow for setting threads to realtime priority just before running them. This requires some slightly ugly code in spufs_run_spu because we can just update the information unlocked if the spu is not runnable, but we need to acquire the active_mutex when it is runnable to protect against find_victim. This locking scheme requires opencoding spu_acquire_runnable in spufs_run_spu which actually is a nice cleanup all by itself. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit f3f59bec0c7ad083e9c95a550bcb1e9ca27e25f4 Author: Jeremy Kerr Date: Fri Jun 29 10:57:54 2007 +1000 [POWERPC] spusched: Print out scheduling tunables with DEBUG Print out a few scheduler tuning parameters when we've compiled with DEBUG defined. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 60e242393346c1a9a64e7b14dfb7f613a737324f Author: Jeremy Kerr Date: Fri Jun 29 10:57:53 2007 +1000 [POWERPC] spusched: Fix timeslice calculations The current timeslice code mixes 'jiffies' up with 'spesched ticks'. This change correctly defines the number of time slices each SPE contexts is given, and clarifies the comment. This brings the default timeslice for SPE contexts into a reasonable range. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit fe443ef2ac421c9c652e251e8733e2479d8e411a Author: Christoph Hellwig Date: Fri Jun 29 10:57:52 2007 +1000 [POWERPC] spusched: Dynamic timeslicing for SCHED_OTHER Enable preemptive scheduling for non-RT contexts. We use the same algorithms as the CPU scheduler to calculate the time slice length, and for now we also use the same timeslice length as the CPU scheduler. This might be not enough for good performance and can be changed after some benchmarking. Note that currently we do not boost the priority for contexts waiting on the runqueue for a long time, so contexts with a higher nice value could starve ones with less priority. This could easily be fixed once the rework of the spu lists that Luke and I discussed is done. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 379018022071489a7dffee74db2a267465dab561 Author: Christoph Hellwig Date: Fri Jun 29 10:57:51 2007 +1000 [POWERPC] spusched: Switch from workqueues to kthread + timer tick Get rid of the scheduler workqueues that complicated things a lot to a dedicated spu scheduler thread that gets woken by a traditional scheduler tick. By default this scheduler tick runs a HZ * 10, aka one spu scheduler tick for every 10 cpu ticks. Currently the tick is not disabled when we have less context than available spus, but I will implement this later. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit be7031773eded128675de6da778234a935c8d8ea Author: Sebastian Siewior Date: Fri Jun 29 10:57:50 2007 +1000 [POWERPC] spufs: Add bit definition Add a bit define from book, and replace one hex number with a symbol, for clarity. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7a896dc5f4a369193256653535aa7e2b521c611d Author: Sebastian Siewior Date: Fri Jun 29 10:57:49 2007 +1000 [POWERPC] spufs: fix building spufs/spu_save_dump.h Currently it fails with gcc from sdk 2.1 because of a spec change [1]. Maybe we should start using the definitions from spu_mfcio.h. [1] http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01598.html Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 3312111d1bd1a409892031f7979c57a52b01185c Author: Adrian Bunk Date: Tue Jul 3 00:56:05 2007 -0400 ACPI: static make the needlessly global osi_linux static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 6c5cf8aa5849819958311644ffaf8467e9fcf07e Author: Adrian Bunk Date: Tue Jul 3 00:53:12 2007 -0400 ACPI: static make 2 needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit cefe658bca9cf1d4af841c45d170ebd0f881889e Author: Michael Hennerich Date: Mon Jul 2 11:45:50 2007 +0800 Blackfin arch: add BF54x missing GPIO access functions Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit e3f2300036b5e0f60cb64063a9686361b6be8555 Author: Michael Hennerich Date: Thu Jul 12 16:39:29 2007 +0800 Blackfin arch: Some memory and code optimizations - Fix SYS_IRQS Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 34e0fc89bdc1e6f50032dc43ed23167f5dbad6da Author: Michael Hennerich Date: Thu Jul 12 16:17:18 2007 +0800 Blackfin arch: Enable BF54x PIN/GPIO interrupts Signed-off-bu: Michael Hennerich Signed-off-by: Bryan Wu commit 1f83b8f148a1eb967d2a628cbb741cd56fb54572 Author: Mike Frysinger Date: Thu Jul 12 22:58:21 2007 +0800 Blackfin arch: cleanup warnings from checkpatch -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cf1d8a8a7b6616fbfd14f2d4646024f4ff1c3c8b Author: Kumar Gala Date: Thu Jun 28 22:56:24 2007 -0500 [POWERPC] Add copyright header to pci-common.c based on pci_{32,64}.c Signed-off-by: Kumar Gala commit a4c9e328279d55622d56507629d6b8942e8cc9c9 Author: Kumar Gala Date: Wed Jun 27 13:09:43 2007 -0500 [POWERPC] Use ppc64 style list management for pci_controller on ppc32 Use the ppc64 style list management and allocation functions for pci_controllers. This makes the pci_controller structs just a bit more common between ppc32 & ppc64. Signed-off-by: Kumar Gala commit 58083dade53cd434e134cd26ae5e89061f6de1ff Author: Kumar Gala Date: Wed Jun 27 11:07:51 2007 -0500 [POWERPC] Move common PCI code out of pci_32/pci_64 Moved the low hanging fruit that was either identical or close to it between ppc32 & ppc64 for PCI into pci-common.c Signed-off-by: Kumar Gala commit 0b1d40c4d4dd8f276d8d9730204b3a0a17ab0d61 Author: Kumar Gala Date: Wed Jun 27 10:27:33 2007 -0500 [POWERPC] Move pci_bus_to_hose users to pci_bus_to_host In the places we can move to using pci_bus_to_host, this allows us to make pci_bus_to_host static and remove its export. Signed-off-by: Kumar Gala commit dbf8471f5294b27ba9b6232ffc177dcd4e0a2fa5 Author: Kumar Gala Date: Wed Jun 27 01:56:50 2007 -0500 [POWERPC] Merge ppc32 and ppc64 pcibios_alloc_controller() prototypes Make the ppc32 pcibios_alloc_controller take a device node to match the ppc64 prototypes and have it set arch_data. Signed-off-by: Kumar Gala commit 5516b540e98de6f7474a4e7149470ad6a0bbc54a Author: Kumar Gala Date: Wed Jun 27 01:17:57 2007 -0500 [POWERPC] Use global_number in ppc32 pci_controller Make the pci_controller struct use global_number for the PHB domain number instead of index to match what ppc64 does and reuse its pci_domain_nr code. Introduced a pci-common.c to handle shared code between ppc32 & ppc64. Signed-off-by: Kumar Gala commit 6a506238b33efd93e60c1585d654b37e292183de Author: Kumar Gala Date: Wed Jun 27 01:14:04 2007 -0500 [POWERPC] Removed dead code related to PCI on ppc32 There are no in kernel users of any off these functions and some of them were not even EXPORT_SYMBOL: - pci_bus_io_base() - pci_bus_io_base_phys() - pci_bus_mem_base_phys() - pci_resource_to_bus() - phys_to_bus() - pci_phys_to_bus() - pci_bus_to_phys() - pci_init_resource() - resource_fixup() Signed-off-by: Kumar Gala commit bf440b712d289b157c72f19b389b8d918a8c8c5c Author: Kumar Gala Date: Wed Jun 27 00:19:08 2007 -0500 [POWERPC] Remove local_number from pci_controller We never actually read local_number so lets just remove it. Signed-off-by: Kumar Gala commit 5531e41bf41b5bc34e3cb57af89b58a24fc0dd8d Author: Kumar Gala Date: Wed Jun 27 00:16:25 2007 -0500 [POWERPC] Merge asm-ppc/pci-bridge.h into asm-power/pci-bridge.h Moved bits need for ppc32 from asm-ppc/pci-bridge.h into asm-powerpc/pci-bridge.h. Removed ARCH=powerpc specific bits (and comments related to ARCH=ppc) from asm-ppc/pci-bridge.h as its only used on ARCH=ppc. Signed-off-by: Kumar Gala commit 20243c72a8564ccd22437fd1bda16ca5bccd5701 Author: Zhang Wei Date: Tue Jun 26 18:22:40 2007 -0500 [POWERPC] 86xx: Created quirk_fsl_pcie_transparent() to initialize bridge resources. The Freescale PCI-e RC poses as a transparent bridge, but does not implement the IO_BASE or IO_LIMIT registers in the config space. This means that the code which initializes the bridge resources ends up setting the IO resources erroneously. Add quick_fsl_pcie_transparent() to handle this. This change sets RC of mpc8641 to be a transparent bridge for legacy I/O access and initializes the RC bridge resources from the device tree. Signed-off-by: Zhang Wei Signed-off-by: Andy Fleming Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 6d8ff10c3ab1e3d4a40788442f1369e868103e43 Author: York Sun Date: Mon Jun 4 11:56:42 2007 -0500 [POWERPC] Let subordinate transparent bridges be transparent. In pcibios_fixup_bus(), bridges that are subordinate to transparent bridges were still relocating their IORESOURCE_IO and IO_RESOURCE_MEM start and end values. Fix this by preventing the transparent bridge from relocating the start and end values, thus allowing the subordinate non-transparent bridge full molestation rights. Signed-off-by: York Sun Signed-off-by: Andy Fleming Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 3ac4f0e1dd81e107a1c3462a5c20e318fdafdb82 Author: Zhang Wei Date: Tue May 22 11:38:30 2007 +0800 [POWERPC] MPC8641HPCN: Set IDE in ULI1575 to not native mode. Set IDE in ULI1575 to not 100% native mode, which forces the IDE driver to probe the irq itself. Signed-off-by: Zhang Wei Signed-off-by: Kumar Gala commit 476f5779b77a919f0ced5953de2bf3e0f2d02c07 Author: Kumar Gala Date: Tue Jun 26 12:12:55 2007 -0500 [POWERPC] 86xx: Workaround PCI_PRIMARY_BUS usage The Freescale PCI-e controllers have an issue in that they use the PCI_PRIMARY_BUS register in the virtual P2P bridge to determine which bus number to match on when generating a type 0 config cycle. The issue is if we are renumbering bus numbers to match Linux we will try setting the PCI_PRIMARY_BUS and will not know which bus number to use for generating type 0 config cycles. We surpress writing the register in the P2P bridge and always keep it at zero. In the future when proper PCI domain support is working we should be able to remove this. Signed-off-by: Kumar Gala commit e4725c23eca47b5dc0d0d128b9af288c0cd878f6 Author: Zhang Wei Date: Mon Jun 25 15:21:10 2007 -0500 [POWERPC] 86xx: Avoid system halt if link training isn't at least L0. We check the Link Training and State Status register to make sure we are at least at the L0 state. Signed-off-by: Zhang Wei Acked-by: Roy Zang Signed-off-by: Kumar Gala commit ab0f9ad34d1eb31bb13cc4218d7717f8a85b12ed Author: Kumar Gala Date: Mon Jun 25 15:19:48 2007 -0500 [POWERPC] Added indirect_type to handle variants of PCI ops The generic PCI config ops indirect support for ppc32 covers only two cases (implicit vs explicit) type 0/1 config cycles via set_cfg_type. Added a indirect_type bit mask to handle other variants. Added support for PCI-e extended registers and moved the cfg_type handling into the bit mask for ARCH=powerpc. We can also use this to handle indirect quirks. Signed-off-by: Kumar Gala commit dfac6faf8f42d5a9dd6919d7a2a41ef91eb77b4f Author: Wade Farnsworth Date: Mon Jun 4 13:24:47 2007 -0700 [POWERPC] 86xx: Add uli1575 pci-bridge sector to MPC8641HPCN dts file. This adds device nodes for the PCI bridges as well as the ISA devices on the newer revision MPC8641HPCN. It also adds the PCI ranges to the soc node so that address translation for the ISA devices works properly. Signed-off-by: Wade Farnsworth Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit bf7c036fb48a6176635f2e7b749d7398728d4b7d Author: Zhang Wei Date: Tue May 22 11:38:26 2007 +0800 [POWERPC] Remove PCI-e errata for MPC8641 silicon ver 1.0 Remove errata for PCI-e support of Rev 1.0 of MPC8641 since its considered obselete and is not production level silicon from Freescale. Signed-off-by: Zhang Wei Acked-by: Roy Zang Signed-off-by: Kumar Gala commit 0a3786c5f7575c0739ad94057213b931a9423502 Author: Kumar Gala Date: Mon Jun 25 13:32:48 2007 -0500 [POWERPC] Removed remnants of bus_offset Removed the remants of bus_offset and use self_busno in the mv64x60 case and use pci_assign_all_buses on 83xx/85xx. 83xx/85xx have multiple PHBs and the firmwares on these devices tend not to handle topologies with P2P bridges well so we let Linux just reassign the bus numbers to match. Signed-off-by: Kumar Gala commit 5ab65ecdaffd85753e7ad957622afcd709a39deb Author: Kumar Gala Date: Mon Jun 25 13:09:42 2007 -0500 [POWERPC] Added self_busno to indicate which bus number the PHB is Added self_busno to pci_controller and indirect PCI ops to be set by board code to indicate which bus number to use when talking to the PHB. By default we use zero since the majority of controllers that have implicit mechanisms to talk to the PHBs use a bus number of zero. Signed-off-by: Kumar Gala commit 2a5ccbc5bb471c10b58ea85ac463e70faead1c8a Author: Kumar Gala Date: Mon Jun 25 12:53:51 2007 -0500 [POWERPC] Remove bus_offset in places its not really used The user of the fsl_pcie code doesn't set bus_offset and 82xx doesn't require it either. Remove the places in the code that reference it so we can remove it all together. Signed-off-by: Kumar Gala commit 5229ee185287f4fd0d7809e6554b40ec83a4ba6c Author: Kumar Gala Date: Fri Jun 22 00:29:46 2007 -0500 [POWERPC] Remove hack to determine the 2nd PHBs bus number Now that we have the pci_controller in the exclude function we can easy figure out if the bus number is the PHB or not. The old style of using a variable setup at init time was actually broken and would only work in specific cases. Signed-off-by: Kumar Gala commit 7d52c7b0cd46f42ae2c9df37f1a385d9aaf95842 Author: Kumar Gala Date: Fri Jun 22 00:23:57 2007 -0500 [POWERPC] Pass the pci_controller into pci_exclude_device There are times that we need to know which controller we are on to decide how to exclude devices properly. We now pass the pci_controller that we are going to use down to the pci_exclude_device function. This will greatly simplify being able to exclude the PHBs in multiple controller setups. Signed-off-by: Kumar Gala commit 0e302a704420afe40808fbd4ba149624c4350f31 Author: Kumar Gala Date: Thu Jun 21 11:32:38 2007 -0500 [POWERPC] 52xx: Remove support for PCI bus_offset The hose->bus_offset is only used for PCI config cycles and the 52xx PCI config code doesn't actually ever set bus_offset to a non-zero value. Signed-off-by: Kumar Gala commit 5ab9c4524d7edd6ae3711bdfd03e4a0deb17fc6e Author: Kumar Gala Date: Thu Jun 21 11:22:47 2007 -0500 [POWERPC] Remove set_cfg_type for PCI indirect users that don't need it The Freescale and Marvell PCI controllers dont require explicit setting for type 1 config cycles. They handle producing them by implicitly looking at the bus, devfn. The TSI108 and 52xx don't use the generic PCI indirect code and thus don't bother with set_cfg_type. Signed-off-by: Kumar Gala commit d3c7ffabf0ce31026b2e43490ff694d70c0fbd3a Author: Arnd Bergmann Date: Mon Jun 18 01:06:58 2007 +0200 [POWERPC] disallow building powermac and tsi108 without PCI The TSI108 code and the 32 bit powermac and chrp platforms have dependency on PCI that is not easy or desirable to get rid of. The easiest fix is to always select CONFIG_PCI if one of those platforms is enabled. Signed-off-by: Arnd Bergmann commit d66584086717f6dda76d523ef58363deaa3efe51 Author: Arnd Bergmann Date: Mon Jun 18 01:06:57 2007 +0200 [POWERPC] fix building without PCI Some code looks can be configured to be built without PCI support, but does not work properly. Signed-off-by: Arnd Bergmann commit 3dfaa762b59743719f00f2dc2f559de59f5502f7 Author: Arnd Bergmann Date: Mon Jun 18 01:06:56 2007 +0200 [POWERPC] kill isa_{io,mem}_base definitions for !PCI When CONFIG_PCI is disabled, the definitions for isa_io_base, isa_mem_base and pci_dram_offset are entirely unused, but they can result in link failure because they are defined in multiple places. The easiest fix is to just remove all these definitions. Signed-off-by: Arnd Bergmann commit 143056013fa22eaf1e53e052e9c9f57ef194e5f7 Author: Arnd Bergmann Date: Mon Jun 18 01:06:55 2007 +0200 [POWERPC] mpc82xx_ads build fix needed for 6xx allyesconfig Signed-off-by: Arnd Bergmann commit 09b55f76c9e41ed88f445f64f00ed39b48ed137d Author: Arnd Bergmann Date: Mon Jun 18 01:06:54 2007 +0200 [POWERPC] rename add_bridge to avoid namespace clashes Many platforms currently define their own add_bridge function, some of them globally. This breaks some multiplatform configurations. Prefixing each of these functions with the platform name avoids this problem. Signed-off-by: Arnd Bergmann commit b9fd305db0b4723e70f1a5cf06e4a6949755331c Author: Arnd Bergmann Date: Mon Jun 18 01:06:52 2007 +0200 [POWERPC] move 82xx/83xx/86xx Kconfig options to platform selection The cores used in the MPC82xx/83xx/86xx embedded controllers are very similar to those in the 32 bit general-purpose processors, so it makes sense to treat them as the same CPU family. Choosing between the embedded platforms and the multiplatform code is now done in the platform menu, but functionally everything stays the same. Signed-off-by: Arnd Bergmann commit d38d8c74c7cdfae910f9cd0ac5e1b7ba2d8a2fb2 Author: Steve French Date: Thu Jun 28 19:44:13 2007 +0000 [CIFS] whitespace fixes This changeset brought to you ... by patchcheck.pl Signed-off-by: Steve French commit 762e5ab77c803c819e45d054518a98efb70b0f60 Author: Steve French Date: Thu Jun 28 18:41:42 2007 +0000 [CIFS] Fix sign mount option and sign proc config setting We were checking the wrong (old) global variable to determine whether to override server and force signing on the SMB connection. Acked-by: Dave Kleikamp Signed-off-by: Steve French commit eff2ebd207af9f501af0ef667a7d14befcb36c1b Author: David Gibson Date: Thu Jun 28 15:56:26 2007 +1000 [POWERPC] In booting-without-of.txt, clarify that properties must precede subnodes A strict reading of the flattened device tree format defined in booting-without-of.txt does in fact require that all the tags defining properties for a node go before any definitions of subnodes, however it's not particularly emphasised. Although allowing intermingled properties and subnodes would not be ambiguous in meaning, the kernel parser does currently require that properties precede subnodes. Furthermore, keeping this constraint makes life easier for various device tree scanning tools. Therefore, re-emphasise in booting-without-of.txt that this is a strict requirement of the flattened device tree format. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit ea1a734ad73478dace97e9712101029f536d10a3 Author: David Gibson Date: Wed Jun 27 16:54:58 2007 +1000 [POWERPC] Abolish unused ucBoardRev variables asm-powerpc/processor.h declares, and arch/ppc/platforms/prep_setup.c defines variables ucBoardRev, ucBoardRevMaj and ucBoardRevMin which are used nowhere in the current kernel (neither in arch/ppc nor arch/powerpc). This removes them. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 084647125227b870267859d544c91c03743816dc Author: David Gibson Date: Wed Jun 27 16:54:58 2007 +1000 [POWERPC] Make more OF-related bootwrapper functions available to non-OF platforms Commit 2e6016133755eb3cc44e8efab92573d23ed75888 split up arch/powerpc/boot/of.c so that some OF functions can be used on platforms that don't want to use the overall OF platform boot code. This is useful on things like PReP which can have an OF implementation which is useful for debugging output, but inadequate for booting. However, that commit didn't export quite enough things to make a usable OF console on a non-OF system. In particular, the device tree manipulation performed to initialize the OF console code must explicitly use the OF device tree, rather than the flattened device tree, even if the system is otherwise booting using a flattened device tree. This makes it so. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 131208c5bb51b794ee73013aeb3396bd015fb79e Author: Michael Ellerman Date: Wed Jun 27 16:02:55 2007 +1000 [POWERPC] Turn off debugging in arch/powerpc/kernel/pci_64.c Commit 3d5134ee8341bffc4f539049abb9e90d469b448d left debugging turned on in arch/powerpc/kernel/pci_64.c. This turns it off again. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 71712b455374a73af042fcfb5002fef5fd25ba44 Author: Tony Breeds Date: Fri Jun 22 16:54:30 2007 +1000 [POWERPC] Move iSeries_tb_recal into its own late_initcall. Currently iSeries will recalibrate the cputime_factors in the first settimeofday() call. It seems the reason for doing this is to ensure a resaonable time delta after time_init(). On current kernels (with udev), this call is made 40-60 seconds into the boot process, by moving it to a late initcall it is called approximately 5 seconds after time_init() is called. This is sufficient to recalibrate the timebase. Signed-off-by: Tony Breeds CC: Stephen Rothwell Signed-off-by: Paul Mackerras commit a5c631b174e23cab773cf422c1f39b28e7224602 Author: Geert Uytterhoeven Date: Fri Jun 22 00:14:22 2007 +1000 [POWERPC] PS3: Storage device registration routines Add support for storage devices to the device probe code. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 80071802cb9c622dbd44bc6ba292f0683891ef44 Author: Geert Uytterhoeven Date: Fri Jun 22 00:14:21 2007 +1000 [POWERPC] PS3: Storage Driver Core Add storage driver core support for the PS3. PS3 storage devices are a special kind of PS3 system bus device. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 32d7331852a07d1f94c6d1b817c7c45648aa0fe7 Author: Geert Uytterhoeven Date: Fri Jun 22 00:14:20 2007 +1000 [POWERPC] PS3: Preallocate bootmem memory for the PS3 FLASH ROM storage driver Preallocate 256 KiB of bootmem memory for the PS3 FLASH ROM storage driver. This can be disabled by passing `ps3flash=off' on the kernel command line. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e4eb8cf0ae5e6e2d7531a3fc7088f7f638795ca6 Author: Geoff Levand Date: Sat Jun 16 08:07:30 2007 +1000 [POWERPC] PS3: Update ps3_defconfig Update ps3_defconfig. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 32f44a12e0674499c4db09b08da0dfa576a91d84 Author: Geert Uytterhoeven Date: Sat Jun 16 08:07:23 2007 +1000 [POWERPC] PS3: Fix more sparse warnings Fix some PS3 build warnings reported by `make C=1'. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ae639ac97917929ae4ed752b1abf2adc70dd801c Author: Geoff Levand Date: Sat Jun 16 08:07:16 2007 +1000 [POWERPC] PS3: Select MEMORY_HOTPLUG The PS3 uses the kernel's hotplug memory support, so make sure it is always enabled when building for PS3. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 9065762edf5ac90e312af1f81e03dc2c964d5a86 Author: Geoff Levand Date: Sat Jun 16 08:06:51 2007 +1000 [POWERPC] PS3: Device tree source The PS3 device tree source. Signed-off-by: Geoff Levand Acked-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 62cf6a9d65cd7ba66f96be25e3e8c5036c3e581e Author: Geoff Levand Date: Sat Jun 16 08:06:44 2007 +1000 [POWERPC] Make kernel_entry_t have global scope in bootwrapper For the convenience of custom platform code make the powerpc bootwrapper typdef kernel_entry_t global in scope. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit b96fbb6e1eb81bb21a8c3462773a0056e12de427 Author: Geoff Levand Date: Sat Jun 16 08:06:40 2007 +1000 [POWERPC] Fix constantness of bootwrapper arg Fixes the constantness of the powerpc bootwrapper's console_ops.write routine. Allows printing of constant strings. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 0aa97d6e420039fc4a6040acdf53e56e0f90c0f5 Author: Geoff Levand Date: Sat Jun 16 08:06:36 2007 +1000 [POWERPC] Add u64 printf to bootwrapper Add support for the 'll' (long long) printf qualifier in the powerpc zImage bootwrapper. This is useful for bootwrapper debugging on 64 bit platforms. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 72d068951ca3f5428a3149a604ea626d93eecffe Author: Geoff Levand Date: Sat Jun 16 08:06:28 2007 +1000 [POWERPC] Add signed types to bootwrapper Add signed types to the powerpc zImage bootwrapper. These are needed by the PS3 hcall interface. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 75423b7ba5eacc0a003b19e51af6a38feeed43ee Author: Geoff Levand Date: Sat Jun 16 08:06:23 2007 +1000 [POWERPC] Correct __secondary_hold comment Remove references to pSeries and OpenFirmware in the __secondary_hold usage comment. __secondary_hold is a generic routine and can be used by other platforms. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 443481050168e98f91737a02b6428c93f1a1c652 Author: Geoff Levand Date: Sat Jun 16 08:06:14 2007 +1000 [POWERPC] Output params value in early_init_devtree Add a printout of the params value to early_init_devtree. This value is handy to have for comparison when debugging the bootwrapper code. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a354ab8557566e9462ea7af20345f6927e6665b3 Author: Geoff Levand Date: Sat Jun 16 08:06:09 2007 +1000 [POWERPC] PS3: Use clear_bit Replace the inline asm with bitops in the PS3 interrupt chip mask routines. Signed-off-by: Geoff Levand Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit aab835007097122c3a1e7a7dddda0cf89a94cd4e Author: Geoff Levand Date: Sat Jun 16 08:06:04 2007 +1000 [POWERPC] PS3: Rename processor id symbols Rename the PS3 static symbols node to ppe_id and cpu to thread_id to clarify usage. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ffbdd246478693673adcfe1c34b29714cf25dadd Author: Geoff Levand Date: Sat Jun 16 08:05:53 2007 +1000 [POWERPC] PS3: Device registration routines. Add routines to probe devices present on the system and to register those devices with the LDM. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 9e6b99bd4494dadebb189d2db4d1f55ae726b0bb Author: Geert Uytterhoeven Date: Sat Jun 16 08:05:38 2007 +1000 [POWERPC] PS3: Frame buffer system-bus rework Convert the ps3fb device from a platform device to a PS3 system bus device. Fix the remove and shutdown methods to support kexec and to make ps3fb a loadable module. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 13a5e30cf7407415387b5592b15ef4b352d28283 Author: Geoff Levand Date: Sat Jun 16 08:05:01 2007 +1000 [POWERPC] PS3: Rework AV settings driver Make the PS3 ps3av driver a loadable module. - Replace static data with kmalloc()'ed. o Allocate struct ps3av dynamically, as it contains data used as vuart receive/transmit buffers o Move static recv_buf from ps3av_do_pkt() to struct ps3av - Move ps3av_vuart_{read,write}() from drivers/ps3/ps3av_cmd.c to drivers/ps3/ps3av.c and make them static as they're used in that file only. - Make device a PS3 system-bus device. - Update copyright formatting. - Make two new routines ps3av_register_flip_ctl() and ps3av_flip_ctl() to support late binding of the frame buffer flip control routine. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 66c63b84b23d39ce191a18833b5a769370114ec9 Author: Geoff Levand Date: Sat Jun 16 08:03:54 2007 +1000 [POWERPC] PS3: System manager re-work PS3 sys-manager updates to reflect the new PS3 unifed device support. Fixups to the PS3 sys-manager driver to properly support sys_reboot(). - Add varable request_tag to struct ps3_sys_manager_header. - Move ctrl_alt_del from PS3_SM_EVENT_POWER_RELEASED to PS3_SM_EVENT_POWER_PRESSED. - Make the PS3 sys-manager driver a loadable module. - Add new file sys-manager-core.c. - Add new struct ps3_sys_manager_ops for dynamic binding. - Put data sent to device on stack. - Add support for PS3_SM_SERVICE_ID_REQUEST_ERROR. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 7626e78d29651d3075e88f233c0632867ea6a35c Author: Geoff Levand Date: Sat Jun 16 08:01:06 2007 +1000 [POWERPC] PS3: Vuart rework PS3 vuart updates to reflect the new PS3 unified device support. - Move vuart devices to the PS3 system bus. - Replace use of ps3_vuart_port_device with ps3_system_bus_device. - Make the PS3 vuart bus driver a loadable module. - Add remove() and shutdown() routines. - Move ps3_vuart_work into ps3_vuart_port_priv.tx_list. - Remove redundant spinlock ps3_vuart_work.lock. - No longer free ps3_vuart_port_device.priv on shutdown. - Cleanup Kconfig defs. - Export symbols needed for modular port drivers. - Arrange to use port numbers found in repository. - Fix bugs in ps3_vuart_read_async() and polled reading - Cleanup handling of shared interrupt with ps3_vuart_bus_interrupt_get() and ps3_vuart_bus_interrupt_put() - Add more comments to vuart.c. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a3323d1a52ec5b70821590e4beaaf13c466fd396 Author: Geoff Levand Date: Sat Jun 16 07:55:58 2007 +1000 [POWERPC] PS3: Repository probe cleanups Repository updates: - Extract ps3_repository_find_bus() from ps3_repository_find_device(), as the storage driver needs it. - Make ps3_repository_find_device() return -ENODEV if a device is not found, just like if a bus is not found. - Add ps3_repository_read_vuart_sysmgr_port() and ps3_repository_read_vuart_av_port() to get vuart port info. - Add device enumeration routines ps3_repository_find_device() and ps3_repository_find_devices(). - Cleanup debug routines. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6758555da6a171d3f21ce36c0e12a2b8cff7ca9d Author: David Woodhouse Date: Sat Jun 16 07:55:20 2007 +1000 [POWERPC] PS3: System-bus modinfo attribute Add modinfo attribute to ps3_system_bus devices. Also make them all children of the same ps3_system_bus 'device' so they appear in a corresponding subdirectory under /sys/devices. Signed-off-by: David Woodhouse Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 688b3378da9c3485630d4b0356d09bc2e69bb0bd Author: David Woodhouse Date: Sat Jun 16 07:55:14 2007 +1000 [POWERPC] PS3: System-bus uevent To allow userspace to automatically load modules, we need to hook up uevent for ps3_system_bus devices. I've used the form 'ps3:%d' with the ps3_match_id, since that's what we use for matching drivers. Signed-off-by: David Woodhouse Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6bb5cf1025414fe00b20f3bef56135849e4ed3b8 Author: Geoff Levand Date: Sat Jun 16 07:52:02 2007 +1000 [POWERPC] PS3: System-bus rework Rework the PS3 system bus to unify device support. - DMA region sizes must be a power of two - storage bus DMA updates: - Small fixes for the PS3 DMA core: o fix alignment bug o kill superfluous test o indentation o spelling o export ps3_dma_region_{create,free}() - ps3_dma_region_init(): o Add `addr' and `len' parameters, so you can create a DMA region that does not cover all memory (use `NULL' and `0' to cover all memory). This is needed because there are not sufficient IOMMU resources to have all DMA regions cover all memory. o Uninline - Added remove and shutdown routines to all drivers. - Added loadable module support to all drivers. - Added HV calls for iopte management (needed by sound driver). Signed-off-by: MOKUNO Masakazu Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 9263e85aa9e9d341ef238fffc040f586674d1709 Author: Geoff Levand Date: Sat Jun 16 07:19:32 2007 +1000 [POWERPC] PS3: Kexec support Fixup the core platform parts needed for kexec to work on the PS3. - Setup ps3_hpte_clear correctly. - Mask interrupts on irq removal. - Release all hypervisor resources. - Create new routine ps3_shutdown_IRQ() Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 83bb643d0714b0006ab99dbd195ec51b55a97f4e Author: Geert Uytterhoeven Date: Sat Jun 16 07:19:23 2007 +1000 [POWERPC] PS3: Simplify definition of DBG Simplify the PS3 definition of DBG. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 743c1bb074c78cb467e42a18853c22e9cf1cd0ba Author: Geoff Levand Date: Sat Jun 16 07:19:18 2007 +1000 [POWERPC] PS3: Move chip mask defs up This just moves the definitions of the PS3 chip_mask routines up above the irq setup routines. This change is needed for the kexec updates that follow. Also adds some inline documentation to the routines. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit dc23fba7063867ed745cb6f0bd27a0dc5f558dbc Author: Masashi Kimoto Date: Sat Jun 16 07:19:10 2007 +1000 [POWERPC] PS3: Add support for HDMI RGB Full Range mode Add support for HDMI RGB Full Range mode, which is available on system software 1.80 or newer. CC: Masashi Kimoto Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 670ad354cb6d6d0f5c3fb17e9f1fb67fb32e02e6 Author: Geert Uytterhoeven Date: Sat Jun 16 07:19:04 2007 +1000 [POWERPC] PS3: Fix sparse warnings Fix some PS3 build warnings reported by `make C=1'. You need to install sparse: git://git.kernel.org/pub/scm/devel/sparse/sparse.git Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 53f7c5453dfd3ba66a2d80bd2fda98a2438c3dc0 Author: Geoff Levand Date: Sat Jun 16 07:18:56 2007 +1000 [POWERPC] PS3: Map SPU regions as non-guarded Use ioremap_flags() to map SPU regions as non-guarded. Change the use of _ioremap() to ioremap_flags(). CC: Arnd Bergmann CC: Masato Noguchi CC: Takao Shinohara Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 1322810c14c4b5126e731db2e1764b2e957a9b19 Author: Masakazu Mokuno Date: Sat Jun 16 07:18:48 2007 +1000 [POWERPC] PS3: Compare firmware version Add a utility routine ps3_compare_firmware_version() to compare system firmware versions. Uses the existing ps3_get_firmware_version() routine. Signed-off-by: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 848cfdc5c1cd2163ba0c9a6490d9adcb7a7c3518 Author: Geoff Levand Date: Sat Jun 16 07:18:14 2007 +1000 [POWERPC] PS3: Use __maybe_unused Change the PS3 debug routines from using the GCC specific '__attribute__ ((unused))' to the preprocessor macro __maybe_unused. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 7961f20c09af4524266a808fed3695c4dcc98e59 Author: Geoff Levand Date: Sat Jun 16 07:17:42 2007 +1000 [POWERPC] PS3: Rename IPI symbols Rename the PS3 static symbol virqs to ps3_ipi_virqs to aid in debugging. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6deac06612d2935b917550db2bc8a8b3f7c7aeb5 Author: Geoff Levand Date: Sat Jun 16 07:17:32 2007 +1000 [POWERPC] cell: Add spu shutdown method Add a shutdown method to spu_sysdev_class to allow proper spu resource cleanup on system shutdown. This is needed to support kexec on the PS3 platform. Signed-off-by: Arnd Bergmann Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 467a8f8d480190a98cec3e4362c51c2a27157115 Author: Steve French Date: Wed Jun 27 22:41:32 2007 +0000 [CIFS] whitespace cleanup Signed-off-by: Steve French commit 5d9c720678f9b4ed3db86466223dc61cbf78361d Author: Jeff Date: Mon Jun 25 22:16:35 2007 +0000 [CIFS] Do not allow signals in cifs_demultiplex_thread Switch from send_sig to force_sig and do not allow signal for this background thread (the signal is needed to wakeup the thread when blocked in the network stack). Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 33874a002d4fdd34e35e8265f9b2e0582385f744 Author: FUJITA Tomonori Date: Tue May 22 13:50:51 2007 +0900 [SCSI] ibmvscsi: fix timeout bugs The viosrp_crq timeout field is in seconds. Signed-off-by: FUJITA Tomonori Cc: Santiago Leon Signed-off-by: James Bottomley commit b7abc5c53e3c65b8e931bd96db2d08ba670e111a Author: Sachin P. Sant Date: Thu Jun 14 15:31:34 2007 +1000 [POWERPC] Fix Kexec/Kdump for power6 On Power machines supporting VRMA, Kexec/Kdump does not work. VRMA (virtual real-mode area) means that accesses with IR/DR = 0 (i.e. the MMU "off") actually still go through the hash table, using entries put there by the hypervisor. This means that when we clear out the hash table on kexec, we need to make sure these entries are left untouched. This also adds plpar_pte_read_raw() on the lines of plpar_pte_remove_raw(). Signed-off-by : Sachin Sant Signed-off-by : Mohan Kumar M Acked-by: Benjamin Herrenschmidt Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 7ccb4a662462616f6be5053e26b79580e02f1529 Author: Mohan Kumar M Date: Wed Jun 13 00:51:57 2007 +1000 [POWERPC] Fix interrupt distribution in ppc970 In some of the PPC970 based systems, interrupt would be distributed to offline cpus also even when booted with "maxcpus=1". So check whether cpu online map and cpu present map are equal or not. If they are equal default_distrib_server is used as interrupt server otherwise boot cpu (default_server) used as interrupt server. In addition to this, if an interrupt is assigned to a specific cpu (ie smp affinity) and if that cpu is not online, the earlier code used to return the default_distrib_server as interrupt server. This introduces an additional parameter to the get_irq function, called strict_check. Based on this parameter, if the cpu is not online either default_distrib_server or -1 is returned. Signed-off-by: Mohan Kumar M Cc: Michael Ellerman Acked-by: Milton Miller Signed-off-by: Paul Mackerras commit 5a26f6bbb767d7ad23311a1e81cfdd2bebefb855 Author: Michael Neuling Date: Fri Jun 8 14:00:35 2007 +1000 [POWERPC] Do firmware feature fixups after features are initialised On pSeries the firmware features are not setup until ppc_md.init_early, so we can't do the firmware feature sections fixups till after this. Currently firmware feature sections is only used on iSeries which inits the firmware features much earlier. This is a bug in waiting on pSeries. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 4cefebb1b497a84d61f2fa29d497df75a84b69d4 Author: Michael Neuling Date: Fri Jun 8 13:18:50 2007 +1000 [POWERPC] Fix stolen time for SMT without LPAR For POWERPC, stolen time accounts for cycles lost to the hypervisor or PURR cycles attributed to the other SMT thread. Hence, when a PURR is available, we should still calculate stolen time, irrespective of being virtualised. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit bb807e69c9eec271808cf69d19913d7ee1a51f6f Author: Mark A. Greer Date: Thu Jun 7 10:42:28 2007 +1000 [POWERPC] Remove 'console=' from cmdline on prpmc2800 Specifying 'console=ttyMM0' on the cmdline for the prmpc2800 is no longer necessary. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 542c98c06712fdbbbfe6b9e92a8d0023cf45102a Author: Mark A. Greer Date: Thu Jun 7 10:38:00 2007 +1000 [POWERPC] Call add_preferred_console when MPSC is console When a Marvell MPSC (serial controller) port is the specified /chosen/stdout-path device, call 'add_preferred_console()' so the user doesn't have to specify a 'console=ttyMMx' cmdline argument. Signed-off-by: Mark A. Greer Acked-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit e3855fa5540617877907ca61c36d28e18d0f2473 Author: Michael Ellerman Date: Mon Jun 4 23:00:02 2007 +1000 [POWERPC] Add for_each_compatible_node() Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ee51de5645edee4124db6a479d2e135ebe436748 Author: Michael Ellerman Date: Mon Jun 4 23:00:00 2007 +1000 [POWERPC] Add irq_create_direct_mapping() This patch adds irq_create_direct_mapping(). This routine is an alternative to irq_create_mapping(), for irq controllers that can use linux virq numbers directly as hardware numbers. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6fde40f3f1a9641ea0a41471cea77f34c0cbb36f Author: Michael Ellerman Date: Mon Jun 4 22:59:59 2007 +1000 [POWERPC] Split virq setup logic out into irq_setup_virq() A future patch will need the logic at the end of irq_create_mapping() which setups a virq and installs it in the irq_map. So split it out into a new function irq_setup_virq(). Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 35923f12e42a3baf4ac6da7c05cf5f7478e5a7c6 Author: Olof Johansson Date: Mon Jun 4 14:47:04 2007 +1000 [POWERPC] Uninline and export virq_to_hw() Uninline virq_to_hw and export it so modules can use it. The alternative would be to export the irq_map array instead, but it's an infrequently called function, and keeping the array unexported seems considerably cleaner. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit b0e80206cc42334032f18edee0ab591b0f275e12 Author: Mark A. Greer Date: Fri Jun 1 05:56:15 2007 +1000 [POWERPC] Update holly to use new dts wrapping feature The holly support currently has separate rules to wrap its device tree with its zImage. This can now be done automatically without the extra rules so update holly support to use the automatic feature. Signed-off-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit a00cec48ccda0f2b550ad4082d6e95c7cc232925 Author: Mark A. Greer Date: Fri Jun 1 05:55:35 2007 +1000 [POWERPC] When appropriate, wrap device tree with zImage There are 2 config options that indicate whether the platform being built has a device tree source file associated with it. Namely, CONFIG_WANT_DEVICE_TREE and CONFIG_DEVICE_TREE. When CONFIG_WANT_DEVICE_TREE is 'y' and CONFIG_DEVICE_TREE isn't an empty string, automatically wrap the specified device tree with the zImage being built. To achieve this, the 'dts' variable will only be set when the conditions above are true. The changes to the zImage.initrd.% and zImage.% rules cause the device tree to be wrapped when 'dts' is set; otherwise, they will work as they previosly did (i.e., build a zImage with no device tree). Signed-off-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 941b7adf347dc3e6e2bf87b2af1ef8a42b617a63 Author: Mark A. Greer Date: Fri Jun 1 05:54:39 2007 +1000 [POWERPC] Remove 'make zImage.dts' feature Being able to selectively wrap a device tree with the zIimage at build time has been deemed unnecessary, so this removes Makefile support for that feature. Signed-off-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit df211c8a478e16232ebbc16e650b19163183fcb6 Author: Nathan Lynch Date: Wed May 23 10:51:25 2007 +1000 [POWERPC] Remove spinlock from struct cpu_purr_data cpu_purr_data is a per-cpu array used to account for stolen time on partitioned systems. It used to be the case that cpus accessed each others' cpu_purr_data, so each entry was protected by a spinlock. However, the code was reworked ("Simplify stolen time calculation") with the result that each cpu accesses its own cpu_purr_data and not those of other cpus. This means we can get rid of the spinlock as long as we're careful to disable interrupts when accessing cpu_purr_data in process context. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 1a06e0fe96526e43bab90fbab2263b55fb3d45d1 Author: Guennadi Liakhovetski Date: Thu May 17 18:56:32 2007 +1000 [POWERPC] Don't link timer.o for powerpc systems using generic rtc With both generic rtc and powerpc timer suspend / resume code now in the (powerpc.git) tree, powerpc platforms using the generic timer and enabling power management will have timer.o linked in the kernel, which they don't need. Moreover, it will likely WARN_ON(!ppc_md.get_rtc_time), save zero-time and return no error on suspend... As a possible solution we can choose not to build timer.o when RTC_CLASS is enabled. However, I can imagine systems with 2 rtc's, one served by the ppc-rtc, another one generic built as a module, in which case using the ppc-rtc for suspend / resume will be impossible. Not to say, that such a configuration would be ugly... Signed-off-by: G. Liakhovetski Signed-off-by: Paul Mackerras commit 8fa336d889caa72637e0860f53fa40ef66dcceaf Author: Olof Johansson Date: Sun May 13 00:50:41 2007 +1000 [POWERPC] pasemi: Electra IDE/pata_platform glue Glue code to hook up the pata_platform on the PA Semi Electra eval board. CFE sets up device tree entries for the IDE interface, with device type 'ide' and compatible field 'electra-ide'. We unfortunately need to modify the resources before calling the generic platform driver, since the device tree only has one register window in it and the driver expects two. Adding this as an of_platform driver instead doesn't give us any benefit, it just adds one more layer of register/probe functions. Since CONFIG_PATA_PLATFORM depends on CONFIG_EMBEDDED, add that as a default for PPC_PASEMI. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 0c358e70762861f8d479f3fa8bec358c599ba04a Author: Johannes Berg Date: Thu May 3 00:25:42 2007 +1000 [POWERPC] Use mktime in timer sysdev This makes the timer sysdev use mktime instead of rtc_tm_to_time, since rtc_tm_to_time just calls mktime anyway, and this means we don't have a dependency on rtc-lib. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit ee46a90b599952bb1a9dc67f894710017e7cc409 Author: Milton Miller Date: Wed Apr 11 18:32:17 2007 +1000 [POWERPC] kexec: Send slaves to new kernel earlier With this, when kexec-ing, we copy the code and start the slaves on their journey to the next kernel's spin loop as soon as we copy the kexec image into place. The kernel doesn't know exactly which slaves are spinning in kexec_wait. This allows us to pass more than max-cpus to the next kernel. But it also means that we might leave some behind. Moving the code here means they have the time it takes us to clear the hash table to wake up and move on. Moving the code any earlier would reuqire walking the image description to search for the code, which could span multiple pages. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit ffdd6e4d1685779a413e4a8d753b1862259ed42a Author: Steve French Date: Sun Jun 24 21:15:44 2007 +0000 [CIFS] fix whitespace More whitespace problems found by checkpatch Signed-off-by: Steve French commit 75865f8cc8b38c30c3923b74de4b29a00cc4c0e4 Author: Steve French Date: Sun Jun 24 18:30:48 2007 +0000 [CIFS] Add in some missing flags and cifs README and TODO corrections Signed-off-by: Steve French commit addad45494cb4f9c03470a4e5155f442791b0d7f Author: Alexey Starikovskiy Date: Sat Jun 23 16:24:48 2007 -0400 ACPI: sbs: probe smart battery vis SMBus controller http://bugzilla.kernel.org/show_bug.cgi?id=8559 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 837012ede14a8fc088be3682c964da7fc6af026b Author: Alexey Starikovskiy Date: Tue May 29 16:43:02 2007 +0400 ACPI EC: Add support for non-AML EC query handlers Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 4350933a7447591041b51157a6b307be1816415f Author: Alexey Starikovskiy Date: Tue May 29 16:42:57 2007 +0400 ACPI EC: drop usage of ACPI_DEBUG_PRINT as too heavy weight Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 5b7734b440d29dab583a6c3f0ee49ff20f323332 Author: Alexey Starikovskiy Date: Tue May 29 16:42:52 2007 +0400 ACPI EC: Re-factor EC space handler to avoid using label/goto for cycle. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a4146557cdfcd1adf1a8e8c92493c2cebe1088a1 Author: Len Brown Date: Sat Jun 23 15:54:36 2007 -0400 ACPI: update MAINTAINERS for EC and battery Update ACPI Embedded Controller driver maintainer with Alexey Starikovskiy's new e-mail address at Novell/SuSE. Also, Alexey is taking over responsibility for the battery drivers. Signed-off-by: Len Brown commit 58a7295bc8073b9e668c329cb9ceb5b668c2b15d Author: Tobias Klauser Date: Thu Jun 14 00:28:15 2007 +0200 [CPUFREQ] Fix sysfs_create_file return value handling Commit 0a4b2ccc555fa2ca6873d60219047104e4805d45 in cpufreq.git eliminates the build warnings but does not pass on the error code of sysfs_create_file to the function calling cpufreq_add_dev. Instead some previous value of ret would be returned. Signed-off-by: Tobias Klauser Signed-off-by: Dave Jones commit ea48761519bd40d7a881c587b5f3177664b2987e Author: Venki Pallipadi Date: Wed Jun 20 14:26:24 2007 -0700 [CPUFREQ] ondemand: fix tickless accounting and software coordination bug With tickless kernel and software coordination os P-states, ondemand can look at wrong idle statistics. This can happen when ondemand sampling is happening on CPU 0 and due to software coordination sampling also looks at utilization of CPU 1. If CPU 1 is in tickless state at that moment, its idle statistics will not be uptodate and CPU 0 thinks CPU 1 is idle for less amount of time than it actually is. This can be resolved by looking at all the busy times of CPUs, which is accurate, even with tickless, and use that to determine idle time in a round about way (total time - busy time). Thanks to Arjan for originally reporting the ondemand bug on Lenovo T61. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0af99b13c9f323e658b4f1d69a1ccae7d6f3f80a Author: Venki Pallipadi Date: Wed Jun 20 14:24:52 2007 -0700 [CPUFREQ] ondemand: add a check to avoid negative load calculation Due to rounding and inexact jiffy accounting, idle_ticks can sometimes be higher than total_ticks. Make sure those cases are handled as zero load case. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit c7f652e0487a35c16f6cd72707232b6a28647a10 Author: Venki Pallipadi Date: Wed Jun 20 14:24:00 2007 -0700 [CPUFREQ] Keep userspace governor quiet when it is not being used Userspace governor registers a frequency change notifier at init time, even when no CPU is set to userspace governor. Make it register only when atleast one CPU is using userspace. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 689eba77cbd0cfaaa3687cbe23e8b534f8ae0ebb Author: Rafał Bilski Date: Thu Jun 7 22:31:24 2007 +0200 [CPUFREQ] Longhaul - Proper register access In previous commit I used u32 for u16 register. This code will work only when ACPI block address is set. For now it is only for VT8235 and VT8237. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 669b792c77bbc30e9f4d9c95dbc918dc348c49c2 Author: Robin Getz Date: Thu Jun 21 16:34:08 2007 +0800 Blackfin arch: Clean up trace buffer handling, No major functional changes. Turns on trace earlier, so crashes at kernel start should print out a trace, making things easier to debug. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 29440a2b4cd37e32dfe0fa60ef1665775b24dab1 Author: Bernd Schmidt Date: Thu Jul 12 16:25:29 2007 +0800 Blackfin arch: Start untangling the CPLB handling code. - Move cache initialization to C from assembly. - Move anomaly workaround for writing [ID]MEM_CONTROL to assembly, so that we don't have to mess around with .align directives in C source. - Fix a bug where bfin_write_DMEM_CONTROL would write to IMEM_CONTROL - Break out CPLB related code from kernel/setup.c into their own file. - Don't define variables in header files, only declare them. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 474f1a667d4bd40b6dcacc6870b70f4d2ba4e155 Author: Sonic Zhang Date: Fri Jun 29 16:35:17 2007 +0800 Blackfin arch: kgdb specific code Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 1c5d2265a82f8d3fa0471a60ca98072b3c53c299 Author: Michael Hennerich Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: add missing implementations SIC_IWR crosses several registers SIC_IWR crosses several registers - add missing implementations - make sure SIC_IWR is SET after boot Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f8ffe652a01506e85e2dd579c58e50a3ba391921 Author: Mike Frysinger Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: need to rename function after moving to match new internal dma API Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7adfb58fbd0a27469d26536f99b66391c4c8e2a0 Author: Bernd Schmidt Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: defines and provides entry points for certain user space functions at fixed addresses This patch defines (and provides) entry points for certain user space functions at fixed addresses. The Blackfin has no usable atomic instructions, but we can ensure that these code sequences appear atomic from a user space point of view by detecting when we're in the process of executing them during the interrupt handler return path. This allows much more efficient pthread lock implementations than the bfin_spinlock syscall we're currently using. Also provided is a small sys_rt_sigreturn stub which can be used by the signal handler setup code. The signal.c part will be committed separately. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 0ba9e350a2c129ce2878d415cf51e88611cbc0e5 Author: Mike Frysinger Date: Mon Jul 2 13:47:45 2007 +0800 Blackfin arch: new kernel config for BF548-EZKIT Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 24a07a124198153540f8f43d9e91d16227aba66e Author: Roy Huang Date: Thu Jul 12 22:41:45 2007 +0800 Blackfin arch: initial supporting for BF548-EZKIT The ADSP-BF54x was specifically designed to meet the needs of convergent multimedia applications where system performance and cost are essential ingredients. The integration of multimedia, human interface, and connectivity peripherals combined with increased system bandwidth and on-chip memory provides customers a platform to design the most demanding applications. Since now, ADSP-BF54x will be supported in the Linux kernel and bunch of related drivers such as USB OTG, ATAPI, NAND flash controller, LCD framebuffer, sound, touch screen will be submitted later. Please enjoy the show. Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 088eec1192a0ae60fc218796027e622008af36c0 Author: Roy Huang Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: Add header files for BF548 Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 2b1bd1ac5d4bffe3fd542bfe1784a583bd7df4fa Author: Paul Mundt Date: Wed Jun 20 18:27:10 2007 +0900 sh: Preliminary support for the SH-X3 CPU. This adds basic support for UP SH-X3. Signed-off-by: Paul Mundt commit 027e56e68543780870fda74360ca45e392c50e1c Author: Paul Mundt Date: Wed Jun 20 18:23:49 2007 +0900 sh: Hook up hard_smp_processor_id() for INTC2 block. We need to know the CPU ID in order to calculate the mask and ack registers effectively. Stub this in for UP. Signed-off-by: Paul Mundt commit b2309d684078f2be1d5db6ceabc99c51f9af3b6b Author: Paul Mundt Date: Wed Jun 20 18:09:10 2007 +0900 sh: Update se7722 defconfig. Hook up the multi-node stuff for the SE7722. Signed-off-by: Paul Mundt commit 824e55f95f871d492cd095d7694df3cfcad1f8f5 Author: Paul Mundt Date: Wed Jun 20 18:01:52 2007 +0900 sh: Fix up cf-enabler dependency for SE boards. This was using CONFIG_SH_SOLUTION_ENGINE, where we really wanted CONFIG_SOLUTION_ENGINE. While we're at it, move the whole CF enabler mess somewhere better suited. Signed-off-by: Paul Mundt commit 24f02e1d819ad91de46ad3a636cd3f2bf11c720f Author: Salyzyn, Mark Date: Tue Jun 19 16:29:24 2007 -0400 [SCSI] aacraid: add support for long serial number information Support displaying long serial number information. Reuse sysfs handler internally as helper. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit b27e66df78a9d8d43c05a6a5777ef45f2e238951 Author: Salyzyn, Mark Date: Tue Jun 19 16:05:12 2007 -0400 [SCSI] aacraid: correct PERC2/QC and family match quirk list The Dell PERC2/QC erroneously was listed as having the 31 bit limit quirk on the interface allocations, removing the reference to repair this oversight. Also, the 2 quad pci address (family) match catch-all also retained the 31 bit limit and the 34 SG limit quirks in a paranoid move. Now, many years later, we find that none of the Adapters that did trigger with the family match had such quirks; these quirks are all limited to the 4 quad pci address matches to select legacy adapters already populated. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit e4d49531dcc2f334205d99614164ea900216b1cb Author: Thomas Renninger Date: Thu Mar 8 17:57:31 2007 +0100 ACPI: asus_acpi: Do not load if no device has been found asus_acpi_init() has a hack to prevent the driver from loading when asus_hotk_add() fails. However, it was returning the successful return value of acpi_bug_registger_driver() on failure. This caused an oops on unload. Instead it should return -ENODEV. Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit 760af100d7cdf62d0929b11929465e4cfc694c5c Author: Salyzyn, Mark Date: Tue Jun 19 11:41:21 2007 -0400 [SCSI] aacraid: change srb status busy return This patch is more like a spelling correction than a fix. It was discovered that if we had a busy status return from the Adapter for the SCSI srb command to a physical component, that we returned DID_NO_CONNECT rather than what one would expect DID_BUS_BUSY. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 96249cf9847da57a147b30dfed88fe585d578970 Author: Geert Uytterhoeven Date: Tue Jun 19 09:47:28 2007 +0200 [SCSI] 53c700: Fixup m68k drivers: - a4000t.c: Add missing include, needed in some configurations - bvme6000_scsi.c: Kill bogus opening brace - zorro7xx.c: Remove MODULE_DEVICE_TABLE, it should be part of another patch Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 4a904a65fab83bcdd6b00470ac6c4aa80518e6a9 Author: Guennadi Liakhovetski Date: Sun Jun 17 20:32:27 2007 +0200 [SCSI] tmscsim: clean-up status codes Remove redundant defines from the header, replace all occurances in the code with standard SAM_STAT_ macros. Also fix what seems to be a typo in testing for (status == H_OVER_UNDER_RUN)... Signed-off-by: G. Liakhovetski Signed-off-by: James Bottomley commit 462b7859a07c9c2b060fa2b5b1d49f8b33706d4e Author: Christof Schmitt Date: Tue Jun 19 10:25:30 2007 +0200 [SCSI] zfcp: Report FCP LUN to SCSI midlayer When reporting SCSI devices to the SCSI midlayer, use the FCP LUN as LUN reported to the SCSI layer. With this approach, zfcp does not have to create unique LUNS, and this code can be removed. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit c7f6b3a39967b0f28d0e507866840f82e4354a23 Author: Volker Sameske Date: Tue May 29 15:29:49 2007 +0200 [SCSI] zfcp: clear adapter status flags during adapter shutdown In some cases we did not reset some adapter status flags properly. This patch clears these flags during FCP adapter shutdown. Signed-off-by: Volker Sameske Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit da9c0c770e775e655e3f77c96d91ee557b117adb Author: FUJITA Tomonori Date: Fri Jun 1 18:56:21 2007 +0900 [SCSI] iscsi_iser: convert to use the data buffer accessors iscsi_iser: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori Acked-by: Erez Zilber Signed-off-by: James Bottomley commit 0630e45c887b3d3d8d6ad27af03ec4054926d635 Author: Paul Mundt Date: Mon Jun 18 19:02:47 2007 +0900 sh: Check oops_may_print() in unhandled fault. Only print out pgd/pte data in the oops path if oops_may_print() holds true. Follows the i386 implementation. Signed-off-by: Paul Mundt commit fc1d4c9c3761ca8db52b647c6a4ba50771900a12 Author: Kaz Kojima Date: Mon Jun 18 13:58:32 2007 +0900 sh: Fix up futex implementation. SH is able to support a complete futex implementation on UP by way of gUSA. However, IRQ toggling must be done for the old CPUs that don't have movli.l/movco.l (LL/SC) instructions. Provide a default implementation that does this, so it's possible to optimize for newer CPUs. Follows the same scheme as the current asm-sh/atomic-*.h headers. Signed-off-by: Kaz Kojima Signed-off-by: Paul Mundt commit 40fc79eb0223eccf44ed2e90fb11b9a08bcc7e09 Author: James Smart Date: Sun Jun 17 19:56:39 2007 -0500 [SCSI] lpfc: update to version 8.2.1 This patch updates the driver version to 8.2.1 Signed-off-by: James Smart Signed-off-by: James Bottomley commit a0b4f78f9a4c869e9b29f254054ad7441cb40bbf Author: FUJITA Tomonori Date: Sun Jun 17 19:56:39 2007 -0500 [SCSI] lpfc: convert to use the data buffer accessors This patch is a reworked version of the data buffer accessors patch so that it applies on the NPIV sources. The original patch was developed and submitted by Fujita Tomonori: FUJITA Tomonori http://marc.info/?l=linux-scsi&m=117896446832171&w=2 - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Smart Signed-off-by: James Bottomley commit 858c9f6c19c6f9bf86cbbc64ce0d17c61d6131b8 Author: James Smart Date: Sun Jun 17 19:56:39 2007 -0500 [SCSI] lpfc: bug fixes Following the NPIV support, the following changes have been accumulated in the testing and qualification of the driver: - Fix affinity of ELS ring to slow/deferred event processing - Fix Ring attention masks - Defer dev_loss_tmo timeout handling to worker thread - Consolidate link down error classification for better error checking - Remove unused/deprecated nlp_initiator_tmr timer - Fix for async scan - move adapter init code back into pci_probe_one context. Fix async scan interfaces. - Expand validation of ability to create vports - Extract VPI resource cnt from firmware - Tuning of Login/Reject policies to better deal with overwhelmned targets - Misc ELS and discovery fixes - Export the npiv_enable attribute to sysfs - Mailbox handling fix - Add debugfs support - A few other small misc fixes: - wrong return values, double-frees, bad locking - Added adapter failure heartbeat Signed-off-by: James Smart Signed-off-by: James Bottomley commit 92d7f7b0cde3ad2260e7462b40867b57efd49851 Author: James Smart Date: Sun Jun 17 19:56:38 2007 -0500 [SCSI] lpfc: NPIV: add NPIV support on top of SLI-3 NPIV support is added to the driver. It utilizes the interfaces of the fc transport for the creation and deletion of vports. Within the driver, a new Scsi_Host is created for each NPIV instance, and is paired with a new instance of a FC port. This allows N FC Port elements to share a single Adapter. Signed-off-by: James Smart Signed-off-by: James Bottomley commit ed957684294618602b48f1950b0c9bbcb036583f Author: James Smart Date: Sun Jun 17 19:56:37 2007 -0500 [SCSI] lpfc: NPIV: add SLI-3 interface NPIV support is only available via new adapter interface extensions, termed SLI-3. This interface changes some of the basic behaviors such as command and response ring element sizes and data structures, as well as a change in buffer posting. Note: the new firmware extensions are found only on our mid-range and enterprise 4Gig adapters - so NPIV support is available only on these newer adapters. The latest firmware can be downloaded from the Emulex support page. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 2e0fef85e098f6794956b8b80b111179fbb4cbb7 Author: James Smart Date: Sun Jun 17 19:56:36 2007 -0500 [SCSI] lpfc: NPIV: split ports The driver is reorganized to separate the handling of the adapter from the handling of the FC port. Adapter handling includes submissions of command requests, receiving responses, and managing adapter resources. The FC port includes the discovery engine, login handling, and the mapping of a Scsi_Host on the "port". Although not a large functional change, as it touches core structures and functions, resulting in a large text delta. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4c2baaaf2ba4875d1d2d59b3b3e1216d3277b17a Author: FUJITA Tomonori Date: Sat May 26 04:51:32 2007 +0900 [SCSI] esp_scsi: convert to use the data buffer accessors - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Cc: David Miller Signed-off-by: James Bottomley commit f98754960a9b25057ad5f249f877b3d6fab889ce Author: FUJITA Tomonori Date: Mon May 14 20:25:31 2007 +0900 [SCSI] hptiop: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: HighPoint Linux Team Signed-off-by: James Bottomley commit 45804fbb00eea27bdf4d62751681228a9e2844e9 Author: Kars de Jong Date: Sun Jun 17 14:47:09 2007 +0200 [SCSI] 53c700: Amiga Zorro NCR53c710 SCSI New driver for Amiga Zorro bus NCR53c710 SCSI controllers, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit a16efc1cbf0a9e5ea9f99ae98fb774b60d05c35b Author: Kars de Jong Date: Sun Jun 17 14:47:08 2007 +0200 [SCSI] 53c700: Amiga 4000T NCR53c710 SCSI New driver for the Amiga 4000T built-in NCR53c710 SCSI controller, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 506c7bbcd9bc042a782bdcdb0c926de4c9d62028 Author: Kars de Jong Date: Sun Jun 17 14:47:07 2007 +0200 [SCSI] 53c700: m68k MVME16x NCR53C710 SCSI New driver for the MVME16x NCR53C710 SCSI controller, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 8276b58af4dd1c406aa5fe0fa010a6fc92283cb1 Author: Kars de Jong Date: Sun Jun 17 14:47:06 2007 +0200 [SCSI] 53c700: m68k BVME6000 NCR53C710 SCSI New driver for the BVME6000 NCR53C710 SCSI controller, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 632731345bfb87fd1f4dc509928cc4a7efc12a89 Author: Kars de Jong Date: Sun Jun 17 14:47:05 2007 +0200 [SCSI] 53c700: m68k support for the 53c700 SCSI core Add m68k support to the 53c700 SCSI driver Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit cc78d30af0823f33069fb4813c47571d4e0675a2 Author: Eric Moore Date: Fri Jun 15 17:27:21 2007 -0600 [SCSI] mpt fusion: fix for mounted raid volume filesytem that goes read-only If there is IO going to the volume while a hidden disk is being torn down, there is a case where we would return a DID_NO_CONNECT for IO sent to the volume. The end result is the volume goes read-only. This problem is due to the fact the firmware mapped target ids saved in per device object is phys_disk_num for hidden raid components, and target_id for the volume. There is a single case when both phys_disk_num and target_id are equal, so enters this issue. We fix this issue by checking the tflags when the device is torned down, insuring the IO being completed is meant for hidden raid component, not the volume. In addition to this fix, there are a couple other cases to address hidden raid components. For instance task_abort and device reset are not supported by mpt fw for hidden raid components, a bus reset would be required or target reset to volume. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 958d4a32077f1d7d863e67f40f81c577c3c0c037 Author: Eric Moore Date: Fri Jun 15 17:24:14 2007 -0600 [SCSI] mpt fusion: cleanup eh handlers nice cosmetic cleaning of eh thread callback funtions Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 4023c4747861e8c56f46e5fa50bd4feb63fc91fc Author: Alan Cox Date: Fri Jun 15 14:45:30 2007 +0100 [SCSI] a100u2w: Convert into Linux style I was investigating strange driver behaviour and thought that readable code and proper visible types might help explain why it didn't work right the moment a second SCB was outstanding to the controller. I was right - Cleanup, linuxise, demacro - Remove the BSD dual licence on the new work - Switch the if ALPHA to if __LP64__. (struct size is then right elsewhere) and then to CONFIG_64BIT as per Christoph's request - Fix the recursive locking on a reset. This is the only actual real code change (I hope ;)). I'm not clear what the right way to handle the BIOS param stuff is on n on x86-32/64. Using phys_to_virt and stuff is ugly and probably doesn't make sense elsewhere Still has a couple of odd things - and there seems to be a commonly shared EEPROM handling error several drivers have. Roughly speaking several SCSI drivers go try and read EEPROM It failed.. Write any changes between the default and the data we read Which is great as for some paths we've no idea what was in before, so each boot won't write it all back, won't checksum but will repeat the bug Also it can still sleep for a second with IRQ off, and there is some dubious looking error path locking marked FIXME in case anyone feels inspired to work on it. Not a newly introduced bug, and at least its now marked. Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit 0d2fcd9f9858a34f7056b3b1cb60ce0f883d06b6 Author: Hannes Reinecke Date: Thu Jun 14 15:16:45 2007 +0200 [SCSI] fc_transport: Check portstates before invoking target scan When a target scan is initiated from sysfs, we should check the portstate prior to invoke scsi_scan_target(). Otherwise scsi_scan_target() might oops as the rport might already been removed from the scsi host and the traversal from the rport to the scsi_host in scsi_scan_target() will fail. Also the portstate already told us that communication with the target has failed, so it's quite pointless to try. Signed-off-by: Hannes Reinecke Cc: James Smart Signed-off-by: James Bottomley commit 1c13899154f6f93e8c9ff3e981a90d5f21df2d6b Author: FUJITA Tomonori Date: Thu Jun 14 22:13:17 2007 +0900 [SCSI] iscsi_tcp: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori Acked-by: Mike Christie Signed-off-by: James Bottomley commit d36b113eea2918ce1badf277af9fc64311609ca2 Author: Eric Moore Date: Wed Jun 13 16:35:21 2007 -0600 [SCSI] mpt fusion: bump version bump version Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 7c431e5cf4f4618066982ee799c26f1a276a56e1 Author: Eric Moore Date: Wed Jun 13 16:34:36 2007 -0600 [SCSI] mpt fusion: fc loginfo using defines from the header rewrite of mpt_fc_log_info to use the enum/defines from mpi_log_fc.h Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit caa5dea19d4853f71b091cad8fde75e6f14ff1be Author: Eric Moore Date: Wed Jun 13 16:33:48 2007 -0600 [SCSI] mpt fusion: remove unused header - linux_compat.h remove unused header Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit db0073bb2c9d5bbd839f9935fece879ee79170e0 Author: Eric Moore Date: Wed Jun 13 16:33:05 2007 -0600 [SCSI] mpt fusion: remove unused header - mpi_inb.h fc inband managment header deleted Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit d16291b1f2656f2bb1beea5fcce3eb0d1546e981 Author: Eric Moore Date: Wed Jun 13 16:32:20 2007 -0600 [SCSI] mpt fusion: new mpi headers version 1.5.16 mpi header update Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 16d201016a9f29e0557849907352769c63cef259 Author: Eric Moore Date: Wed Jun 13 16:31:07 2007 -0600 [SCSI] mpt fusion: update MAINTAINERS (fusion part) Update assocated fusion sources with new support email address. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 35f51eee99efe88866476300ccb7f206e88f3394 Author: Brian King Date: Wed Jun 13 17:12:40 2007 -0500 [SCSI] ibmvscsi: Abort path fix Since it is completely possible for scsi core to call a LLDD's eh_abort function after the command has completed, fix ibmvscsi to return SUCCESS if this is the case. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 06f923cbf080e22d1ffccbf3fd2cbab0176f6025 Author: Brian King Date: Wed Jun 13 17:12:33 2007 -0500 [SCSI] ibmvscsi: Misc. locking fixes Fix a couple locking bugs discovered during code inspection. ibmvscsi_send_srp_event needs to be called with the host lock held. This patch fixes a couple paths in the code where this wasn't true. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 3d0e91f7ace12499c4b00088e9a6b1361e1bb0ca Author: Brian King Date: Wed Jun 13 17:12:26 2007 -0500 [SCSI] ibmvscsi: Add eh_host_reset_handler Adds an eh_host_reset_handler to ibmvscsi which resets the connection to the vscsi server. This patch also adds a timer to internally issues commands to prevent client hangs in the case of a misbehaving server. Tested by modifying the VIOS such that it would occasionally drop one or more request in sequence. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 6c0a60ec52042ece8bf4904c91ac497188e8d70b Author: Brian King Date: Wed Jun 13 17:12:19 2007 -0500 [SCSI] ibmvscsi: Enhanced error logging Converts ibmvscsi to use dev_printk and friends to simplify debugging. ibmvscsi adapter initialization now looks like this: ibmvscsi 30000005: SRP_VERSION: 16.a ibmvscsi 30000005: partner initialization complete ibmvscsi 30000005: sent SRP login ibmvscsi 30000005: SRP_LOGIN succeeded Additionally, this patch adds the logging of a couple return codes in a couple logs. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 2a7309372fe56ae46c499b772d811ad31c501dd9 Author: Brian King Date: Wed Jun 13 17:12:11 2007 -0500 [SCSI] ibmvscsi: Remove unnecessary map_sg check Since sg_tablesize is set appropriately in the scsi host template, remove the unnecessary check to make sure it is not exceeded following the dma_map_sg call. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 0ea7154fbc740e8c44f6175fc44c4e56fbbbdc0f Author: FUJITA Tomonori Date: Thu Jun 14 00:41:06 2007 +0900 [SCSI] i2o: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Note: needs to change i2o_dma_map_sg when the chaining sg is ready. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 29c976844d0bef07d97babc8db60fa6c46788133 Author: Salyzyn, Mark Date: Tue Jun 12 09:33:54 2007 -0400 [SCSI] aacraid: add user initiated reset Add the ability for an application to issue a hardware reset to the adapter via sysfs. Typical uses include restarting the adapter after it has been flashed. Bumped revision number for the driver and added a feature to periodically check the adapter's health (check_interval), update the adapter's concept of time (update_interval) and block checking/resetting of the adapter (check_reset). Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 1a655040c24ebf3954ad5cf8848391cb420b1ffb Author: Salyzyn, Mark Date: Mon Jun 11 16:17:55 2007 -0400 [SCSI] aacraid: probe related code cleanup Sundry cleanups: 1) Use kzalloc instead of kmalloc. 2) Make sure probe worked before recalling the SCSI command to finalize processing. 3) _aac_probe_container2 and _aac_probe_container1 return value goes unused, change return to void. 4) Use a lower depth pointer reference to pick up the driver instance variable. 5) Although effectively unused except to fake for scsicmd validity, set the scsi_done in probe code to aac_probe_container_callback1 instead of the less valid dummy reference to _aac_probe_container1. 6) SCp.phase is set in aac_valid_context, drop setting up this value in caller when unnecessary. 7) take container target id at the beginning, rather than referencing scmd_id() to pick it up. There should be no side effects or functionality changes. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit beb87c33393142200df7bfdc901dde97bd576650 Author: Randy Dunlap Date: Mon Jun 11 11:36:40 2007 -0700 [SCSI] scsi_debug: correct parameter default text Correct the module info text for the default value of "every_nth" to 0. Signed-off-by: Randy Dunlap Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 46235e600acfb6d13ee164c5539ad4309e848eab Author: David C Somayajulu Date: Fri Jun 8 17:37:16 2007 -0700 [SCSI] qla4xxx: allow hba to be online when initiator ip address is uninitialized This patch provides the following: 1. remove warning ignoring the return value of pci_set_mwi() 2. allows HBA to be online when the initiator ip address is uninitialized. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit a1f6e0211b71a6c3ff401ad1d345ab024d0c6f01 Author: nickcheng(鄭守謙 Date: Fri Jun 15 11:43:32 2007 +0800 [SCSI] areca: improve driver stability and compatibility Description: 1. Implement PCI-Express error recovery function and AER capability, especially thanks to Yanmin Zhang's openhanded help about AER 2. Implement the selection of ARCMSR_MAX_XFER_SECTORS_B=4096 if firmware version is latter than 1.42 3. Add arcmsr_done4_abort_postqueue in arcmsr_iop_reset function to improve the stability as hot-unplug/plug 4. Modify the ISR, arcmsr_interrupt routine, to prevent the inconsistency with sg_mod driver if application directly calls the arcmsr driver w/o passing through scsi midlayer Signed-off-by: Nick Cheng [jejb: unused variable removal] Signed-off-by: James Bottomley commit e8ef92b8dc939cebf0c1fe153e898e5162c2ad05 Author: Ben Dooks Date: Thu Jun 14 12:08:55 2007 +0100 [WATCHDOG] change s3c2410_wdt to using dev_() macros for output Move to using dev_info(), dev_dbg() and dev_err() for reporting information from the driver. Signed-off-by: Ben Dooks Signed-off-by: Wim Van Sebroeck commit 46b814d6e00c1a1e3127f8f9c254dda310781bec Author: Ben Dooks Date: Thu Jun 14 12:08:54 2007 +0100 [WATCHDOG] s3c2410_wdt announce initialisation Announce the watchdog once the initialisation is complete. This aides debugging problems where the watchdog driver has been loaded and shows the current state for the user. Signed-off-by: Ben Dooks Signed-off-by: Wim Van Sebroeck commit 727eead62e22cf0a9498cf34e075c08269402978 Author: FUJITA Tomonori Date: Sat May 26 02:00:42 2007 +0900 [SCSI] aacraid: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 2f4cf91cc0a1f32f75e1fa0a4d70a9bc7340a302 Author: FUJITA Tomonori Date: Wed Jun 13 23:27:09 2007 +0900 [SCSI] ips: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. TODO: use scsi_for_each_sg() in the breakup handling. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit eee4c4694fb2936258244bb391e6eec07f3eea8e Author: Paul Mundt Date: Fri Jun 15 19:45:33 2007 +0900 sh: Update SH-2/SH-2A defconfigs. Signed-off-by: Paul Mundt commit 68abdbbb03476a60d932eeba0035dd5069afec38 Author: Magnus Damm Date: Fri Jun 15 18:56:19 2007 +0900 sh: rework ipr code This patch reworks the ipr code by grouping the offset array together with the ipr_data structure in a new data structure called ipr_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. This strategy has much in common with the recently merged intc2 code. One logic change has been made - the original ipr code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 50f63f2518ee68bc132d357d2b6fdb7f60ef79e0 Author: Paul Mundt Date: Fri Jun 15 18:30:42 2007 +0900 sh: Only support PMB for SH-X cores. We don't have a PMB for SH-X2 or later, so only enable it for the few CPUs that support it. Fixes up the boot for SH4AL-DSP. Signed-off-by: Paul Mundt commit d619500aed2f9b841b2310bc94f8056ae9ca2a73 Author: Magnus Damm Date: Fri Jun 15 10:41:54 2007 +0900 sh: rework intc2 code The shared intc2 code currently contains cpu-specific #ifdefs. This is a tad unclean and it prevents us from using the shared code to drive board-specific irqs on the se7780 board. This patch reworks the intc2 code by moving the base addresses of the intc2 registers into struct intc2_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. One logic change has been made - the original shared intc2 code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e58ca3de64927e96beb2f1594975dc4a29b79459 Author: David Gibson Date: Wed Jun 13 14:53:00 2007 +1000 [POWERPC] Fix problems with device tree representation of TSI-1xx bridges This fixes some problems with the way the some things represented in the device tree for the Holly and Taiga boards. This means changes both to the dts files, and to the code which instantiates the tsi108 ethernet platform devices based on the device tree. - First, and most importantly, the ethernet PHYs are given with an identical 'reg' property. This reg currently encodes the accessible register used to initiate mdio interaction with the PHYs, rather than a meaningful address on the parent bus (mdio in this case), which is incorrect. Instead we give the address of these registers as 'reg' in the mdio node itself, and encode the ID of each phy in their 'reg' propertyies. - Currently the platform device constructor enables a workaround in the tsi108 ethernet driver based on the compatible property of the PHY. This is incorrect, because the workaround in question is necessary due to the board's wiring of the PHY, not the model of PHY itself. This patch alters the constructor to instead enable the workaround based on a new special property in the PHY node. - The compatible properties on a number of nodes in the device tree are insufficiently precise. In particular the PHYs give only "bcm54xx", which is broken, since there are many bcm54xx PHY models, and they have differences which matter. The mdio had a compatible property of "tsi-ethernet" identical to the ethernet MAC nodes, which doesn't make sense. The ethernet, i2c, bridge and PCI nodes were given only as "tsi-*" which is somewhat inprecise, we replace with "tsi108-*" in the case of Taiga (which has a TSI108 bridge), and "tsi109-*", "tsi108-*" in the case of Holly (which has a TSI109 bridge). - We remove some "model" properties from the ethernets on Taiga board which were neither useful nor adequately precise. - On Holly we change to using a dtc label instead of a full path to reference the MPIC node, which makes the dts a little more readable. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit e60c526fba3ba77070d0c97fac52c86243ad694d Author: David Gibson Date: Wed Jun 13 14:53:00 2007 +1000 [POWERPC] Don't store a command line in the Holly device tree Currently, the Holly device tree includes a bootargs property in /chosen, which gives a commandline. This is somewhat inconvenient, because it means an alternative default command line can't be given in the kernel config - the value obtained from the dts via the bootwrapper will always override CONFIG_CMDLINE. This removes the command line from the dts, and instead puts the same command line as a default in holly_defconfig. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 85aecac8d2893372c618bac373e2de9cf102dfbc Author: David Gibson Date: Wed Jun 13 14:53:00 2007 +1000 [POWERPC] Consolidate cuboot initialization code The various cuboot platforms (i.e. pre-device tree aware u-boot for 83xx, 85xx and Ebony) share a certain amount of code for parsing the boot parameters. To a certain extent that's inevitable, since they platforms have different definitions of the bd_t structure. However, with some macro work and a helper function, this patch improves the situation a bit. In the process, this fixes a bug on Ebony, which was incorrectly handling the parameters passed form u-boot for the command line (the bug was copied from 83xx and 85xx which have subsequently been fixed). Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit b2ba34f370a66d9ed4bbd440e45296ecf3e267d3 Author: David Gibson Date: Wed Jun 13 14:52:59 2007 +1000 [POWERPC] Derive ebc ranges property from EBC registers In the device tree for Ebony, the 'ranges' property in the node for the EBC bridge shows the mappings from the chip select / address lines actually used for the EBC peripherals into the address space of the OPB. At present, these mappings are hardcoded in ebony.dts for the mappings set up by the OpenBIOS firmware when it configures the EBC bridge. This replaces the hardcoded mappings with code in the zImage to read the EBC configuration registers and create an appropriate ranges property based on them. This should make the zImage and kernel more robust to changes in firmware configuration. In particular, some of the Ebony's DIP switches can change the effective address of the Flash and other peripherals in OPB space. With this patch, the kernel will be able to cope with at least some of the possible variations. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 11123346bfba8e65631957c6c25ed1a6ca1b4ffe Author: David Gibson Date: Wed Jun 13 14:52:58 2007 +1000 [POWERPC] Factor zImage's 44x reset code out of ebony.c The ebony_exit() function which resets the Ebony board should in fact be common to most if not all 44x boards. This moves the function out into 44x.c, renaming it, so it can be used by other 44x platforms. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 4508dc21feb189159d4cc1d5b79c5a55fad5f2ed Author: David Gibson Date: Wed Jun 13 14:52:57 2007 +1000 [POWERPC] Merge CPU features pertaining to icache coherency Currently the powerpc kernel has a 64-bit only feature, COHERENT_ICACHE used for those CPUS which maintain icache/dcache coherency in hardware (POWER5, essentially). It also has a feature, SPLIT_ID_CACHE, which is used on CPUs which have separate i and d-caches, which is to say everything except 601 and Freescale E200. In nearly all the places we check the SPLIT_ID_CACHE, what we actually care about is whether the i and d-caches are coherent (which they will be, trivially, if they're the same cache). This tries to clarify the situation a little. The COHERENT_ICACHE feature becomes availble on 32-bit and is set for all CPUs where i and d-cache are effectively coherent, whether this is due to special logic (POWER5) or because they're unified. We check this, instead of SPLIT_ID_CACHE nearly everywhere. The SPLIT_ID_CACHE feature itself is replaced by a UNIFIED_ID_CACHE feature with reversed sense, set only on 601 and Freescale E200. In the two places (one Freescale BookE specific) where we really care whether it's a unified cache, not whether they're coherent, we check this feature. The CPUs with unified cache are so few, we could consider replacing this feature bit with explicit checks against the PVR. This will make unifying the 32-bit and 64-bit cache flush code a little more straightforward. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 8e561e7eda02819c711a75b64a000bf34948cdbb Author: David Gibson Date: Wed Jun 13 14:52:56 2007 +1000 [POWERPC] Kill typedef-ed structs for hash PTEs and BATs Using typedefs to rename structure types if frowned on by CodingStyle. However, we do so for the hash PTE structure on both ppc32 (where it's called "PTE") and ppc64 (where it's called "hpte_t"). On ppc32 we also have such a typedef for the BATs ("BAT"). This removes this unhelpful use of typedefs, in the process bringing ppc32 and ppc64 closer together, by using the name "struct hash_pte" in both cases. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 9c709f3b62ee8ee0dfadf358e361802cab7eea7a Author: David Gibson Date: Wed Jun 13 14:52:56 2007 +1000 [POWERPC] Start factoring pgtable-ppc32.h and pgtable-ppc64.h This factors some things defined in both pgtable-ppc32.h and pgtable-ppc64.h into the common part of asm-powerpc/pgtable.h. These are all things which have essentially identical definitions, and which by their nature are very unlikely ever to need different definitions in the two cases. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit c0770f686cf8f464b5b9d4bd28c1ed7604c97ed4 Author: David Gibson Date: Wed Jun 13 14:52:56 2007 +1000 [POWERPC] Remove a couple of unused definitions from pgtable_32.c In arch/powerpc/mm/pgtable_32.c, the variable io_bat_index and the macro is_power_of_4() no longer have any users. This removes them. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit f21f49ea639ac3f24824177dac1268af75a2d373 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Remove the dregs of APUS support from arch/powerpc APUS (the Amiga Power-Up System) is not supported under arch/powerpc and it's unlikely it ever will be. Therefore, this patch removes the fragments of APUS support code from arch/powerpc which have been copied from arch/ppc. A few APUS references are left in asm-powerpc in .h files which are still used from arch/ppc. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 90ac19a8b21ba2621ddd7beb2dc96152e78270b7 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Abolish iopa(), mm_ptov(), io_block_mapping() from arch/powerpc These old-fashioned IO mapping functions no longer have any callers in code which remains relevant on arch/powerpc. Therefore, this removes them from arch/powerpc. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 4db68bfe71940c0851bc81041ade6dc293fe2b96 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Split out asm-ppc/mmu.h portions for the "classic" hash-based MMU arch/powerpc still relies on asm-ppc/mmu.h for most 32-bit MMU types. This is another step towards fixing this. It takes the portions of asm-ppc/mmu.h related to the "classic" 32-bit hash page table MMU which are still relevant in arch/powerpc and puts them in a new asm-powerpc/mmu-hash32.h, included when appropriate from asm-powerpc/mmu.h. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 2e6016133755eb3cc44e8efab92573d23ed75888 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Split low-level OF-related bootloader code into separate files Currently, all OF-related code in the bootloader is contained in of.c. of.c also provides the platform specific things necessary to boot on an OF platform. However, there are platforms (such as PReP) which can include an OF implementation, but are not bootable as pure OF systems. For use by such platforms, this patch splits out the low-level parts of the OF code (call_prom() and various wrappers thereof) into a new oflib.c file. In addition, the code related to bootwrapper console output via OF are moved to a new ofconsole.c file. Both these files are included in the wrapper.a library where they can be used by both full-OF and partial OF platforms. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit a0ae9c7c05b969cbaffb0371f8698c54465b4c96 Author: Arnd Bergmann Date: Wed Jun 13 02:30:17 2007 +1000 [POWERPC] Split out CPU specific options into a new Kconfig file A lot of the options in arch/powerpc/Kconfig deal with the CPU menu, and my next patches add more to them. Moving them to a new arch/powerpc/platforms/Kconfig.cputype file makes it easier to follow. There are no functional changes in here. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit effe24bdd41ef790b30c9ac02ede3703937c6ba0 Author: will schmidt Date: Wed Jun 13 01:19:01 2007 +1000 [POWERPC] During VM oom condition, kill all threads in process group We have had complaints where a threaded application is left in a bad state after one of it's threads is killed when we hit a VM: out_of_memory condition. Killing just one of the process threads can leave the application in a bad state, whereas killing the entire process group would allow for the application to restart, or be otherwise handled, and makes it very obvious that something has gone wrong. This change allows the entire process group to be taken down, rather than just the one thread. lightly tested on powerpc Signed-off-by: Will Signed-off-by: Paul Mackerras commit d8c391a5593aca5bea002bcaaec16c7bbd6ec853 Author: Jake Moilanen Date: Fri Jun 8 07:27:11 2007 +1000 [POWERPC] Donate idle CPU cycles on dedicated partitions A Power6 can give up CPU cycles on a dedicated CPU (as opposed to a shared CPU) to other shared processors if the administrator asks for it (via the HMC). This enables that to work properly on P6. This just involves setting a bit in the CAS structure as well as the VPA. To donate cycles, a CPU has to have all SMT threads idle and have the donate bit set in the VPA. Then call H_CEDE. The reason why shared processors just aren't used is because dedicated CPUs are guaranteed an actual processor, yet the system is still able to increase the capacity of the shared CPU pool. Also rename the VPA's cpuctls_task_attrs field to a more accurate name. Signed-off-by: Jake Moilanen Signed-off-by: Paul Mackerras commit 2f97cd3912428f5044fa7715293a69349fc455fa Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:56 2007 +1000 [POWERPC] Less ifdef's in signal.c/signal.h This patch moves things around a little bit in the new common signal.c and signal.h files to remove the last #ifdef in the middle of the common do_signal(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0edc4ffd0e50d1ab0f387d37457210bc8bf8f8da Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:55 2007 +1000 [POWERPC] Remove #ifdef around set_dabr in signal code set_dabr() and thread.dabr exist on 32 bits as well nowadays (they actually may do something even, depending on what CPU you have). So this removes the ifdef. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a3f61dc0a5335334958ec3b97d0b1946b4ae5375 Author: Benjamin Herrenschmidt Date: Mon Jun 4 17:22:48 2007 +1000 [POWERPC] Merge creation of signal frame The code for creating signal frames was still duplicated and split in strange ways between 32 and 64 bits, including the SA_ONSTACK handling being in do_signal on 32 bits but inside handle_rt_signal on 64 bits etc... This moves the 64 bits get_sigframe() to the generic signal.c, cleans it a bit, moves the access_ok() call done by all callers to it as well, and adapts/cleanups the 3 different signal handling cases to use that common function. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5f9f375a62d3fd3d7f0d5adc23039ade523e62ba Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:53 2007 +1000 [POWERPC] Remove obsolete freezer bits The powerpc signal code still had some obsolete freezer bits that have long been removed from x86 (it's now done in generic code). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f478f5430c8a599f46c41e8172a507a5772a6b69 Author: Christoph Hellwig Date: Mon Jun 4 15:15:52 2007 +1000 [POWERPC] Consolidate do_signal do_signal has exactly the same behaviour on 32bit and 64bit and 32bit compat on 64bit for handling 32bit signals. Consolidate all these into one common function in signal.c. The only odd left over is the try_to_free in the 32bit version that no other architecture has in mainline (only in i386 for some odd SuSE release). We should probably get rid of it in a separate patch. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit db277e9a67b9d81b9d6cd74edf0c3e1a0ef2aa4b Author: Christoph Hellwig Date: Mon Jun 4 15:15:51 2007 +1000 [POWERPC] Consolidate restore_sigmask restore_sigmask is exactly the same on 32 and 64bit, so move it to common code. Also move _BLOCKABLE to signal.h to avoid defining it multiple times. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 69d15f6b352a681f1db9bc70219a3e8e9d503dbf Author: Christoph Hellwig Date: Mon Jun 4 15:15:50 2007 +1000 [POWERPC] Consolidate sys_sigaltstack sys_sigaltstack is the same on 32bit and 64 and we can consolidate it to signal.c. The only difference is that the 32bit code uses ints for the unused register paramaters and 64bit unsigned long. I've changed it to unsigned long because it's the same width on 32bit. (I also wonder who came up with this awkward calling convention.. :)) Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 22e38f29328296d9d4cc33e46fd32a63e807abaf Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:49 2007 +1000 [POWERPC] Make syscall restart code more common This patch moves the code in signal_32.c and signal_64.c for handling syscall restart into a common signal.c file and converge around a single implementation that is based on the 32 bits one, using trap, ccr and r3 rather than the special "result" field for deciding what to do. The "result" field is now pretty much deprecated. We still set it for the sake of whatever might rely on it in userland but we no longer use it's content. This, along with a previous patch that enables ptracers to write to "trap" and "orig_r3" should allow gdb to properly handle syscall restarting. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 791cc501d422be96d6e3098faf6471ba29f4dd33 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:48 2007 +1000 [POWERPC] Always apply DABR changes on context switches This patch removes the #ifdef CONFIG_PPC64 around setting the DABR. The actual setting of the SPR inside of the set_dabr() function is dependent on CONFIG_PPC64 || CONFIG_6xx but you can always provide a ppc_md hook to override that. We should improve support for different HW breakpoints facilities but this is a first step. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6d110da8c3c62167c54eb5e32bb80916a1a23362 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:47 2007 +1000 [POWERPC] powerpc: ptrace can set DABR on both 32 and 64 bits Allow ptrace to set dabr in the thread structure for both 32 and 64 bits, though only 64 bits actually uses that field, it's actually defined in both. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit abd0650541604d6c028bcbf5002e4a68aaf56e90 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:47 2007 +1000 [POWERPC] ptrace shouldn't touch FP exec mode One of the gratuitous difference between 32 and 64-bit ptrace is whether you can whack the MSR:FE0 and FE1 bits from ptrace. This patch forbids it unconditionally. In addition, the 64-bit kernels used to return the exception mode in the MSR on reads, but 32-bit kernels didn't. This patch makes it return those bits on both. Finally, since ptrace-ppc32.h and ptrace-ppc64.h are mostly empty now, and since the previous patch made ptrace32.c no longer need the MSR_DEBUGCHANGE definition, we just remove those 2 files and move back the remaining bits to ptrace.c (they were short lived heh ?). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 912000e73ee8fcb97831b123c9c3a7274b71cab7 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:46 2007 +1000 [POWERPC] Allow ptrace write to pt_regs trap and orig_r3 This patch allows a ptracer to write to the "trap" and "orig_r3" words of the pt_regs. This, along with a subsequent patch to the signal restart code, should enable gdb to properly handle syscall restarting after executing a separate function (at least when there's no restart block). This patch also removes ptrace32.c code toying directly with the registers and makes it use the ptrace_get/put_reg() accessors for everything so that the logic for checking what is permitted is in only one place. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1b6610d6fcb8dc23631cf48f09aa02e6649e379d Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:45 2007 +1000 [POWERPC] Remove some useless ifdef's in ptrace CHECK_FULL_REGS() exist on both 32 and 64 bits, so there's no need to make it conditional on CONFIG_PPC32. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 865418d8e78b9c11c964157740b2596d6ffe9dfa Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:44 2007 +1000 [POWERPC] Uninline common ptrace bits This folds back the ptrace-common.h bits back into ptrace.c and removes that file. The FSL SPE bits from ptrace-ppc32.h are folded back in as well. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e17666ba48f78ff10162d7448e7c92d668d8faf6 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:43 2007 +1000 [POWERPC] ptrace updates & new, better requests The powerpc ptrace interface is dodgy at best. We have defined our "own" versions of GETREGS/SETREGS/GETFPREGS/SETFPREGS that strangely take arguments in reverse order from other archs (in addition to having different request numbers) and have subtle issue, like not accessing all of the registers in their respective categories. This patch moves the implementation of those to a separate function in order to facilitate their deprecation in the future, and provides new ptrace requests that mirror the x86 and sparc ones and use the same numbers: PTRACE_GETREGS : returns an entire pt_regs (the whole thing, not only the 32 GPRs, though that doesn't include the FPRs etc... There's a compat version for 32 bits that returns a 32 bits compatible pt_regs (44 uints) PTRACE_SETREGS : sets an entire pt_regs (the whole thing, not only the 32 GPRs, though that doesn't include the FPRs etc... Some registers cannot be written to and will just be dropped, this is the same as with POKEUSR, that is anything above MQ on 32 bits and CCR on 64 bits. There is a compat version as well. PTRACE_GETFPREGS : returns all the FP registers -including- the FPSCR that is 33 doubles (regardless of 32/64 bits) PTRACE_SETFPREGS : sets all the FP registers -including- the FPSCR that is 33 doubles (regardless of 32/64 bits) And two that only exist on 64 bits kernels: PTRACE_GETREGS64 : Same as PTRACE_GETREGS, except there is no compat function, a 32 bits process will obtain the full 64 bits registers PTRACE_SETREGS64 : Same as PTRACE_SETREGS, except there is no compat function, a 32 bits process will set the full 64 bits registers The two later ones makes things easier to have a 32 bits debugger on a 64 bits program (or on a 32 bits program that uses the full 64 bits of the GPRs, which is possible though has issues that will be fixed in a later patch). Finally, while at it, the patch removes a whole bunch of code duplication between ptrace32.c and ptrace.c, in large part by having the former call into the later for all requests that don't need any special "compat" treatment. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit acd89828484db6371202f5d292781ae6f832eda2 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:41 2007 +1000 [POWERPC] ptrace cleanups The powerpc ptrace code has some weirdness, like a ptrace-common.h file that is actually ppc64 only and some of the 32 bits code ifdef'ed inside ptrace.c. There are also separate implementations for things like get/set_vrregs for 32 and 64 bits which is totally unnecessary. This patch cleans that up a bit by having a ptrace-common.h which contains really common code (and makes a lot more code common), and ptrace-ppc32.h and ptrace-ppc64.h files that contain the few remaining different bits. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0b3d5c48a98f7bd2d38962f5a67b480ac5656fb9 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:39 2007 +1000 [POWERPC] Disable broken PPC_PTRACE_GETFPREGS on 32 bits The handling of PPC_PTRACE_GETFPREGS is broken on 32 bits kernel, it will only return half of the registers. Since that call didn't initially exist for 32 bits kernel (added recently), rather than fixing it, let's just remove it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit cbe709c1683dd54a2ec2981c9e8415cb3176f4e0 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:38 2007 +1000 [POWERPC] spufs: Add a "capabilities" file to spu contexts This adds a "capabilities" file to spu contexts consisting of a list of linefeed separated capability names. The current exposed capabilities are "sched" (the context is scheduleable) and "step" (the context supports single stepping). Signed-off-by: Benjamin Herrenschmidt Acked-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 05169237b55058a3993fb4804d00b65dfa3e4a0c Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:37 2007 +1000 [POWERPC] spufs: Add support for SPU single stepping This patch adds support for SPU single stepping. The single step bit is set in the SPU when the current process is being single-stepped via ptrace. The spu then stops and returns with a specific flag set and the syscall exit code will generate the SIGTRAP. Signed-off-by: Benjamin Herrenschmidt Acked-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 3d5134ee8341bffc4f539049abb9e90d469b448d Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:36 2007 +1000 [POWERPC] Rewrite IO allocation & mapping on powerpc64 This rewrites pretty much from scratch the handling of MMIO and PIO space allocations on powerpc64. The main goals are: - Get rid of imalloc and use more common code where possible - Simplify the current mess so that PIO space is allocated and mapped in a single place for PCI bridges - Handle allocation constraints of PIO for all bridges including hot plugged ones within the 2GB space reserved for IO ports, so that devices on hotplugged busses will now work with drivers that assume IO ports fit in an int. - Cleanup and separate tracking of the ISA space in the reserved low 64K of IO space. No ISA -> Nothing mapped there. I booted a cell blade with IDE on PIO and MMIO and a dual G5 so far, that's it :-) With this patch, all allocations are done using the code in mm/vmalloc.c, though we use the low level __get_vm_area with explicit start/stop constraints in order to manage separate areas for vmalloc/vmap, ioremap, and PCI IOs. This greatly simplifies a lot of things, as you can see in the diffstat of that patch :-) A new pair of functions pcibios_map/unmap_io_space() now replace all of the previous code that used to manipulate PCI IOs space. The allocation is done at mapping time, which is now called from scan_phb's, just before the devices are probed (instead of after, which is by itself a bug fix). The only other caller is the PCI hotplug code for hot adding PCI-PCI bridges (slots). imalloc is gone, as is the "sub-allocation" thing, but I do beleive that hotplug should still work in the sense that the space allocation is always done by the PHB, but if you unmap a child bus of this PHB (which seems to be possible), then the code should properly tear down all the HPTE mappings for that area of the PHB allocated IO space. I now always reserve the first 64K of IO space for the bridge with the ISA bus on it. I have moved the code for tracking ISA in a separate file which should also make it smarter if we ever are capable of hot unplugging or re-plugging an ISA bridge. This should have a side effect on platforms like powermac where VGA IOs will no longer work. This is done on purpose though as they would have worked semi-randomly before. The idea at this point is to isolate drivers that might need to access those and fix them by providing a proper function to obtain an offset to the legacy IOs of a given bus. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c19c03fc749147f565e807fa65f1729066800571 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:35 2007 +1000 [POWERPC] unmap_vm_area becomes unmap_kernel_range for the public This makes unmap_vm_area static and a wrapper around a new exported unmap_kernel_range that takes an explicit range instead of a vm_area struct. This makes it more versatile for code that wants to play with kernel page tables outside of the standard vmalloc area. (One example is some rework of the PowerPC PCI IO space mapping code that depends on that patch and removes some code duplication and horrible abuse of forged struct vm_struct). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3c8c90ab8810a8ebb38a5f1dde2595b750d5adff Author: Linas Vepstas Date: Thu May 24 03:28:01 2007 +1000 [POWERPC] Tweak EEH copyright info Twiddle the copyright notices. Per current guidelines, the use of the (C) or (c) in source code is deprecated. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 6 +++++- arch/powerpc/platforms/pseries/eeh_cache.c | 3 ++- arch/powerpc/platforms/pseries/eeh_driver.c | 6 +++--- 3 files changed, 10 insertions(+), 5 deletions(-) Signed-off-by: Paul Mackerras commit 42253a68a8e794a38ede33566083af8a80948f60 Author: Linas Vepstas Date: Thu May 24 03:23:38 2007 +1000 [POWERPC] Remove dead EEH code Remove some dead code. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) Signed-off-by: Paul Mackerras commit 858955bd572f0ca38b258e45c7dd743b9e44b04e Author: Linas Vepstas Date: Thu May 24 03:20:51 2007 +1000 [POWERPC] Show EEH per-device false positives Track and report the number of times we read an all-1s value (0xff, 0xffff or 0xffffffff) from each device which is valid data, not indicating EEH isolation. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 5 +++++ arch/powerpc/platforms/pseries/eeh_sysfs.c | 3 +++ include/asm-powerpc/pci-bridge.h | 1 + 3 files changed, 9 insertions(+) Signed-off-by: Paul Mackerras commit e1d04c9769398ae7df8c7ca2681b25f540b719d5 Author: Linas Vepstas Date: Thu May 24 03:16:46 2007 +1000 [POWERPC] Add EEH sysfs blinkenlights Add sysfs blinkenlights for EEH statistics. Shuffle the eeh_add_device_tree() call so that it appears in the correct sequence. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/Makefile | 2 arch/powerpc/platforms/pseries/eeh.c | 4 + arch/powerpc/platforms/pseries/eeh_cache.c | 2 arch/powerpc/platforms/pseries/eeh_sysfs.c | 84 +++++++++++++++++++++++++++++ arch/powerpc/platforms/pseries/pci_dlpar.c | 7 +- include/asm-powerpc/ppc-pci.h | 3 + 6 files changed, 98 insertions(+), 4 deletions(-) Signed-off-by: Paul Mackerras commit c2e221e8b93ea54da85d9b5413a2eff9f4a653f7 Author: Linas Vepstas Date: Wed May 23 04:18:04 2007 +1000 [POWERPC] pseries: asm/pci-bridge.h CONFIG_ minor cleanup Use the correct CONFIG_ option to mark off the EEH bits. Move the EEH bits to the bottom of the struct. The config_space array is used by EEH only; it does not need to be part of the struct for non-pseries machines. Signed-off-by: Linas Vepstas ---- Revised patch, per commments from Michael Ellerman. include/asm-powerpc/pci-bridge.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) Signed-off-by: Paul Mackerras commit 3f1df7a260aded4937e512872f3fbfdb9bc22c82 Author: Jon Tollefson Date: Fri May 18 04:49:22 2007 +1000 [POWERPC] Move common code out of if/else Move common code out of if/else. Signed-off-by: Jon Tollefson ---- hash_native_64.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Signed-off-by: Paul Mackerras commit 31fe5bf66a09c36e95b4c04291249b251b52f2d4 Author: Segher Boessenkool Date: Thu May 17 01:12:16 2007 +1000 [POWERPC] Fix VDSO compile warning Maybe the type should have been char[] instead of __u8[] in the first place, but this will do. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit f341973d9a48b0643b619debd8d9ab1e518ebc34 Author: Anton Blanchard Date: Wed May 16 05:59:06 2007 +1000 [POWERPC] Reserve threadinfo flags for perfmon2 Reserve two TIF flags for perfmon2 and shift them into the low 16 bits so we can use single assembly instructions to create constants based off them. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 3cdf552be228e1ca55f9c53a78f39e8b77d6159c Author: Zhang Rui Date: Wed Jun 13 21:24:02 2007 -0400 ACPI: Discard invalid elements in _PSS package Make sure that the _PSS list is sorted in descending order by typical power dissipation. http://bugzilla.kernel.org/show_bug.cgi?id=7880 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 288e4d838d1e999c0515f85a337cacb2be233071 Author: Dave Kleikamp Date: Wed Jun 13 10:17:50 2007 -0500 JFS: Update print_hex_dump() syntax Signed-off-by: Dave Kleikamp commit d3efbdd6c5e8c823b732df26a355ec931ccab374 Author: Paul Mundt Date: Mon Jun 11 15:57:42 2007 +0900 sh: Fix up the math-emu build. math-emu wasn't converted for the trap_no/errno_code changes, get it building again. Signed-off-by: Paul Mundt commit a1e2833d13db6c2f0456b20338f66c0b248f5367 Author: Paul Mundt Date: Mon Jun 11 15:56:31 2007 +0900 sh: Kill off broken dma page ops. There's no point in keeping these around, they've been broken for some time, and the dmaenging/async_tx framework provides a far more reasonable interface. Signed-off-by: Paul Mundt commit dd9505879c3381e98fc46f74cd8c17f0b23d0cd7 Author: Paul Mundt Date: Mon Jun 11 15:35:34 2007 +0900 fs: hugetlbfs: Disable for shnommu. SH can turn CONFIG_MMU on and off, don't let us get to a state where hugetlbfs/hugetlbpage gets built when building for nommu. Signed-off-by: Paul Mundt commit 9f9a5de4669902f80b6664baeba01595ffce3597 Author: Paul Mundt Date: Mon Jun 11 15:33:44 2007 +0900 sh: Fixup misaligned data for sh2 lockdep. lockdep/irqflags tracing on SH-2 ends up with a misaligned branch, fix it. Signed-off-by: Paul Mundt commit 357d59469c1179c30b8c425aba302346fac3594e Author: Paul Mundt Date: Mon Jun 11 15:32:07 2007 +0900 sh: Tidy up dependencies for SH-2 build. SH-2 can presently get in to some pretty bogus states, so we tidy up the dependencies a bit and get it all building again. This gets us a bit closer to a functional allyesconfig and allmodconfig, though there are still a few things to fix up. Signed-off-by: Paul Mundt commit 54039591cee40ef1f440f1245ed066c3e7d54a9a Author: Yoshihiro Shimoda Date: Mon Jun 11 10:26:56 2007 +0900 sh: Provide a defconfig for R7780MP. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 14bea95b84a3eedfe9e12f576d5f9f63f0f1b6ff Author: Paul Mundt Date: Mon Jun 11 10:18:45 2007 +0900 sh: Compile fix for SH7604 removal. There was a last remaining reference to CPU_SH7604 that broke the build, kill that off too. Signed-off-by: Paul Mundt commit 47d17763e987ebd5e9266fe3d9af3b22a64d27d8 Author: Hans-Christian Egtvedt Date: Fri Jun 8 11:03:01 2007 -0700 [WATCHDOG] at32ap700x-wdt: add iounmap if probe function fails Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit ff73231611127463ee94e72035f6a97f8435b39b Author: Hans-Christian Egtvedt Date: Fri Jun 8 11:01:47 2007 -0700 [WATCHDOG] at32ap700x-wdt: add missing iounmap in _remove Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 97a2a2ea1ad856d5375fecf689e253adca387602 Author: Andrew Morton Date: Thu Jun 7 16:08:53 2007 -0700 [WATCHDOG] watchdog-driver-for-at32ap700x-devices-fix-2 standard ifdef-reduction trick. Cc: Haavard Skinnemoen Cc: Hans-Christian Egtvedt Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit c37f271320d595f46beb5a0ab7833107f461f6b6 Author: Andrew Morton Date: Thu Jun 7 16:06:43 2007 -0700 [WATCHDOG] watchdog-driver-for-at32ap700x-devices-fix little fiddles. Cc: Haavard Skinnemoen Cc: Hans-Christian Egtvedt Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit a9cb3959ace112295fdb65c99a2928eedba06926 Author: Hans-Christian Egtvedt Date: Thu Jun 7 16:06:41 2007 -0700 [WATCHDOG] Watchdog driver for AT32AP700X devices Add support for the built in watchdog in AT32AP700X devices. Tested on AT32AP7000 and ATSTK1000. Hardware documentation can be found in the AT32AP7000 datasheet. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 072971d7d3e70ddac5c5be3436d929470cc2b3fb Author: Len Brown Date: Sat Jun 9 01:42:00 2007 -0400 ACPI: disable _OSI(Linux) by default In Linux-2.6.22 we expanded the boot parameter osi= so that it can enable and !enable an OSI string. _OSI(Linux) is a special case because we know that there are both systems that require it set, and systems require that it _not_ to be set. In the long term it can't be set, for the same reason _OS(Linux) can't be enabled -- it tends to confuse BIOS that are not properly validated with Linux. Further, the semantics and version information of _OSI(Linux) were never actually defined. The kernel prints out a message if it sees _OSI(Linux) requested, and there is a DMI workaround to invoke "osi=Linux" automatically for existing systems that need it. http://bugzilla.kernel.org/show_bug.cgi?id=7787 Signed-off-by: Len Brown commit 711be60522829beb82807de2867e56513934ebec Author: Robert P. J. Day Date: Fri Jun 8 11:56:31 2007 +0900 sh: Warn against direct inclusion of . Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mundt commit b9601c5e59dd25693345558a301e833741bf5874 Author: Paul Mundt Date: Fri Jun 8 11:55:28 2007 +0900 sh: Kill off dead SH7604 support. This was added during 2.5.x, but was never moved along. This can easily be resurrected if someone has one they wish to work with, but it's not worth keeping around in its current form. Signed-off-by: Paul Mundt commit 33d63bd83bf9aa6b662a376a96b825acba721e8f Author: Paul Mundt Date: Thu Jun 7 11:32:52 2007 +0900 sh: memory hot-add for sparsemem users support. This enables simple hotplug support for sparsemem users. Presently this only permits memory being added in to node 0 on ZONE_NORMAL. Signed-off-by: Paul Mundt commit 05a117847b43d44f336bbf272a1063661431a5e5 Author: Paul Mundt Date: Thu Jun 7 11:29:37 2007 +0900 sh: Fix up cpu to node mapping in sysfs. Currently cpu_to_node() is always 0 in the UP case, though we do want to have the CPU association linked in under sysfs even in the cases where we're only on a single CPU. Fix this up, so we have the cpu0 link on all of the available nodes that don't already have a CPU link of their own. Signed-off-by: Paul Mundt commit 5bbeafca8d5c64b6d9c6653993492d763be0918f Author: Paul Mundt Date: Wed Jun 6 19:05:11 2007 +0900 sh: Fix the SH7722 flatmem build. Signed-off-by: Paul Mundt commit 1300b1b1776475cd94685f5f61b83f84801e08e9 Author: Paul Mundt Date: Wed Jun 6 19:04:22 2007 +0900 sh: Make NUMA depend on sparsemem. The only platforms that are supporting NUMA are doing so via sparsemem, so update the dependency. Signed-off-by: Paul Mundt commit 520588f47f20a6dcaf81655e1da378e5fe6d5015 Author: Paul Mundt Date: Wed Jun 6 17:58:56 2007 +0900 sh: URAM node support for SH7722. This adds the URAM block on SH7722 as a separate node. Sparsemem is required for this, or it can simply be disabled by explicitly selecting a flatmem model. Signed-off-by: Paul Mundt commit b241cb0c885e55839fb0f93c6a4539c5416cc39f Author: Paul Mundt Date: Wed Jun 6 17:52:19 2007 +0900 sh: Support for multiple nodes. This adds basic support for multiple nodes on SH machines. This is primarily useful for boards with many different memory blocks that are otherwise unused (SH7722/SH7785 URAM and so forth). Signed-off-by: Paul Mundt commit 07cbb41b5308b92f29649254ff755e48ea60e24c Author: Paul Mundt Date: Wed Jun 6 12:23:06 2007 +0900 sh: Use asm/sections.h for linker section symbols. Kill off a bunch of externs, and use sections.h instead.. Signed-off-by: Paul Mundt commit 2de212ebd8d5c1a17e40bffcc7e434443105c4b8 Author: Paul Mundt Date: Wed Jun 6 12:09:54 2007 +0900 sh: Fix up max_zone_pfns[] with multiple nodes. Currently using multiple nodes tramples the ZONE_NORMAL max low pfn, tidy up the logic a bit to get it all working as expected. Signed-off-by: Paul Mundt commit cbd2d9d8fcd9d2a46d71d0703a76773c20383c66 Author: Paul Mundt Date: Mon Jun 4 15:46:56 2007 +0900 sh: Default to 4-byte alignment for SLUB objects. Slub currently defaults to 8-byte alignment for the kmalloc and slab minalign values, where 4 will suffice. In the slab case BYTES_PER_WORD == 4 already, so defining the minalign values outright doesn't cause any regressions there either. Signed-off-by: Paul Mundt commit f11b71e6578fbe8e059c51f5d2de223a3804507a Author: Paul Mundt Date: Mon Jun 4 14:37:04 2007 +0900 sh: Wire up mempolicy syscalls. Wire up mbind and get/set_mempolicy() in their reserved places. Signed-off-by: Paul Mundt commit b66d51cb8039cf80b8aa5b157ed055cdea811104 Author: Paul Mundt Date: Fri Jun 1 17:26:13 2007 +0900 sh: Tidy compiler warnings for SH-2A build. Signed-off-by: Paul Mundt commit 6240d92f2f2fb74094b66b3510733fa0a1e2631a Author: Paul Mundt Date: Fri Jun 1 17:25:42 2007 +0900 sh: Wrap CPU tuning through cc-option. Some compilers don't support the explicit CPU tuning, while binutils is still able to handle the special subtype-specific opcodes. Make the CFLAG optional, falling back on the compiler default if nothing better exists. Signed-off-by: Paul Mundt commit fa1ec92e1dcd4fa4be23db24e4c019c0e4194c89 Author: Paul Mundt Date: Fri Jun 1 17:23:14 2007 +0900 sh: Enable IPR-IRQ for SH7206. Signed-off-by: Paul Mundt commit 2826fa61c13716816c7ae658b8f1c5a4a505d8ac Author: Paul Mundt Date: Fri Jun 1 17:04:36 2007 +0900 sh: Mark sparsemem regions present earlier. We have to call in to sparse_memory_present_with_active_regions() earlier in order for sparsemem to be happy. This was being called too late, and was causing troubles with the platforms that needed to enable sparsemem. Signed-off-by: Paul Mundt commit d22d9b3a1d129349518c807e7997922f869e1f48 Author: Paul Mundt Date: Fri Jun 1 14:21:13 2007 +0900 sh: Register multiple nodes in topology_init(). If we have multiple nodes, register these at topology_init() time. Signed-off-by: Paul Mundt commit 91e656aacf52bcd3fbd199462032efec915fb654 Author: Paul Mundt Date: Fri Jun 1 14:19:22 2007 +0900 sh: Allow for bootmem debug support. Handy for debugging bootmem troubles. Signed-off-by: Paul Mundt commit dfbb9042801eaeb4df9015bb86224291a39a0f52 Author: Paul Mundt Date: Wed May 23 17:48:36 2007 +0900 sh: sparsemem support. This implements basic sparsemem support for SH. Presently this only uses static sparsemem, and we still permit explicit selection of flatmem. Those boards that want sparsemem can select it as usual. Signed-off-by: Paul Mundt commit 5900711ad7173b1cf3ee72eb21572e20b263ca0d Author: Paul Mundt Date: Wed May 23 17:40:56 2007 +0900 sh: pfn_valid() depends on flatmem. pfn_valid() is already defined in the sparsemem case, so we only need to define this for CONFIG_FLATMEM. Signed-off-by: Paul Mundt commit 678597be5e116516e9cfa806fc6ea6eb5de77d8f Author: Nobuhiro Iwamatsu Date: Wed May 23 12:56:24 2007 +0900 sh: Add L-BOX RE2 to mach-types. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 3a3c60fc0b4c2e3e6f037f68c84ddd9468b2a196 Author: Takashi YOSHII Date: Wed May 23 12:34:13 2007 +0900 sh: Align .machvec.init section on a 4-byte boundary. .machvec.init can be misaligned with the recent machvec changes, forcibly align it on the boundary that it expects, as before. Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt commit 05627486ab7f31ea09d8bb7a83582ca0185dc283 Author: Paul Mundt Date: Tue May 15 16:25:47 2007 +0900 sh: Fix SH-4 CPU selects. Now that select no longer works for selecting the "closest" CPU, we have to explicitly reference the precise sub-type in the few places where it actually matters (presently only setup code and some legacy sh-sci cruft). Signed-off-by: Paul Mundt commit fd8f20e8e2f8f1d9201086bff444c8d35f0a6a45 Author: Paul Mundt Date: Tue May 15 15:38:30 2007 +0900 sh: Rip out special unknown machvec. This kills off the BareCPU board as a "special" machvec, rather, we leave this as a default for when no other vector is available, or when we want to use it in combination with other vectors for testing with generic ops. As sh_mv is copied out anyways (or overloaded when an alternate vector is explicitly selected), this doesn't consume any additional memory. The generic machvec can be forcibly selected with sh_mv=generic, or by not having any other boards enabled. Signed-off-by: Paul Mundt commit 82f81f4784479df17a80caff4a7156da0a2f7dea Author: Paul Mundt Date: Tue May 15 15:19:34 2007 +0900 sh: Kill off machvec aliases. We now throw all of the machvecs in to .machvec.init and either select one on the command line, or copy out the first (and usually only) one to sh_mv. The rest are freed as usual. This gets rid of all of the silly sh_mv aliasing and makes the selection explicit rather than link-order dependent. Signed-off-by: Paul Mundt commit 25f8151bdcdd62c6b879e3669a562c0d329eee4a Author: Paul Mundt Date: Mon May 14 19:12:37 2007 +0900 sh: Get multiple boards in one image working again. This tidies up the build rules and permits multiple boards to be linked in to the same kernel. The earlier Kconfig work ensures that the CPU configuration is consistent across the boards, as this is the only thing that we can't do dynamically. Signed-off-by: Paul Mundt commit ba36197cf4ff68f631bb1b3d4cc442d567279fe3 Author: Paul Mundt Date: Mon May 14 17:48:00 2007 +0900 sh: Fixup cmdline handling from machvec changes. The command line wasn't being saved off properly after the machvec changes went in, fix it up. Signed-off-by: Paul Mundt commit f3d2229852697062d530f19742f0ab792b92873d Author: Paul Mundt Date: Mon May 14 17:29:12 2007 +0900 sh: Rework CPU/board dependencies. This was a big mess, rework the logic a bit so that we constrain to a particular subtype and figure out the board support based on that. This makes building subtype specific kernels supporting multiple boards possible again. Signed-off-by: Paul Mundt commit 882c12c4e1a95e55227f06dbb99eca90f237c018 Author: Paul Mundt Date: Mon May 14 17:26:34 2007 +0900 sh: Shut up SH2-DSP compile warnings. Signed-off-by: Paul Mundt commit 9655ad03af2d232c3b26e7562ab4f8c29b107e49 Author: Paul Mundt Date: Mon May 14 15:59:09 2007 +0900 sh: Fixup machvec support. This fixes up much of the machvec handling, allowing for it to be overloaded on boot. Making practical use of this still requires some Kconfig munging, however. Signed-off-by: Paul Mundt commit e08f457c7c0cc7720f28349f8780ea752c063441 Author: Paul Mundt Date: Mon May 14 12:52:56 2007 +0900 sh: __user annotations for __get/__put_user(). This adds in some more __user annotations. These weren't being handled properly in some of the __get_user and __put_user paths, so tidy those up. Signed-off-by: Paul Mundt commit 7a302a9674593259866de4a9d5ae8edc03dc1934 Author: Paul Mundt Date: Mon May 14 12:50:43 2007 +0900 sh: Split out CPU topology initialization. Split out the CPU topology initialization to a separate file, and switch it to a percpu type, rather than an NR_CPUS array. At the same time, switch to only registering present CPUs, rather than using the possible CPU map. Signed-off-by: Paul Mundt commit bb350d1decd9c48ffaa7f7e263df3056df9f4f21 Author: FUJITA Tomonori Date: Sat May 26 02:28:25 2007 +0900 [SCSI] ib_srp: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Roland Dreier Signed-off-by: James Bottomley commit f0002c4e1fe22d74a43d4ba3379257ee612e2724 Author: FUJITA Tomonori Date: Sat May 26 13:07:28 2007 +0900 [SCSI] mesh: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Paul Mackerras Signed-off-by: James Bottomley commit 209e101bf408a50acc426e32c8252daefacde5b0 Author: Dave Kleikamp Date: Wed Jun 6 16:30:17 2007 -0500 JFS: use print_hex_dump() rather than private dump_mem() function Signed-off-by: Dave Kleikamp commit e8666b2718fdb5bf0ea7c3126f7e292bbbf2946b Author: Joshua Hoblitt Date: Mon May 21 16:47:43 2007 -1000 [CPUFREQ] Kconfig powernow-k8 driver should depend on ACPI P-States driver powernow-k8 really needs to use ACPI to function on SMP systems. The current Kconfig allows us to build kernels which fail mysteriously for some users due to us trying to automatically enable this, and getting it wrong. It's easier to just present this as an option to the user. Signed-off-by: Joshua Hoblitt Signed-off-by: Dave Jones commit 275bc6b7f6429afb8d7a883c2e267547dd899066 Author: Rafał Bilski Date: Tue Jun 5 22:08:50 2007 +0200 [CPUFREQ] Longhaul - Replace ACPI functions with direct I/O Current version of "bm status" bit test works as long as no USB device is in use. When USB device is plugged in ACPI function in this context is always returning 1. Until reboot. Direct I/O is working fine even when many USB devices are connected. Change bm_timeout value to less annoying. 1000 is still much more then worst case observed and it is much better when status bit gets stuck. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit f720e3ba558680cc7dd3995d005bdc8ee2ef46af Author: Dave Kleikamp Date: Wed Jun 6 15:28:35 2007 -0500 JFS: Whitespace cleanup and remove some dead code Signed-off-by: Dave Kleikamp commit 10a29304f496ddef58473e6c53b5e66d9685536d Author: Wim Van Sebroeck Date: Mon Jun 4 19:13:28 2007 +0000 [WATCHDOG] Mixcom Watchdog - CodingStyle clean-up Small clean-up in line with CodingStyle guide-lines. Signed-off-by: Wim Van Sebroeck commit 27c7742e7ae089377f984cde608ba02d1c544a97 Author: Wim Van Sebroeck Date: Mon Jun 4 18:35:41 2007 +0000 [WATCHDOG] Mixcom Watchdog - clean-up printk's Clean-up printk's. Signed-off-by: Wim Van Sebroeck commit 1c067318a2357fffc04e082429f276a8f4075561 Author: Wim Van Sebroeck Date: Mon Jun 4 18:35:41 2007 +0000 [WATCHDOG] Mixcom Watchdog - clean-up printk's Clean-up printk's. Signed-off-by: Wim Van Sebroeck commit 21baf3c7c7fcef5004671f697789aea84854ca45 Author: Wim Van Sebroeck Date: Sun Jun 3 20:46:05 2007 +0000 [WATCHDOG] Mixcom Watchdog - checkcard part 2 Convert the mixcom and flashcom card checks to a single checkcard call by creating a new structure that contains all io-ports and their id's. This is part of the port to the isa watchdog device driver. Signed-off-by: Wim Van Sebroeck commit 4194db10fab1c9595f12b2846b6799417a8db4dd Author: Wim Van Sebroeck Date: Sun Jun 3 19:01:38 2007 +0000 [WATCHDOG] Mixcom Watchdog - checkcard Simplify the mixcomwd_checkcard and flashcom_checkcard functions to one checkcard function as part of the port to an isa watchdog device driver. Signed-off-by: Wim Van Sebroeck commit 63e6e17ead8f918889c63cc361de58a3f71f6115 Author: Wim Van Sebroeck Date: Sun Jun 3 15:39:25 2007 +0000 [WATCHDOG] Mixcom Watchdog - get rid of port offset's Get rid of the port offset's used for the mixcom and flashcom watchdog devices. Signed-off-by: Wim Van Sebroeck commit b10958d338d62a4157005b335799d1466567d59d Author: Wim Van Sebroeck Date: Sun Jun 3 15:22:32 2007 +0000 [WATCHDOG] Mixcom Watchdog - update "Documentation" Robert Radez started cleaning up the mixcomwd driver in 2002. All his changes have been incorporated. Since he owns that credit -> document it correctly. Signed-off-by: Wim Van Sebroeck commit a9e8bb5b60a9f5c10d38aebc13f8a3d2e1ffc0e7 Author: Robert P. J. Day Date: Mon May 28 14:51:29 2007 -0400 [WATCHDOG] Remove the redundant check for pwrite() in EP93XXX watchdog. Remove the redundant check for pwrite(), given that the open() routine already invokes nonseekable_open(). Signed-off-by: Robert P. J. Day Signed-off-by: Wim Van Sebroeck commit 4cf85459e0db0b2ffd6c4112594b695bdbcff10f Author: Robert P. J. Day Date: Mon May 28 14:55:06 2007 -0400 [WATCHDOG] Remove the redundant check for pwrite() in pnx4008 watchdog. Given that the open routine already calls nonseekable_open(), remove the redundant check for pwrite(). Signed-off-by: Robert P. J. Day Signed-off-by: Wim Van Sebroeck commit d8196ed2181b4595eaf464a5bcbddb6c28649a39 Author: Mike Christie Date: Wed May 30 12:57:25 2007 -0500 [SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx), and partial offload (broadcom). To be able to allow each stack or driver or port (virtual or physical) to be able to log into the same target portal we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session. This patch adds the netdev name, which is used by software iscsi when it binds a session to a netdevice using the SO_BINDTODEVICE sock opt. It cannot use HWADDRESS because if someone did vlans then the same netdevice will have the same mac and the initiator,target id will not be unique. Signed-off-by: Mike Christie Cc: Roland Dreier Cc: David C Somayajulu Signed-off-by: James Bottomley commit 2223696192c687f2853e42b7c1e0d3ef002081fd Author: Mike Christie Date: Wed May 30 12:57:24 2007 -0500 [SCSI] iscsi class, qla4xxx, iscsi_tcp: export local address This patch exports the local address for the session. For qla4xxx this is the ip of the hba's port. For software this is the src addr of the socket. Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit 4e7aba73f9f6e9fe6d3fa10d3fd63cd4882ba3d0 Author: Mike Christie Date: Wed May 30 12:57:23 2007 -0500 [SCSI] iscsi_tcp: fix fd leak This patch should fix the file descriptor leak problem. A quick look through the kernel shows that users of sockfd_lookup use sockfd_put to release their handle. We were using sock_release which from the comments and code look like it does not release the get() on the file from the lookup. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0ab823db869f1c9454c5b031a9b8f8812ccd0aa7 Author: Mike Christie Date: Wed May 30 12:57:22 2007 -0500 [SCSI] qla4xxx: add iscsi_transport capps for fw capacilities Userspace will want to know what the driver/FW/HW capabilites when it comes to some operations like if the hardware can do discovery or if it can store iscsi info like what target was used for boot. This patch adds some new caps so userspace can tell if the driver supports hardware/fw based sendtargets discovery and if the hardware has some flash which may be holding or can contain some iscsi target info . Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit d1d81c01f4bdd50577d9f89aa4a8e6344f63aa70 Author: Mike Christie Date: Wed May 30 12:57:21 2007 -0500 [SCSI] iscsi_tcp: remove DMA alignment restriction Add a slave_configure function to iSCSI TCP to remove any DMA alignment restriction. This permits the use of direct IO from arbitrary addresses. Signed-off-by: Pete Wyckoff Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit dbdb016d92603619d972082167c10b8c74e605cc Author: Mike Christie Date: Wed May 30 12:57:20 2007 -0500 [SCSI] iscsi_tcp: fix handling of data buffer padding If we got the padding, data and header in different skbs, we were not handling the padding correctly because we attributed it to the data's skb. This resulted in the initiator reading from pad bytes + skb offset instead of the correct offset. If you could not connect with the open solaris target, this will fix the lock up problem you were hitting. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 1548271ece9e9312fd5feb41fd58773b56a71d39 Author: Mike Christie Date: Wed May 30 12:57:19 2007 -0500 [SCSI] libiscsi: make can_queue configurable This patch allows us to set can_queue and cmds_per_lun from userspace when we create the session/host. From there we can set it on a per target basis. The patch fully converts iscsi_tcp, but only hooks up ib_iser for cmd_per_lun since it currently has a lots of preallocations based on can_queue. Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 77a23c21aaa723f6b0ffc4a701be8c8e5a32346d Author: Mike Christie Date: Wed May 30 12:57:18 2007 -0500 [SCSI] libiscsi: fix iscsi cmdsn allocation The cmdsn allocation and pdu transmit code can race, and we can end up sending a pdu with cmdsn 10 before a pdu with 5. The target will then fail the connection/session. This patch fixes the problem by delaying the cmdsn allocation until we are about to send the pdu. This also removes the xmitmutex. We were using the connection xmitmutex during error handling to handle races with mtask and ctask cleanup and completion. For ctasks we now have nice refcounting and for the mtask, if we hit the case where the mtask timesout and it is floating around somewhere in the driver, we end up dropping the session. And to handle session level cleanup, we use the xmit suspend bit along with scsi_flush_queue and the session lock to make sure that the xmit thread is not possibly transmitting a task while we are trying to kill it. Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 4d2fafd17a325b3f4f5f9edb1211bc7f4c311269 Author: Tear Date: Wed May 23 14:12:30 2007 -0700 ACPI: Remove Dell Optiplex GX240 from the ACPI blacklist I have a Dell Optiplex GX240 and when I boot Linux, ACPI gets set up by only acpi=ht. dmesg shows the following line: DELL GX240 detected: force use of acpi=ht Everything seemed to be fine. However, I discovered that everything is not fine. The USB controller works so slowly that copying a few (uncached) 1 megabyte large photos from a USB-enabled digital camera takes many minutes instead of a couple of seconds. I am using Linux 2.6.21.1 on a Debian 4.0 ("Etch") system. I thought that this might be related to ACPI. So I tried to boot with _only_ "acpi=force" appended to the kernel command line. Voila, the USB controller started to work at full speed and copying photos from my digital camera took only seconds. I tested the system with "acpi=force" and could not find anything which did not work. I thought that this might be related to interrupts and APIC as well. (Note that this is APIC, not ACPI.) I tried booting with _only_ "noapic" and "nolapic" appended to the command line. Again, the USB controller started to work at full speed. Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 3f8698d4d3f72252980575fb8d7b4cafeb5dd0a2 Author: Kristen Carlson Accardi Date: Wed May 23 14:12:29 2007 -0700 ACPI: bay: send envp with uevent Make the bay driver send env information on bay events. Upon any bay event, we will send the string "BAY_EVENT=%d" along with the KOBJ_CHANGE, and report the event number. What the event number means will be platform specific. Event 3 is always an eject request, but an insert may be either event 1, or it may be event 0. Event 1 may also be a remove request. It would be best if you check the number of your event with udevmonitor before writing any udev scripts for inserting and removing drive bays. Signed-off-by: Kristen Carlson Accardi Cc: Stephan Berberig Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit ff55a9cebab02403f942121e2f898bb06ecfffbb Author: Len Brown Date: Sat Jun 2 00:15:25 2007 -0400 ACPI: Lindent processor throttling code Signed-off-by: Len Brown commit 01854e697a77a434104b2f7e6d7fd463a978af32 Author: Luming Yu Date: Sat May 26 22:49:58 2007 +0800 ACPI: add ACPI 3.0 _TPC _TSS _PTC throttling support adds _TPC _TSS _PTC -- Throttling Present Capabilities Signed-off-by: Luming Yu Signed-off-by: Len Brown commit 218432c68085d6c2b04df57daaf105d2ffa2aa61 Author: Mike Christie Date: Wed May 30 12:57:17 2007 -0500 [SCSI] iscsi tcp: fix iscsi xmit state machine If iscsi_tcp partially sends a header, it would recalculate the header size and readd the size of the digest (if header digests are used).This would cause us to send sizeof(digest) extra bytes when we sent the rest of the header. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b2c6416736b847b91950bd43cc5153e11a1f83ee Author: Mike Christie Date: Wed May 30 12:57:16 2007 -0500 [SCSI] iscsi class, iscsi_tcp, ib_iser: add sysfs chap file The attached patches add sysfs files for the chap settings to the iscsi transport class, iscsi_tcp and ib_iser. This is needed for software iscsi because there are times when iscsid can die and it will need to reread the values it was using. And it is needed by qla4xxx for basic management opertaions. This patch does not hook in qla4xxx yet, because I am not sure the mbx command to use. Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 857ae0bdb72999936a28ce621e38e2e288c485da Author: Mike Christie Date: Wed May 30 12:57:15 2007 -0500 [SCSI] iscsi: Some fixes in preparation for bidirectional support - total_length - Remove shadow of request length from struct iscsi_cmd_task. - change all users to use scsi_cmnd->request_bufflen directly (With bidi we will use scsi-ml API to retrieve in/out length) Signed-off-by: Boaz Harrosh Signed-off-by: Benny Halevy Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit d473cc7f15f64ab8a90c3d7288ef30f46785d8d5 Author: Mike Christie Date: Wed May 30 12:57:14 2007 -0500 [SCSI] iscsi: Some fixes in preparation for bidirectional support - exp_datasn This patch fixes handling of expected datasn/r2tsn as received from target. It is done according to: T10 rfc3720 section 3.2.2.3. Data Sequencing. . unify expected datasn/r2tsn into one counter . calculate than check expected datasn/r2tsn. On error print a message and fail the request. (TODO use iscsi retransmits) . remove the FIXME ;) . avoid zero length memset Signed-off-by: Boaz Harrosh Signed-off-by: Benny Halevy Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8ad5781ae9702a8f95cfdf30967752e4297613ee Author: Mike Christie Date: Wed May 30 12:57:13 2007 -0500 [SCSI] iscsi class, qla4xxx, iscsi_tcp, ib_iser: export/set initiator name For iscsi root boot, software iscsi needs to know what the BIOS/OF initiator used for the initiator name so this puts it in sysfs for userspace to be able to pick up. For hw iscsi, it is nice to see what the card is using. This patch adds the new param, and hooks in qla4xxx, iscsi_tcp, and ib_iser. Signed-off-by: Mike Christie Cc: Roland Dreier Cc: David C Somayajulu Signed-off-by: James Bottomley commit 0801c242a33426fddc005c2f559a3d2fa6fca7eb Author: Mike Christie Date: Wed May 30 12:57:12 2007 -0500 [SCSI] libiscsi, iscsi_tcp, ib_iser : add sw iscsi host get/set params helpers iscsid and udev need to key off the hw address being used so add some helpers for iser and iscsi tcp. Also convert them Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 1d9bf13a9cf91f8faf221e98a64dd1157bcf5fa9 Author: Mike Christie Date: Wed May 30 12:57:11 2007 -0500 [SCSI] iscsi class: add iscsi host set param event The iscsi class uses the set_param event to set session and connection params. This patch adds a set_host_param so we can set host level values. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2174a04ee7d8304a270de183fbc58b36dd05b395 Author: Mike Christie Date: Wed May 30 12:57:10 2007 -0500 [SCSI] iscsi_transport, qla4xxx: have class lookup host for drivers We are going to be adding more host level sysfs attrs and set_params, so this patch has them take a scsi_host instead of either a scsi_host or host no. Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit aa1e93a2fe0392588220d491454e7752d0fdb251 Author: Mike Christie Date: Wed May 30 12:57:09 2007 -0500 [SCSI] qla4xxx: export mac as hw address Export mac as hw address. Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit 1819dc8143eff2a5850af274bcf8bcbc3e73ec76 Author: Mike Christie Date: Wed May 30 12:57:08 2007 -0500 [SCSI] iscsi_transport: export hw address Add hw address sysfs file. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 239a7dc2fea4d079bc3090b5514497a5ced400d3 Author: Mike Christie Date: Wed May 30 12:57:07 2007 -0500 [SCSI] iscsi_transport: Check iscsi interface skb allocation return value Let's not oops when we cannot allocate a skb! Add a check for if alloc_skb fails. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5c9cfeddbb49954b459fda91bf5479f5a0a4e409 Author: Salyzyn, Mark Date: Wed May 30 10:01:14 2007 -0400 [SCSI] aacraid: Changeable queue depth Inspired by Brian King's patch to the ibmvscsi driver. Adds support for a changeable queue depth to the aacraid driver. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 32fbac2256cedee62de5602b1703c15c150a6e14 Author: FUJITA Tomonori Date: Mon May 14 20:13:44 2007 +0900 [SCSI] megaraid: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Sumant Patro Signed-off-by: James Bottomley commit 155d98f072bbb4ffb5cefc7cecbba06df37699ab Author: FUJITA Tomonori Date: Sat May 26 05:04:08 2007 +0900 [SCSI] megaraid_sas: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Sumant Patro Signed-off-by: James Bottomley commit 3f6270ef76f2ce5c134615a470685d6c2a66c07e Author: FUJITA Tomonori Date: Mon May 14 20:17:27 2007 +0900 [SCSI] megaraid_old: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Sumant Patro Signed-off-by: James Bottomley commit 2b14ec787869707843a14164a3ba91930a076031 Author: Christoph Hellwig Date: Thu May 31 20:12:32 2007 +0200 [SCSI] esp: use shost_priv Signed-off-by: Christoph Hellwig Acked-by: David Miller Signed-off-by: James Bottomley commit bcd92c9fbcc679ee95003083056f0441a1f474fa Author: Christoph Hellwig Date: Thu May 31 20:12:26 2007 +0200 [SCSI] introduce shost_priv helper Currently accessing the scsi host private data is rather messy because it comes as an unsigned long that always needs a cast first. This patch introduces a helper that does the cast called shost_priv. It's similar in spirit to netdev_priv for network drivers. This is the first patch introducing the macro, and the second patch in the series will convert esp and it's subdrivers as an example. Further conversion will wait until the helper is in the tree to make patch juggling easier. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 10803de4c18e8e085573fd7153de3e64d4246af5 Author: FUJITA Tomonori Date: Sat May 26 02:08:10 2007 +0900 [SCSI] dpt_i2o: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori ACK. Code inspected. Driver changes NOT unit tested or compile tested. Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 385d70b4e2659ae525a00e46a9f97146949cfc14 Author: FUJITA Tomonori Date: Sat May 26 01:55:38 2007 +0900 [SCSI] qla2xxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit b1192d5ebab2f1664295a748b6ee6e89f3b07188 Author: FUJITA Tomonori Date: Thu May 31 15:24:03 2007 +0900 [SCSI] 3w-9xxx: eliminate missed map_single path This removes the remaining unnecessary map_single path Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 6edae708bf77e012d855a7e2c7766f211d234f4f Author: FUJITA Tomonori Date: Mon May 14 20:20:27 2007 +0900 [SCSI] 3w-xxxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Adam Radford Signed-off-by: James Bottomley commit 0debe01d3e26bb692c36c575514a124c29669cdd Author: FUJITA Tomonori Date: Sat May 26 02:33:31 2007 +0900 [SCSI] 3w-9xxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Adam Radford Signed-off-by: James Bottomley commit 7a960b76ed1878a208e8bc68fe436b40aaff3ab5 Author: Robert P. J. Day Date: Wed May 23 14:41:40 2007 -0700 [SCSI] gdth: Fix obvious typo "spin_lock_irqrestore()" Fix misspelled "spin_lock_irqrestore" to read "spin_unlock_irqrestore" instead. Presumably, GDTH_RTC doesn't get used a lot. Signed-off-by: Robert P. J. Day Acked-by: Achim Leubner Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 6c4b7e4fdf702136891f802bdf7ad52076594721 Author: David Rientjes Date: Wed May 23 14:41:52 2007 -0700 [SCSI] gdth: fix ambiguous gdthtable definition Labeling a variable as __attribute_used__ is ambiguous: it means __attribute__((unused)) for gcc <3.4 and __attribute__((used)) for gcc >=3.4. There is no such thing as labeling a variable as __attribute__((used)). We assume that we're simply suppressing a warning here if gdthtable[] is declared but unreferenced. Acked-by: Achim Leubner Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 2e91724658d5d6b5f10ad44c8742d7ec1f4833ed Author: FUJITA Tomonori Date: Sat May 26 02:12:48 2007 +0900 [SCSI] nsp32: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: GOTO Masanori Signed-off-by: James Bottomley commit 742d25b819f11dce91b89e6c9ac17402a119f20a Author: Brian King Date: Tue May 29 15:46:14 2007 -0500 [SCSI] ibmvscsi: Changeable queue depth Adds support for a changeable queue depth to ibmvscsi. Signed-off-by: Brian King Signed-off-by: James Bottomley commit d5587d5dcd275338af21627a3e931a77a6c04b8d Author: FUJITA Tomonori Date: Sat May 26 10:01:24 2007 +0900 [SCSI] stex: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Ed Lin Signed-off-by: James Bottomley commit 5f7186c841a13abff0bf81ee93754b4f46e19141 Author: FUJITA Tomonori Date: Sat May 26 14:08:20 2007 +0900 [SCSI] qla4xxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: David C Somayajulu Signed-off-by: James Bottomley commit 1928d73fac9a38be901dd5c9eb8b18b56ce9e18d Author: FUJITA Tomonori Date: Sat May 26 00:37:15 2007 +0900 [SCSI] fusion: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori Acked-by: Eric Moore Signed-off-by: James Bottomley commit 63015bc9333907725f90a1691d0ade44e51cdcbf Author: FUJITA Tomonori Date: Sat May 26 00:26:59 2007 +0900 [SCSI] ipr: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Brian King Signed-off-by: James Bottomley commit ce243823af4fee3ab82e1da6b710fbc5f859ad8c Author: Rafał Bilski Date: Mon May 28 21:58:09 2007 +0200 [CPUFREQ] Longhaul - Remove duplicate multipliers Remove duplicate multipliers in clock_ratio table. On 1,4GHz Nehemiah two frequencies are present twice in table. It isn't fatal, but with voltage scaling enabled each will be set twice. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 73e107d4a156affeed510cf5745177fd893878f1 Author: Rafał Bilski Date: Mon May 28 21:56:19 2007 +0200 [CPUFREQ] Longhaul - Embedded "conservative" Longhaul with voltage scaling enabled works great on Ezra CPU (Longhaul ver. 2). As long as "conservative" governor is used. Both "ondemand" and "userspace" can change voltage from min to max at once. Motherboard unfortunatly turns off when vid difference is big. Longhaul was printing warning message, but it is not enough. Now driver will have "conservative" governor built in and will split bigger changes to smaller ones. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 13424f6514f6444554a103362dd9d31eabbbdc54 Author: Venki Pallipadi Date: Wed May 23 15:42:13 2007 -0700 [CPUFREQ] acpi-cpufreq: Proper ReadModifyWrite of PERF_CTL MSR During recent acpi-cpufreq changes, writing to PERF_CTL msr changed from RMW of entire 64 bit to RMW of low 32 bit and clearing of upper 32 bit. Fix it back to do a proper RMW of the MSR. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0a4b2ccc555fa2ca6873d60219047104e4805d45 Author: Thomas Renninger Date: Mon May 21 07:20:04 2007 -0500 [CPUFREQ] check return value of sysfs_create_file Eliminate build warning (sysfs_create_file return value must be checked) Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 489dc5cb18932d3cedaef03e84890475db17a843 Author: Rafał Bilski Date: Thu May 17 22:39:02 2007 +0200 [CPUFREQ] Longhaul - Check ACPI "BM DMA in progress" bit It is good idea to wait for PCI bus to become idle before frequency change. Thanks to ACPI it is possible. It makes sense only when northbridge support is in use because it is only case in which we can disable arbiter after check if PCI bus is busy. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 1b11d4ca6d9d7ea3ace9d241e52cc5fe3cfe3d8f Author: Rafał Bilski Date: Thu May 17 22:36:42 2007 +0200 [CPUFREQ] Longhaul - Move old_ratio to correct place Move one line where it should be. After first transition Longhaul will skip frequency transition if destination frequency is already set. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 920dd0fbba1a7aa34c45b73699dcaf092850df51 Author: Rafał Bilski Date: Thu May 17 22:35:29 2007 +0200 [CPUFREQ] Longhaul - VT8237 support Looks like VT8237 has the same bits which VT8235 has. Poke registers if it is found. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 7d5edcc028f1bed2542a96edc2356e484f01ee47 Author: Rafał Bilski Date: Thu May 17 22:33:46 2007 +0200 [CPUFREQ] Longhaul - Use all kinds of support This patch is removing southbridge support as separate kind of support. Instead it is used to make other kinds of support more stable. Also northbridge and ACPI C3 support both will be used if both are available. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit c13e5566471d90ff2858f5cacaf27021d158e037 Author: FUJITA Tomonori Date: Sat May 26 02:46:37 2007 +0900 [SCSI] libsas: convert to use the data buffer accessors - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Darrick J. Wong Signed-off-by: James Bottomley commit 41ce639a1c50cb936f058f52f99f65740e3f550e Author: FUJITA Tomonori Date: Sat May 26 02:45:17 2007 +0900 [SCSI] cciss: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Mike Miller Signed-off-by: James Bottomley commit fb119935e11b98230f20c500e9f9125ddf0f3a4d Author: Eric Sesterhenn Date: Wed May 23 14:41:36 2007 -0700 [SCSI] sg: remove unnecessary check coverity spotted this (cid #758). All callers dereference sfp, so we dont need this check. In addition to this, we dereference it earlier in the function. Signed-off-by: Eric Sesterhenn Acked-by: Douglas Gilbert Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit deff2627cda995c926788fd9192337ec3febe7b5 Author: FUJITA Tomonori Date: Mon May 14 19:25:56 2007 +0900 [SCSI] arcmsr: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Nick Cheng Signed-off-by: James Bottomley commit 22c1a6600af920f4fef6d5cc51a8f04b58e9db83 Author: FUJITA Tomonori Date: Sat May 26 02:03:36 2007 +0900 [SCSI] aic7xxx_old: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Doug Ledford Signed-off-by: James Bottomley commit 85289f2efa108d1586a86d0c426ffc9d641bbdc2 Author: FUJITA Tomonori Date: Sat May 26 02:41:54 2007 +0900 [SCSI] tmscsim: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: Guennadi Liakhovetski Signed-off-by: James Bottomley commit 70c8d897763e19405a160de729e62a0e727150d2 Author: Adrian Bunk Date: Wed May 23 14:41:35 2007 -0700 [SCSI] advansys: cleanups - remove the unneeded advansys.h - remove the unused advansys_setup() - make needlessly global functions static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: Christoph Hellwig Signed-off-by: James Bottomley commit d7dea2cf80f0c9eea795b4012e4c86205dda9882 Author: FUJITA Tomonori Date: Mon May 14 20:00:04 2007 +0900 [SCSI] sbp2: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: Stefan Richter Signed-off-by: James Bottomley commit 6cad75a61d802c5f4f4299103b8f95aeb3ee9876 Author: Jeff Garzik Date: Sun May 27 08:52:12 2007 -0400 [SCSI] fdomain: fix PCMCIA-related warnings fdomain is one of those drivers that is compiled twice, once for PCMCIA and once for non-PCMCIA. The resultant two-driver setup leaves a bit of dead code and data in the non-PCMCIA case, which gcc complains about. Shuffle ifdefs a bit to eliminate the conditionally-dead code, and the compiler warnings. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 565bae6a4a8f16459e179ebf4421c1291cf88aa5 Author: Christoph Hellwig Date: Fri May 11 16:30:29 2007 +0200 [SCSI] 53c7xx: kill driver It's been more than enough time now to try to get the new m68k drivers into the tree. Let's remove the old ones and we can remerge the new glue once it's ready. Given that there are patches to rename two out of the three drivers in m68k CVS and all of them need a lot of codingstyle love anyway that's probably the better strategy to begin with. Signed-off-by: Christoph Hellwig Cc: Geert Uytterhoeven Cc: Kars de Jong Cc: linux-m68k@vger.kernel.org Signed-off-by: James Bottomley commit ddc914c741c1374dbb5fa288b5e283060c2a8488 Author: FUJITA Tomonori Date: Mon May 14 15:43:56 2007 +0900 [SCSI] BusLogic: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit bc1ebfba1a3a27122462fd342d11216e3faea53f Author: FUJITA Tomonori Date: Mon May 14 19:24:01 2007 +0900 [SCSI] qlogicfas408: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit fea97f9ab26a17c29eadc102c04b88776d6262d4 Author: FUJITA Tomonori Date: Mon May 14 19:24:58 2007 +0900 [SCSI] u14-34f: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit d17867135639bec1bce5b38d29e6fa4cfea050ea Author: FUJITA Tomonori Date: Mon May 14 19:26:29 2007 +0900 [SCSI] ultrastor: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e7d6cf55ea47684b704d67a6046044c29bad4824 Author: FUJITA Tomonori Date: Mon May 14 19:27:06 2007 +0900 [SCSI] wd7000: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 58e2a02eb18393e76a469580fedf7caec190eb5e Author: FUJITA Tomonori Date: Mon May 14 20:21:16 2007 +0900 [SCSI] eata: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit a258c85d0866d93b0c76e60fe236b6483a0d5680 Author: FUJITA Tomonori Date: Mon May 21 14:58:30 2007 +0900 [SCSI] initio: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c66cc13c16377d177d8887f15a3cc42ab3866f57 Author: FUJITA Tomonori Date: Mon May 14 20:26:06 2007 +0900 [SCSI] aha1740: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 985c0a7277760512c65bda2eb12c1c7213233eeb Author: FUJITA Tomonori Date: Mon May 14 20:26:37 2007 +0900 [SCSI] a100u2w: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e1eaf460098e4fd168908af4e6951f921951e916 Author: FUJITA Tomonori Date: Mon May 14 20:27:00 2007 +0900 [SCSI] fdomain: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 9482ef855ef42acb8259f95296b1e93bfb474e74 Author: FUJITA Tomonori Date: Wed May 16 05:34:05 2007 +0900 [SCSI] sym53c500_cs: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 772a5c3f3bbc7749971a3dd4ff35cd77a9e12201 Author: FUJITA Tomonori Date: Wed May 16 06:44:34 2007 +0900 [SCSI] sym53c416: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 03cde46b6bd74672bcb88a2f155aa3e3b6ff4fa1 Author: FUJITA Tomonori Date: Wed May 16 07:01:23 2007 +0900 [SCSI] NCR53c406a: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 646158c203ae8e76a44bb38634fc82f2da041824 Author: FUJITA Tomonori Date: Sat May 26 12:46:30 2007 +0900 [SCSI] mac53c94: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 5f60ef6ac7b6338ec9e82a0900185d554f476243 Author: FUJITA Tomonori Date: Mon May 21 15:10:00 2007 +0900 [SCSI] ibmmca: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 4c688fc7df61874997be4588c889e2248c4ca195 Author: FUJITA Tomonori Date: Sat May 26 02:02:34 2007 +0900 [SCSI] aic79xx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3a57c4a5aaee8d9d61b05d95d96f3fc4068b0518 Author: FUJITA Tomonori Date: Sat May 26 01:55:14 2007 +0900 [SCSI] aic7xxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3258a4d5690880a62121553b604893ecaca7d042 Author: FUJITA Tomonori Date: Mon May 14 19:12:55 2007 +0900 [SCSI] 53c700: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 824d7b570b4dec49e868c251d670941b02a1e489 Author: FUJITA Tomonori Date: Sat May 26 14:04:03 2007 +0900 [SCSI] scsi_lib: add scatter/gather data buffer accessors This adds a set of accessors for the scsi data buffer. This is in preparation for chaining sg lists and bidirectional requests (and possibly, the mid-layer dma mapping). Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 9ef3e4a4527e1f65b8776287c6d4fd1fca5ba98f Author: James Smart Date: Thu May 24 19:04:44 2007 -0400 [SCSI] fc_transport: fix sysfs deadlock on vport delete When the vport attribute "delete" is used to delete the vport, sysfs deadlocks waiting for the write to complete, which is waiting for the sysfs teardown to complete. Moved this effort to a work_q element. Took the opportunity to make some other cosmetic changes: - removed tabs in Doc file - replaced with expanded spaces - minor copyright text and author text updates - removed a bunch of trailing whitespace Signed-off-by: James Smart Signed-off-by: James Bottomley commit bee4fe8e63ea1985f3955323dbc98b6d6bd5c6f8 Author: David C Somayajulu Date: Wed May 23 18:03:32 2007 -0700 [SCSI] qla4xxx: ql4_os.c bugfixes Free memory resources after invoking free_irq() in qla4xxx_free_adapter(). QLA4xxx has two pci functions per port (Ethernet and iSCSI). When one of these PCI functions issues a HBA reset, all other functions are notified and need to acknowledge and re-initialize. During module qla4xxx_remove_adapter() gets invoked. This function needs to wait if it is currently responding to a reset from another function. Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c0e344c9b7971996e4fe409d7b8ba9ceb7b7583d Author: David C Somayajulu Date: Wed May 23 18:03:27 2007 -0700 [SCSI] qla4xxx: ql4_mbx.c remove dead code bugfixes All all inbound mbx registers for all mbx commands. Remove dead code. Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 401425b1ea005b39dcc544bffea833f338ba84f6 Author: David C Somayajulu Date: Wed May 23 18:03:20 2007 -0700 [SCSI] qla4xxx: ql4_isr.c support for new mbx cmds Add support to log all AENs and service mbx cmd completions for QLA4032 Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e08c182cba87180d7c1e7530dd690a5f6894c412 Author: David C Somayajulu Date: Wed May 23 18:14:34 2007 -0700 [SCSI] qla4xxx: update rev num and misc cleanup Clean up and update version number Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 92b7273608da2c681f54fd36d182a582673ed260 Author: David C Somayajulu Date: Wed May 23 17:55:40 2007 -0700 [SCSI] qla4xxx: ql4_init.c bugfixes In qla4xxx_get_ddb_entry() and qla4xxx_add_device_dynamically() differentiate between a target which has been newly added vs a target which went offline temporarily and is online again. In qla4xxx_build_ddb_list() firmware ddb state needs to be updated by calling qla4xxx_get_ddb_entry(). Fix qla4x00_pci_config() and clean up code. Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b2854316574d1fa2f1b85ad336d4a88aee5dd140 Author: David C Somayajulu Date: Wed May 23 17:52:26 2007 -0700 [SCSI] qla4xxx: ql4_fw.h add support for qla4032 Add support for QLA4032 which supports IPv6 Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5c8bfc9449b64b3726262bcaa914eeeafdd47ed3 Author: David C Somayajulu Date: Wed May 23 17:50:55 2007 -0700 [SCSI] qla4xxx: ql4_def.h log all AENs and cleanup Add support for logging all AENs and clean up Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0187106664e1bbc1a17398e6125b8206d6c7079d Author: David C Somayajulu Date: Wed May 23 17:46:00 2007 -0700 [SCSI] qla4xxx: ql4_dbg.c remove dead code Remove dead code Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit de5952e91caf41bd838a787c7b9b6ca2e1292484 Author: Martin Bligh Date: Wed May 23 16:11:46 2007 -0700 [SCSI] megaraid: fix compiler warnings The user ioctl mailbox can only support a 32 bit address for the commands structure. This is fine, since the area it's pointing to is allocated with pci_alloc_consistent(), so it should be physically < 4GB. Thus kill the ptr to u32 conversion warnings on 64 bit. Signed-off-by: Martin J. Bligh Signed-off-by: Andrew Morton Acked-by: "Patro, Sumant" Signed-off-by: James Bottomley commit c6a6c81cfdd0f9b95bf215d1b5626f4dbf1aba7d Author: Adrian Bunk Date: Wed May 23 14:41:46 2007 -0700 [SCSI] ips: remove kernel 2.4 code Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 6a31a8a651c1d671afc2438cbecb3ee3d610fac8 Author: Adrian Bunk Date: Wed May 23 14:41:46 2007 -0700 [SCSI] nsp32: remove kernel 2.4 code Signed-off-by: Adrian Bunk Acked-by: GOTO Masanori Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 702809ce9b1e91400826ec2ff203c06fdad36034 Author: Andrew Morton Date: Wed May 23 14:41:56 2007 -0700 [SCSI] ncr5380 warning fixes squish these: drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:633: warning: 'NCR5380_print_options' defined but not used drivers/scsi/NCR5380.c:708: warning: 'NCR5380_proc_info' defined but not used drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:579: warning: 'NCR5380_probe_irq' defined but not used drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:708: warning: 'notyet_generic_proc_info' defined but not used drivers/scsi/NCR5380.c:708: warning: 'notyet_generic_proc_info' defined but not used Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 476834c25a04025d895f64d42affcd31bfb318cc Author: Jeff Garzik Date: Wed May 23 14:41:44 2007 -0700 [SCSI] aacraid,qla2xxx: use irq_handler_t where appropriate Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Acked-by: "Salyzyn, Mark" Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 730a646ddfea239aa9f6b732d5c10118f6801bc1 Author: Amol Lad Date: Wed May 23 14:41:37 2007 -0700 [SCSI] NCR5380: Replace yield() with a better alternative Replaced yield() with cond_resched() Signed-off-by: Amol Lad Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 355dfa1bc8026d185678fed4e409719a595b2d39 Author: James Bottomley Date: Tue May 22 14:43:14 2007 -0500 [SCSI] scsi_error: send the sense buffer down without copying Now that the block submission path correctly bounces, we can simply use the command sense_buffer to send to retrieve sense information and junk the unnecessary page allocation. Signed-off-by: James Bottomley commit a6123f142924a5e21f6d48e6e3c67d9060726caa Author: Bernhard Walle Date: Mon May 21 17:15:26 2007 +0200 [SCSI] sd: remove __GFP_DMA After 821de3a27bf33f11ec878562577c586cd5f83c64, it's not necessary to alloate a DMA buffer any more in sd.c. Signed-off-by: Bernhard Walle Signed-off-by: James Bottomley commit 352e921f0dd42f79652cdb50dd91122d068d7209 Author: Thomas Bogendoerfer Date: Tue May 22 10:13:19 2007 +0200 [SCSI] jazz_esp: converted to use esp_core Use new esp_scsi for JAZZ SCSI host adapter driver Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 72d39fea9017bbb1407620bf89dfe8d1fb658e35 Author: Alan Cox Date: Mon May 21 15:06:43 2007 +0100 [SCSI] initio: Convert into a real Linux driver and update to modern style This is a mix of a grand clean up I did and a reworking of the hotplug support by Christoph. In testing it works as well as the previous code did (that is -quite badly-) but we can now read it and as it settles in actually debug the long standing problems it shares with the old driver. Signed-off-by: Alan Cox From Christoph: removal of the BSD license is also fine with me, but should really get a mention in the changelog aswell. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 9d399cc7feac3faf66768566e04e16c750aad25f Author: Salyzyn, Mark Date: Fri May 18 14:51:34 2007 -0400 [SCSI] aacraid: add support for FUA Back in the beginning of last year we disabled mode page 8 and mode page 3f requests through device quirk bits instead of enhancing the driver to respond to these mode pages because there was no apparent added value. The Firmware that supports the new communication commands supports the ability to force a write around of the adapter cache on a command by command basis. In the attached patch we enable mode page 8 and 3f and spoof the results as needed in order to *convince* the layers above to submit writes with the FUA (Force Unit Attention) bit set if the file system or application requires it, if the Firmware supports the write through, or instead to submit a SYNCHRONIZE_CACHE if the Firmware does not. The added value here is for file systems that benefit from this functionality and for clustering or redundancy scenarios. Caveats: By convince, we are responding with a minimal short 3 byte content mode page 8, with only the data the SCSI layer needs and that we can fill confidently. Applications that require the customarily larger mode page 8 results may be confused by this(?). The FUA, or the SYNCHRONIZE_CACHE only affect the cache on the controller. Our firmware by default ensure that the underlying physical drives of the array have their cache turned off so normally this is not a problem. This attached patch is against current scsi-misc-2.6 and was unit tested on RHEL5. Since this is a feature enhancement, it should not be considered for any current stabilization efforts. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 0f06bb34f2dcd0c72aac7777995ef7cb733496e8 Author: Christoph Hellwig Date: Sun May 13 17:52:12 2007 +0200 [SCSI] aha152x: use wait_for_completion_timeout Use wait_for_completion_timeout instead a semaphore + timer. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 1dfcda06a67d6ad6f890dbd1bab84be5f17ef46d Author: Tejun Heo Date: Wed Mar 21 16:05:16 2007 +0900 [SCSI] kill scsi host template suspend/resume With libata converted to use sdev->manage_start_stop for suspend and resume, sht->suspend/resume() has no user left and low level suspend/ressume should be taken care of by low level driver's suspend/resume callbacks (e.g. PCI or PCMCIA driver callbacks). This patch removes sht->suspend/resume() callbacks. This change is suggested by Christoph Hellwig. Signed-off-by: Tejun Heo Cc: Christoph Hellwig Signed-off-by: James Bottomley commit 67b2009ae26ece6a54d0b689827903f53d6d21e6 Author: James Bottomley Date: Thu May 3 11:13:08 2007 -0500 [SCSI] ibmmca: convert to new probing API and fix oopses This is basically a straight conversion. I have one of these things, so I know it works ... my problem is that it has a wierd SCA like connector, so I can't connect anything to it (no cables). However, previously it panic'd in the interrupt, now it completes a bus scan. Signed-off-by: James Bottomley commit 904f7a3f042b5c6aa9e53ce83f2c9de5e33170ff Author: Dave Jones Date: Fri May 18 13:22:28 2007 -0400 [CPUFREQ] powernow-k8: clarify number of cores. Indicate number of processors and cores more cleanly in startup messages. Signed-off-by: Mark Langsdorf Signed-off-by: Dave Jones commit a53eb5e060c0ec7245c8f93b9dcd94afa6041e06 Author: James Smart Date: Fri Apr 27 12:41:09 2007 -0400 [SCSI] FC Transport support for vports based on NPIV This patch provides support for FC virtual ports based on NPIV. For information on the interfaces and design, please read the Documentation/scsi/scsi_fc_transport.txt file enclosed within the patch. The RFC was originally posted here: http://marc.info/?l=linux-scsi&m=117226959918393&w=2 Changes from the initial RFC: - Bug fix: needed a transport_class_unregister() for the vport class - Create a symlink to the vport in the shost device if it is not the parent of the vport. - Made symbolic name writable so it can be set after creation - Made the temporary fc_vport_identifiers struct private to the transport. - Deleted the vport_id field from the vport. I couldn't find any good use for it (and symname is a good replacement). - Made the vport_state and vport_last_state "private" attributes. Added the fc_vport_set_state() helper function to manage state transitions - Updated vport_create() to allow a vport to be created in a disabled state. - Added INITIALIZING and FAILED vport states - Added VPCERR_xxx defines for errors to be returned from vport_create() - Created a Documentation/scsi/scsi_fc_transport.txt file that describes the interfaces and expected LLDD behaviors. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 78490d82129f7331d1366737c8704c1c053221a3 Author: Alexey Starikovskiy Date: Fri May 11 13:18:55 2007 -0400 ACPI: battery: syntax cleanup In response to review comments from Andrew Morton Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1f9767df1346c9ce09d6e51b9f34b851e3d94fad Author: Kristen Carlson Accardi Date: Wed May 9 15:55:53 2007 -0700 ACPI: bay: unsuppress uevents Since platform devices seem to get uevents suppressed by default, manually unsuppress for the bay device since we want to be able to send uevents. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 79a8f70b4b9127eacfc91dd1436c4a7be05e62ab Author: Kristen Carlson Accardi Date: Wed May 9 15:10:22 2007 -0700 ACPI: dock: send envp with uevent Send an env along with our KOBJ_CHANGE uevent so that user space has the option of checking for that to see if a dock or undock has occurred. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 9ef2a9a9f08722998540ed2ff38bccd0c54344c8 Author: Kristen Carlson Accardi Date: Wed May 9 15:09:12 2007 -0700 ACPI: dock: unsuppress uevents Platform devices may not send uevents by default - override the setting so that we can send uevents on dock/undock. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit a0cd35fdca0bb711854edeaf016cec6cdf82eeca Author: Kristen Carlson Accardi Date: Wed May 9 15:08:15 2007 -0700 ACPI: dock: add immediate_undock option Allow the driver to be loaded with an option that will allow userspace to control whether the laptop is ejected immediately when the user presses the button, or only when the syfs undock file is written. if immediate_undock == 1, then when the user presses the undock button, the laptop will send an event to userspace to notify userspace of the undock, but then immediately undock without waiting for userspace. This is the current behavior, and I set this to be the default. if immediate_undock == 0, then when the user presses the undock button, the laptop will send an event to userspace and do nothing. User space can query the "flags" sysfs entry to determine if an undock request has been made by the user (if bit 1 is set). User space will then need to write the undock sysfs entry to complete the undocking process. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 0f6f2804563eee64f0fc7cbcb009b98b6f332af6 Author: Kristen Carlson Accardi Date: Wed May 9 15:07:04 2007 -0700 ACPI: dock: use dynamically allocated platform device Get rid of no release function warnings by switching to dynamically allocating the platform_device and using the platform device release routine in the base driver. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 22fe4c2114e29477ca6738729c074ee8f60d3b73 Author: Chuck Ebbert Date: Wed May 9 15:05:48 2007 -0700 ACPI: dock: fix opps after dock driver fails to initialize The driver tests the dock_station pointer for nonnull to check whether it has initialized properly. But in some cases dock_station will be non-null after being freed when driver init fails. Fix by zeroing the pointer after freeing. Signed-off-by: Chuck Ebbert Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 38ff4ffc039ba5a5878f2dcbb03d87c3a1f02f1b Author: Kristen Carlson Accardi Date: Wed May 9 15:04:24 2007 -0700 ACPI: dock: cleanup the uid patch Make uid sysfs file error path free memory, and cleanup sysfs file when removing driver. Also fix CodingStyle violations. Signed-off-by: Kristen Carlson Accardi Cc: Illya A. Volynets-Evenbakh Signed-off-by: Len Brown commit 23b0f015bf2c050b8b5399430ca64e1b3398cf76 Author: Luming Yu Date: Wed May 9 21:07:05 2007 +0800 ACPI: video: output switch sysfs support Requires CONFIG_VIDEO_OUTPUT_CONTROL and CONFIG_ACPI_VIDEO. After loading output.ko and video.ko, you would have /sys/class/video_output and several device acpi_videoNum there. For example, I got acpi_video0, acpi_video1,acpi_video2,and acpi_video3 under /sys/class/video_output on my T40. I can query the status of output device0 by running " cat /sys/class/video_output/acpi_video0 " The return value is defined in ACPI SPEC B.5.5 _DCS(Return the Status of Output Device). Also you can turn off video1 and turn on video0 by " echo 0 > acpi_video1; echo 0x80000000 > acpi_video0". Please reference ACPI SPEC B.5.7 _DSS for the parameter definition. Please note that it may or may NOT works purely depending on if your vendor providing correct ACPI video extension support in bios. the driver output.ko and video.ko just works like a interface to invoke BIOS. Signed-off-by: Luming Yu Signed-off-by: Len Brown commit 6eedeef73e7fff32eb5fa25178c3c77b1db0ec0f Author: Vladimir Lebedev Date: Sat Apr 21 22:41:48 2007 -0400 process reading battery status hangs http://bugzilla.kernel.org/show_bug.cgi?id=8351 Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit 9ea7d57576f40c6af03c8c9fa7a069f2222b498b Author: Vladimir Lebedev Date: Tue Feb 20 15:48:06 2007 +0300 ACPI: battery: Lindent Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit b6ce4083ed8e2a01a3a59301eabe0fc1e68a8a84 Author: Vladimir Lebedev Date: Tue Feb 20 15:48:06 2007 +0300 ACPI: Cache battery status instead of re-evaluating AML /proc exports _BST in a single file, and _BST is re-evaulated whenever that file is read. Sometimes user-space reads this file frequently, and on some systems _BST takes a long time to evaluate due to a slow EC. Further, when we move to sysfs, the values returned from _BST will be in multiple files, and evaluating _BST for each file read would make matters worse. Here code is added to support caching the results of _BST. A new module parameter "update_time" tells how many seconds the cached _BST should be used before it is re-evaluated. Currently, update_time defaults to 0, and so the existing behaviour of re-evaluating on each read retained. Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit a1f0eff21edac1bd87e397f56c4258b9611b5a50 Author: Vladimir Lebedev Date: Tue Feb 20 15:48:06 2007 +0300 ACPI: battery: make internal names consistent with battery "state" Cleanup -- No functional changes. Battery state is currently exported in a proc "state" file. Update associated #defines and routines to be consistent. Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown